about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/unix')
-rw-r--r--REORG.TODO/sysdeps/unix/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/Makefile112
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/Makefile4
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/getegid.S26
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/geteuid.S26
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/getppid.S26
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/pipe.S31
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/rt-sysdep.S1
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/sysdep.S65
-rw-r--r--REORG.TODO/sysdeps/unix/alpha/sysdep.h382
-rw-r--r--REORG.TODO/sysdeps/unix/arm/sysdep.S63
-rw-r--r--REORG.TODO/sysdeps/unix/arm/sysdep.h29
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/Makefile3
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/Versions6
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/bits/signum.h73
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/bits/sockaddr.h45
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/bsdtty.h218
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/cmsg_nxthdr.c2
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/ftime.c40
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/getpt.c91
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/gtty.c26
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/sigblock.c1
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/sigsetmask.c1
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/stty.c26
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/syscalls.list15
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcdrain.c27
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcflow.c55
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcflush.c48
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcgetattr.c38
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcgetpgrp.c33
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcsendbrk.c53
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcsetattr.c59
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/tcsetpgrp.c28
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/ualarm.c40
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/unlockpt.c36
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/wait.c32
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/wait3.c33
-rw-r--r--REORG.TODO/sysdeps/unix/bsd/waitpid.c42
-rw-r--r--REORG.TODO/sysdeps/unix/clock_gettime.c136
-rw-r--r--REORG.TODO/sysdeps/unix/clock_nanosleep.c101
-rw-r--r--REORG.TODO/sysdeps/unix/clock_settime.c126
-rw-r--r--REORG.TODO/sysdeps/unix/confstr.h1
-rw-r--r--REORG.TODO/sysdeps/unix/get_child_max.c36
-rw-r--r--REORG.TODO/sysdeps/unix/getlogin.c81
-rw-r--r--REORG.TODO/sysdeps/unix/getlogin_r.c103
-rw-r--r--REORG.TODO/sysdeps/unix/getpagesize.c39
-rw-r--r--REORG.TODO/sysdeps/unix/grantpt.c260
-rw-r--r--REORG.TODO/sysdeps/unix/i386/sysdep.S64
-rw-r--r--REORG.TODO/sysdeps/unix/i386/sysdep.h35
-rw-r--r--REORG.TODO/sysdeps/unix/ifreq.c79
-rw-r--r--REORG.TODO/sysdeps/unix/inet/Subdirs8
-rw-r--r--REORG.TODO/sysdeps/unix/make-syscalls.sh321
-rw-r--r--REORG.TODO/sysdeps/unix/mips/entry.h5
-rw-r--r--REORG.TODO/sysdeps/unix/mips/mips32/sysdep.h56
-rw-r--r--REORG.TODO/sysdeps/unix/mips/mips64/n32/sysdep.h64
-rw-r--r--REORG.TODO/sysdeps/unix/mips/mips64/n64/sysdep.h64
-rw-r--r--REORG.TODO/sysdeps/unix/mips/pipe.S32
-rw-r--r--REORG.TODO/sysdeps/unix/mips/rt-sysdep.S1
-rw-r--r--REORG.TODO/sysdeps/unix/mips/sysdep.S100
-rw-r--r--REORG.TODO/sysdeps/unix/mips/sysdep.h85
-rw-r--r--REORG.TODO/sysdeps/unix/powerpc/sysdep.h24
-rw-r--r--REORG.TODO/sysdeps/unix/s-proto-cancel.S5
-rw-r--r--REORG.TODO/sysdeps/unix/s-proto.S4
-rw-r--r--REORG.TODO/sysdeps/unix/setxid.h4
-rw-r--r--REORG.TODO/sysdeps/unix/sh/sysdep.S116
-rw-r--r--REORG.TODO/sysdeps/unix/sh/sysdep.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sockatmark.c28
-rw-r--r--REORG.TODO/sysdeps/unix/stime.c39
-rw-r--r--REORG.TODO/sysdeps/unix/syscall-template.S90
-rw-r--r--REORG.TODO/sysdeps/unix/syscall.S29
-rw-r--r--REORG.TODO/sysdeps/unix/syscalls.list100
-rw-r--r--REORG.TODO/sysdeps/unix/sysdep.h132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/Implies9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/Makefile212
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/Versions175
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/_G_config.h59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/_exit.c42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/a.out.h138
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist2105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist462
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S130
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c70
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h207
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h134
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h297
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/accept.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/accept4.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/access.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/adjtime.c92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aio_misc.h68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aio_sigqueue.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/Implies5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/Makefile46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/Versions113
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S144
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/a.out.h197
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/adjtime.c94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/aio_cancel.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/arch-fork.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/a.out.h9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/dirent.h57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/epoll.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/errno.h65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/inotify.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ipc.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/mman.h66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/msq.h74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/netdb.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/resource.h265
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sem.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/shm.h100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signum.h81
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/stat.h160
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/statfs.h68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/termios.h223
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h76
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/brk.S84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/clone.S120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure.ac5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-auxv.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-brk.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-support.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstat.c58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstatat.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/getclktck.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/getcontext.S187
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/gethostname.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/getsysstats.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/glob.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ioperm.c882
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ipc_priv.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel-features.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_stat.h89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_termios.h43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ld.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libc.abilist2503
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libm.abilist622
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libpthread.abilist259
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/librt.abilist56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/localplt.data37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/lxstat.c58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/makecontext.S163
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/oldglob.c99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/pipe.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/pt-vfork.S43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/register-dump.h156
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/select.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/setcontext.S34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/setfpucw.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/shlib-versions14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigaction.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigprocmask.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sizes.h23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/statfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/swapcontext.S50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/acct.h63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/io.h94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/procfs.h127
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/user.h52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscall.S70
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscalls.list45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysconf.c127
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h174
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep.h96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_create.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_delete.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_gettime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_settime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/vfork.S41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/wordexp.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstat.c58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.c120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.h22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/Makefile69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/Versions19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S90
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/alphasort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/arm-features.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/atomic-machine.h107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/fcntl.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/hwcap.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/mman.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/shm.h103
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/brk.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/clone.S84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-cache.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-machine.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.c66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.h93
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/getcontext.S115
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/glob64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/init-first.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/ioperm.c183
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/kernel-features.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/ldconfig.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/ldsodefs.h73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-vdso.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libc.abilist2154
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libm.abilist432
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libpthread.abilist228
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libresolv.abilist93
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/librt.abilist42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/localplt.data19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/makecontext.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/profil-counter.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/readahead.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/readelflib.c79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/register-dump.h136
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/scandir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/setcontext.S111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/shlib-versions9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sigaction.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sigrestorer.S84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/swapcontext.S63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/elf.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/io.h47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/procfs.h122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/ucontext.h114
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/user.h71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/syscall.S48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/syscalls.list33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h241
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.S33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.h442
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/tls.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/ucontext_i.sym30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/umount.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/versionsort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/vfork.S59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/arm/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bind.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/a.out.h7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/dirent.h57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/epoll.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/errno.h66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/eventfd.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl-linux.h411
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl.h3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/in.h256
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/initspin.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/inotify.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctl-types.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctls.h108
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/ipc.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/local_lim.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/mqueue.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/msq.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/param.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/poll.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/posix_opt.h191
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/resource.h327
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sched.h211
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sem.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/shm.h103
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sigaction.h78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sigcontext.h37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sigevent-consts.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-arch.h7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts.h187
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/signalfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/signum.h79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/socket.h447
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/socket_type.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/ss_flags.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/stat.h172
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/statfs.h69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/statvfs.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sys_errlist.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/sysctl.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/termios.h219
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/time.h83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/timerfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/timex.h110
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/types/__sigset_t.h10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/types/sigevent_t.h48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h151
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/types/stack_t.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/uio.h78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/utsname.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/bits/waitflags.h37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/check_native.c177
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/check_pf.c391
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock_getcpuclockid.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock_getres.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock_gettime.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock_nanosleep.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/clock_settime.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/close.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/cmsg_nxthdr.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/configure166
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/configure.ac122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/connect.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/creat.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/creat64.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/createthread.c152
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/default-sched.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/device-nrs.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-brk.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-execstack.c67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-fxstatat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-getcwd.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-librecon.h60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-openat64.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-opendir.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-origin.c80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-osinfo.h79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-sbrk.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.c132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.h53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/dl-writev.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/epoll_pwait.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/epoll_wait.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/errqueue.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/eventfd_read.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/eventfd_write.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/exit-thread.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/faccessat.c71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fallocate.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fallocate64.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fatal-prepare.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fchmodat.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fcntl.c85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fd_to_filename.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fdatasync.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fexecve.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fips-private.h74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fpathconf.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fstatfs64.c92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs64.c68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fsync.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ftime.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ftruncate.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ftruncate64.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/futex-internal.h251
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/futimens.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/futimes.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/futimesat.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fxstat.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fxstat64.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fxstatat.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/fxstatat64.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/gai_sigqueue.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/Makefile3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/README11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/____longjmp_chk.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/fcntl.h56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/msq.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/sem.h92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/shm.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/stat.h171
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/statfs.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/typesizes.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/brk.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/chmod.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/chown.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/dl-origin.c81
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/dup2.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/epoll_create.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/futimesat.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents64.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/inotify_init.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/kernel_stat.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/lchown.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/link.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/lxstat.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/mkdir.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/pipe.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink_chk.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/rmdir.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/symlink.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/syscalls.list12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/sysctl.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/sysdep.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/umount.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/unlink.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/ustat.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/utimes.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c115
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/xmknod.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/generic/xstat.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getclktck.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getcwd.c135
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getdents.c272
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getdents64.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getdirentries.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getdirentries64.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getdtsz.c21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getentropy.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/gethostid.c118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getipv4sourcefilter.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getloadavg.c68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getlogin.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getlogin_r.c120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getpagesize.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getpeername.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getpriority.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getpt.c101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getrandom.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getrlimit.c56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getrlimit64.c87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getsockname.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getsockopt.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getsourcefilter.c146
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/getsysstats.c330
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/gettimeofday.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/grantpt.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/Makefile4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/Versions38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/arch-fork.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/atomic-machine.h94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/epoll.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/errno.h66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/eventfd.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/inotify.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ioctls.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ipc.h62
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/mman.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/msq.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sem.h91
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/shm.h107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h81
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signalfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signum.h89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/timerfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/brk.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/clone.S161
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/getcontext.S165
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/internaltypes.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/ipc_priv.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel-features.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_stat.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/ld.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libc.abilist2174
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libm.abilist433
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libpthread.abilist245
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/localplt.data24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/makecontext.c99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/profil-counter.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pt-vfork.S79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread.h1203
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthreadP.h16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/setcontext.S158
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/shlib-versions9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/swapcontext.c42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/procfs.h118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/user.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscall.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscalls.list16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h279
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.h512
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/ucontext_i.sym59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/umount.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/utimes.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/hppa/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/Makefile46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/Versions51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/_exit.S44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/alphasort64.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/brk.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/clone.S124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/configure44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/configure.ac22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-librecon.h62
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-procinfo.h47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-sysdep.h46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/fcntl.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstat.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstatat.c56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/get_clockfreq.c88
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/getcontext.S83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/getdents64.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/getmsg.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/gettimeofday.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/glob64.c76
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/i786/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/init-first.c50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/kernel-features.h50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/ld.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/ldconfig.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libc.abilist2333
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libm.abilist476
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libpthread.abilist257
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/localplt.data18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lockf64.c70
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.S466
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.h267
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/lxstat.c62
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/makecontext.S120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/olddirent.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/profil-counter.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/putmsg.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64_r.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/readelflib.c93
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/register-dump.h255
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/scandir64.c136
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/setcontext.S96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/shlib-versions1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/sigaction.c129
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/smp.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/swapcontext.S109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/syscall.S35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/syscalls.list26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h153
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.h657
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/time.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/ucontext_i.sym30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/versionsort64.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/vfork.S57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/i386/xstat.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/Makefile27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/Versions41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S88
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S158
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/__longjmp.S168
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c167
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/__start_context.S51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/arch-fork.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/endian.h7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/ipc.h53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/mman.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/msq.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sem.h85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/setjmp.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/shm.h94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/stat.h149
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/brk.S51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone2.S91
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure.ac8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-brk.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-cache.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-static.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/getclktck.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/getcontext.S157
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ioperm.c201
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel-features.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel_stat.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ld.abilist11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldconfig.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldsodefs.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libc.abilist2194
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libm.abilist405
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libpthread.abilist247
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/librt.abilist53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/localplt.data17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/makecontext.c88
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/pipe.S37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/profil-counter.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/pt-vfork.S48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/readelflib.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/register-dump.h181
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/rt-sysdep.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/setcontext.S152
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/setjmp.S198
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/shlib-versions8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaction.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaltstack-offsets.sym13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigpending.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigprocmask.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/swapcontext.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/io.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/procfs.h129
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h227
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/rse.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/user.h47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscall.S33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscalls.list28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysconf.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h223
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.S58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.h387
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/system.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_create.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_delete.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_getoverr.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_gettime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_settime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/tst-setcontext2.c24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/ucontext_i.h46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/umount.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/vfork.S50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ia64/wordexp.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/if_index.c241
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ifaddrs.c846
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ifreq.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/include/bits/syscall.h3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/include/sys/sysinfo.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/include/sys/timex.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs.c87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs64.c4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ipc_ops.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ipc_priv.h39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel-features.h104
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-timers.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel_sigaction.h19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel_stat.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/kernel_termios.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ldd-rewrite.sed11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lddlibc4.c105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ldsodefs.h39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/libc_fatal.c68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/linux_fsinfo.h271
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/listen.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/local-setxid.h16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lowlevellock-futex.h145
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lseek.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lseek64.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lutimes.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lxstat.c60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/lxstat64.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/Makefile25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/Versions54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/alphasort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/arch-fork.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/a.out.h3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/mman.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/poll.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/sockaddr.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/stat.h172
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/brk.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/clone.S111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist2133
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist432
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist228
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist93
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure.ac10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-librecon.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/getmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/getpagesize.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/getsysstats.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/glob64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/init-first.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/kernel-features.h57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldconfig.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldsodefs.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/localplt.data17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/Makefile3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist2288
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist474
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist257
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S103
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/setcontext.S94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/swapcontext.S108
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.h60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/mmap_internal.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/mremap.S28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/pt-vfork.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/putmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/register-dump.h207
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/scandir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/procfs.h125
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/reg.h101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h131
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/user.h65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscall.S32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscalls.list21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h138
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.S50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.h326
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/versionsort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/vfork.S60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/m68k/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/malloc-sysdep.h59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Makefile9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Versions5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/____longjmp_chk.S29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/fcntl.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/mman.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/stat.h203
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/brk.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clock-compat.c31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clone.S73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/getsysstats.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel-features.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libc.abilist2105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libm.abilist430
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist225
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/librt.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/localplt.data18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/profil-counter.h2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/shlib-versions1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/user.h69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscall.S37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscalls.list7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h158
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.S39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.h313
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/vfork.S46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/microblaze/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/Makefile112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/Versions44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/_test_and_set.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/arch-fork.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/epoll.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/errno.h65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/eventfd.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/fcntl.h104
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/inotify.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ipc.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/local_lim.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/mman.h46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/msq.h92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/poll.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/resource.h273
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sem.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/shm.h95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigaction.h89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signalfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signum.h78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/socket_type.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/stat.h263
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/statfs.h73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/termios.h222
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/timerfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/brk.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/clone.S152
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/configure477
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/configure.ac136
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-cache.h72
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/getcontext.S154
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/getmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/getrlimit64.c68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/getsysstats.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/init-first.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel-features.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_stat.h60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_termios.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/ldsodefs.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-abis16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-vdso.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/makecontext.S198
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Makefile4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Versions6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist2256
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist435
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist257
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist2254
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/readahead.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h396
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/Makefile21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure.ac5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ipc_priv.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist465
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist256
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist2251
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lseek.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h321
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2245
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/statfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h317
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/semctl.c25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/syscall.S63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h249
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/umount.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/pipe.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/profil-counter.h2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/pt-vfork.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/putmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/readelflib.c91
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/register-dump.h121
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/setcontext.S196
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/setrlimit64.c64
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/shlib-versions27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sigaction.c116
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/swapcontext.S214
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/cachectl.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/procfs.h126
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/sysmips.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/ucontext.h125
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/user.h210
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/syscalls.list23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h190
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/ucontext_i.sym52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/ustat.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/vfork.S94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mips/xstatconv.c201
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mmap.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mmap64.c60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mmap_internal.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_close.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_getattr.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_notify.c282
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_open.c66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_receive.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_send.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_timedreceive.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_timedsend.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/mq_unlink.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/msgctl.c71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/msgget.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/msgrcv.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/msgsnd.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/msync.c26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nanosleep.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/ethernet.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/if_arp.h182
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/if_packet.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/if_ppp.h171
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/if_shaper.h58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/if_slip.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/ppp-comp.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/ppp_defs.h8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/net/route.h144
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netash/ash.h39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netatalk/at.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netax25/ax25.h170
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/neteconet/ec.h51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_ether.h104
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_fddi.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_tr.h110
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netipx/ipx.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netiucv/iucv.h48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netlink_assert_response.c106
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netlinkaccess.h58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netpacket/packet.h80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netrom/netrom.h83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/netrose/rose.h118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nfs/nfs.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nice.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/Makefile13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/Versions6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/arch-fork.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/atomic-machine.h95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/bits/mman.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/cacheflush.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/clone.S95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/getcontext.S66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/ipc_priv.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libc.abilist2146
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libm.abilist430
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libpthread.abilist223
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/librt.abilist36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/localplt.data38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/makecontext.c79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/profil-counter.h2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/setcontext.S115
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/shlib-versions2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/swapcontext.S125
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/procfs.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h62
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/user.h58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/syscall.S36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h141
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.S50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.h264
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/ucontext_i.sym29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nios2/vfork.S34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/not-cancel.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nptl-signals.h85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/nscd_setup_thread.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettime.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettimex.c42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/open.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/open64.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/open_by_handle_at.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/openat.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/openat64.c4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/opendir.c20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/opensock.c114
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pathconf.c293
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pathconf.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/paths.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pause.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/personality.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/poll.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise64.c85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate64.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/posix_madvise.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Makefile39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Versions19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/arch-fork.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/environments.h96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h62
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/mman.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/msq.h83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ppc.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sem.h90
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/shm.h112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/stat.h275
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/termios.h279
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure.ac39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-brk.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-cache.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.c83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-lock.c86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-timed.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/force-elision.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/htm.h171
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/init-first.c85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ioctl.c64
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel-features.h51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldconfig.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldsodefs.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-start.c105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/nldbl-abi.h8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S76
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist2475
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist578
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S284
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist262
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h144
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist2521
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist577
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S306
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S529
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h234
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S119
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure233
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S383
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist2193
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist2327
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist469
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist569
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist247
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S187
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S513
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S797
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h147
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h239
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/profil-counter.h2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/putmsg.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readelflib.c60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h139
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h199
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h193
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/user.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/syscall.S31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sysdep.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/powerpc/time.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ppoll.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pread.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pread64.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/preadv.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/preadv2.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/preadv64.c56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/preadv64v2.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/prlimit.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/prof-freq.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/profil.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pselect.c89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pt-raise.c20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread-pids.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_getaffinity.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_getname.c69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_kill.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_setaffinity.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_setname.c63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigmask.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigqueue.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ptrace.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ptsname.c165
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwrite.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwrite64.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwritev.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwritev2.c51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwritev64.c56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/pwritev64v2.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/raise.c53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/read.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/readahead.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/readdir64.c7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/readdir64_r.c7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/readonly-area.c102
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/readv.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/reboot.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/recv.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/recvfrom.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/recvmmsg.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/recvmsg.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/remove.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/rename.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/renameat.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/Implies5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/Makefile31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/Versions16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/arch-fork.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/elfclass.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/environments.h96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/fcntl.h71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/hwcap.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/ipc.h60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/mman.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/msq.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sem.h90
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/shm.h110
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sigaction.h112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/stat.h265
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/statfs.h69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/typesizes.h89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmp.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmpx.h102
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/brk.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/configure5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/configure.ac5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-cache.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-procinfo.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.c82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-lock.c125
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-timed.c26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-trylock.c97
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-unlock.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/force-elision.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/htm.h187
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/init-first.c60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/jmp-unwind.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/kernel-features.h52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/ldconfig.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/libc-vdso.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/localplt.data16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/longjmp_chk.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/lowlevellock.h50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/mmap_internal.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/nldbl-abi.h8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/opensock.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-longjmp.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-vfork.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_timedlock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_trylock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/readelflib.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/rt-sysdep.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Makefile31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Versions58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/clone.S65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist2476
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist565
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist260
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login32.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h129
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S72
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S108
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h139
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h337
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c184
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h85
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c139
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Makefile18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Versions15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/clone.S66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist2360
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist563
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist248
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S72
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S108
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h152
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h345
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_delete.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_getoverr.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_gettime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sa_len.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/semtimedop.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/elf.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/procfs.h176
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ptrace.h238
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ucontext.h96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/user.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/sysconf.c230
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/system.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/s390/ucontext_i.sym25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sa_len.c9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/safe-fatal.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sched_getaffinity.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sched_getcpu.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sched_setaffinity.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi.h225
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/scsi/sg.h276
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/segfault.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/select.c71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/semctl.c109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/semget.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/semop.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/semtimedop.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/send.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sendmmsg.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sendmsg.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sendto.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setegid.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/seteuid.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setgid.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setgroups.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sethostid.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setipv4sourcefilter.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setregid.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setresgid.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setresuid.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setreuid.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setrlimit.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setrlimit64.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setsockopt.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setsourcefilter.c78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/setuid.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/Makefile16
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/Versions33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/arch-fork.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/atomic-machine.h425
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/fcntl.h50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/mman.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/shm.h101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/brk.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/clone.S103
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/configure4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/kernel-features.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/ld.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libc.abilist2178
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libm.abilist433
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libpthread.abilist245
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/librt.abilist47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/localplt.data21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/lxstat.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/makecontext.S160
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/pipe.S42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/profil-counter.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/pt-vfork.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h150
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h263
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S141
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S218
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/shlib-versions5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sigaltstack-offsets.sym13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/smp.h23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/procfs.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/ucontext.h127
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/user.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/syscall.S43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/syscalls.list22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h169
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.S32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.h360
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/vfork.S52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sh/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shlib-versions2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shm-directory.c147
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shmat.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shmctl.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shmdt.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shmget.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/shutdown.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigaction.c69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/siglist.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/signal.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/signalfd.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigpending.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigprocmask.c56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigqueue.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigreturn.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigset-cvt-mask.h43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigsetops.h108
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigstack.c66
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigsuspend.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigtimedwait.c69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigwait.c107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sigwaitinfo.c73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sizes.h23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/socket.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/socketcall.h104
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/socketpair.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/Makefile20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/Versions46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/a.out.h174
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/aio_cancel.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/a.out.h13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/environments.h96
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/epoll.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/errno.h65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/inotify.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ipc.h61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/long-double.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/mman.h53
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/msq.h84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/poll.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/resource.h280
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sem.h91
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/shm.h110
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-consts-arch.h12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signum.h83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/stat.h173
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/termios.h225
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/timerfd.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h83
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure.ac5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/dl-cache.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/getrlimit64.c24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/getshmlba.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/getsysstats.c55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel-features.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel_termios.h37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/lowlevellock.h135
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/pt-vfork.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/readelflib.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/rt-sysdep.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S113
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S90
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist2479
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist568
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist259
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist50
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h335
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c88
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S118
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h147
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c1
-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
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/procfs.h210
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h281
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/trap.h7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h274
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/user.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.h185
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/system.c29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/spawni.c397
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/speed.c97
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/splice.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/statfs64.c95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/statvfs.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/statvfs64.c69
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sync_file_range.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/acct.h106
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/epoll.h138
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/eventfd.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/fanotify.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/fsuid.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/inotify.h99
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/kd.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/klog.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/mount.h150
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/pci.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/personality.h80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/prctl.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/procfs.h114
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/ptrace.h229
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/quota.h135
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/raw.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/reboot.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/signalfd.h57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/soundcard.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/swap.h43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/syscall.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/sysctl.h73
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/sysinfo.h47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/timerfd.h55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/timex.h71
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/ttydefaults.h100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/user.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sys/vt.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/syscalls.list111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sysconf.c146
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sysctl.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sysctl.mk3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sysdep-vdso.h98
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sysdep.h68
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/syslog.c4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/system.c76
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcdrain.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcflow.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcflush.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcgetattr.c79
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcgetpgrp.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcsendbrk.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcsetattr.c80
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tcsetpgrp.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tee.c26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/termio.h6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/test-errno-linux.c181
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/Makefile28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/Versions18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/arch-fork.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/environments.h100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/local_lim.h100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/mman.h40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/sigaction.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/cacheflush.c34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/clone.S178
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/getcontext.S95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/init-first.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/ipc_priv.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/kernel-features.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/ldsodefs.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/libc-vdso.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/makecontext.c67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/profil-counter.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/pt-vfork.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/set_dataplane.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/setcontext.S206
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/shlib-versions2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/swapcontext.S89
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/cachectl.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/procfs.h128
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ptrace.h196
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/reg.h2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ucontext.h72
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/user.h1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/syscall.S32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sysconf.c75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h154
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.h243
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/Makefile6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist2112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist431
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist2112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist431
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist2112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist431
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h111
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/ucontext_i.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tile/vfork.S49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/time.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_create.c176
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_delete.c72
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_getoverr.c40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_gettime.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_routines.c191
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timer_settime.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/times.c67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/timespec_get.c46
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/truncate.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/truncate64.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity-pid.c201
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity.c43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-align-clone.c95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-clone.c60
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-clone2.c146
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate-common.c98
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate.c25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate64.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-fanotify.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-getpid1.c122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-personality.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-quota.c58
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-setgetname.c302
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c278
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-thread-affinity.c280
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-sync_file_range.c132
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread.c49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread2.c95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-sched.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ttyname.c223
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ttyname.h34
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ttyname_r.c221
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ualarm.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/umount.S12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/umount2.S13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/unlockpt.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/updwtmp.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/ustat.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/utimensat.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/utimes.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/utmp_file.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/vfork.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/vmsplice.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wait.c35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wait3.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/waitid.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/waitpid.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/Versions5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents.c4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/glob64.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c13
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat.c11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir.c7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/write.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/writev.c27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/Makefile24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/a.out.h11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/environments.h105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/epoll.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/fcntl.h61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/mman.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/msq.h82
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sem.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/shm.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h196
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/stat.h210
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sysctl.h20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/typesizes.h95
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.c78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-lock.c107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-timed.c26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-trylock.c75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-unlock.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/force-elision.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/gettimeofday.c61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/hle.h75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/libc-vdso.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c22
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/debugreg.h88
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/elf.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/io.h183
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/perm.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/procfs.h145
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/reg.h77
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/ucontext.h260
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/user.h180
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/vm86.h38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/sysconf.c42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86/time.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist2171
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist465
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist244
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist94
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S131
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S115
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S107
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S463
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h278
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c121
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h345
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S102
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c176
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S120
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S42
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h392
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c65
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c63
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2112
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist463
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S43
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xmknod.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xmknodat.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xstat.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xstat64.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.c270
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.h26
-rw-r--r--REORG.TODO/sysdeps/unix/x86_64/sysdep.S50
-rw-r--r--REORG.TODO/sysdeps/unix/x86_64/sysdep.h34
2379 files changed, 214121 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/unix/Implies b/REORG.TODO/sysdeps/unix/Implies
new file mode 100644
index 0000000000..b3188f7428
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/Implies
@@ -0,0 +1 @@
+posix
diff --git a/REORG.TODO/sysdeps/unix/Makefile b/REORG.TODO/sysdeps/unix/Makefile
new file mode 100644
index 0000000000..750e32c4ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/Makefile
@@ -0,0 +1,112 @@
+# 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/>.
+
+ifndef inhibit-unix-syscalls
+
+# Sysdep dirs unix/... can contain a file syscalls.list,
+# which specifies objects to be compiled as simple Unix system calls.
+
+-include $(common-objpfx)sysd-syscalls
+
+ifeq (misc,$(subdir))
+sysdep_routines += $(unix-extra-syscalls)
+
+ifdef unix-stub-syscalls
+# The system call entry points in this list are supposed to be additional
+# functions not overriding any other sysdeps/.../call.c implementation, but
+# their system call numbers are unavailable in the kernel headers we're
+# using.  Instead of a system call stub, these get a function that fails
+# with ENOSYS.  We just generate a single module defining one function and
+# making all these entry point names aliases for it.
+sysdep_routines += stub-syscalls
+$(objpfx)stub-syscalls.c: $(common-objpfx)sysd-syscalls \
+			  $(..)sysdeps/unix/Makefile
+	$(make-target-directory)
+	(for call in $(unix-stub-syscalls); do \
+	   call=$${call%%@*}; \
+	   echo "#define $$call RENAMED_$$call"; \
+	 done; \
+	 echo '#include <errno.h>'; \
+	 echo '#include <shlib-compat.h>'; \
+	 for call in $(unix-stub-syscalls); do \
+	   call=$${call%%@*}; \
+	   echo "#undef $$call"; \
+	 done; \
+	 echo 'long int _no_syscall (void)'; \
+	 echo '{ __set_errno (ENOSYS); return -1L; }'; \
+	 for call in $(unix-stub-syscalls); do \
+	   case $$call in \
+	   *@@*) \
+	     ver=$${call##*@}; call=$${call%%@*}; \
+	     ver=`echo "$$ver" | sed 's/\./_/g'`; \
+	     echo "strong_alias (_no_syscall, __$${call}_$${ver})"; \
+	     echo "versioned_symbol (libc, __$${call}_$${ver}, $$call, $$ver);"\
+	     ;; \
+	   *@*) \
+	     ver=$${call##*@}; call=$${call%%@*}; \
+	     ver=`echo "$$ver" | sed 's/\./_/g'`; \
+	     case $$ver in \
+	     *:*) \
+	       compat_ver=$${ver#*:}; \
+	       ver=$${ver%%:*}; \
+	       compat_cond="SHLIB_COMPAT (libc, $$ver, $$compat_ver)"; \
+	       ;; \
+	     *) \
+	       compat_cond=""; \
+	       ;; \
+	     esac; \
+	     if [ -n "$$compat_cond" ]; then echo "#if $$compat_cond"; fi; \
+	     echo "strong_alias (_no_syscall, __$${call}_$${ver})"; \
+	     echo "compat_symbol (libc, __$${call}_$${ver}, $$call, $$ver);"; \
+	     if [ -n "$$compat_cond" ]; then echo "#endif"; fi; \
+	     ;; \
+	   *) echo "weak_alias (_no_syscall, $$call)"; \
+	      echo "stub_warning ($$call)"; \
+	      echo "weak_alias (_no_syscall, __GI_$$call)" ;; \
+	   esac; \
+	 done) > $@T
+	mv -f $@T $@
+generated += stub-syscalls.c
+endif
+endif
+
+# This is the end of the pipeline for compiling the syscall stubs.
+# The stdin is assembler with cpp using sysdep.h macros.
+compile-syscall = $(COMPILE.S) -o $@ -x assembler-with-cpp - \
+			       $(compile-mkdep-flags)
+
+ifndef avoid-generated
+$(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \
+			       $(wildcard $(+sysdep_dirs:%=%/syscalls.list)) \
+			       $(common-objpfx)libc-modules.stmp
+	for dir in $(+sysdep_dirs); do \
+	  test -f $$dir/syscalls.list && \
+	  { sysdirs='$(sysdirs)' \
+	    asm_CPP='$(COMPILE.S) -E -x assembler-with-cpp' \
+	    $(SHELL) $(dir $<)$(notdir $<) $$dir || exit 1; }; \
+	  test $$dir = $(..)sysdeps/unix && break; \
+	done > $@T
+	mv -f $@T $@
+endif
+
+$(common-objpfx)s-%.d: $(..)sysdeps/unix/s-%.S \
+		       $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
+	$(+make-deps)
+
+postclean-generated += sysd-syscalls
+
+endif
diff --git a/REORG.TODO/sysdeps/unix/alpha/Makefile b/REORG.TODO/sysdeps/unix/alpha/Makefile
new file mode 100644
index 0000000000..0660847f15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/Makefile
@@ -0,0 +1,4 @@
+ifeq ($(subdir),rt)
+librt-sysdep_routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/alpha/getegid.S b/REORG.TODO/sysdeps/unix/alpha/getegid.S
new file mode 100644
index 0000000000..a020b8985a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/getegid.S
@@ -0,0 +1,26 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__getegid, getxgid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__getegid)
+
+weak_alias (__getegid, getegid)
diff --git a/REORG.TODO/sysdeps/unix/alpha/geteuid.S b/REORG.TODO/sysdeps/unix/alpha/geteuid.S
new file mode 100644
index 0000000000..b89c608bea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/geteuid.S
@@ -0,0 +1,26 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__geteuid, getxuid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__geteuid)
+
+weak_alias (__geteuid, geteuid)
diff --git a/REORG.TODO/sysdeps/unix/alpha/getppid.S b/REORG.TODO/sysdeps/unix/alpha/getppid.S
new file mode 100644
index 0000000000..3257f69b85
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/getppid.S
@@ -0,0 +1,26 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__getppid, getxpid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__getppid)
+
+weak_alias (__getppid, getppid)
diff --git a/REORG.TODO/sysdeps/unix/alpha/pipe.S b/REORG.TODO/sysdeps/unix/alpha/pipe.S
new file mode 100644
index 0000000000..5610f03979
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/pipe.S
@@ -0,0 +1,31 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger (davidm@cs.arizona.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* __pipe is a special syscall since it returns two values.  */
+
+#include <sysdep.h>
+
+PSEUDO (__pipe, pipe, 0)
+	stl	r0, 0(a0)
+	stl	r1, 4(a0)
+	mov	zero, v0
+	ret
+PSEUDO_END(__pipe)
+
+libc_hidden_def (__pipe)
+weak_alias (__pipe, pipe)
diff --git a/REORG.TODO/sysdeps/unix/alpha/rt-sysdep.S b/REORG.TODO/sysdeps/unix/alpha/rt-sysdep.S
new file mode 100644
index 0000000000..f966bf1e59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/rt-sysdep.S
@@ -0,0 +1 @@
+#include <sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/alpha/sysdep.S b/REORG.TODO/sysdeps/unix/alpha/sysdep.S
new file mode 100644
index 0000000000..9e5b58cb7c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/sysdep.S
@@ -0,0 +1,65 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <features.h>
+
+#if defined(PIC)
+	/* Put this at the end of libc's text segment so that all of
+	   the direct branches from the syscalls are forward, and
+	   thus predicted not taken.  */
+	.section .text.last, "ax", @progbits
+#else
+	.text
+#endif
+
+#if IS_IN (libc)
+# define SYSCALL_ERROR_ERRNO __libc_errno
+#else
+# define SYSCALL_ERROR_ERRNO errno
+#endif
+
+	.align 4
+	.globl	__syscall_error
+	.ent	__syscall_error
+__syscall_error:
+	/* When building a shared library, we branch here without having
+	   loaded the GP.  Nor, since it was a direct branch, have we
+	   loaded PV with our address.
+
+	   When building a static library, we tail call here from another
+	   object file, possibly with a different GP, and must return with
+	   the GP of our caller in place so that linker relaxation works.
+
+	   Both issues are solved by computing the GP into T1 instead of
+	   clobbering the traditional GP register.  */
+	.prologue 0
+	mov	v0, t0
+	br	t1, 1f
+1:	ldah	t1, 0(t1) !gpdisp!1
+	call_pal PAL_rduniq
+
+	lda	t1, 0(t1) !gpdisp!1
+	ldq	t1, SYSCALL_ERROR_ERRNO(t1) !gottprel
+	addq	v0, t1, t1
+	lda	v0, -1
+
+	stl	t0, 0(t1)
+	ret
+
+	.end __syscall_error
diff --git a/REORG.TODO/sysdeps/unix/alpha/sysdep.h b/REORG.TODO/sysdeps/unix/alpha/sysdep.h
new file mode 100644
index 0000000000..776425d6b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/alpha/sysdep.h
@@ -0,0 +1,382 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/unix/sysdep.h>
+#include <dl-sysdep.h>         /* Defines RTLD_PRIVATE_ERRNO.  */
+
+#ifdef __ASSEMBLER__
+
+#ifdef __linux__
+# include <alpha/regdef.h>
+#else
+# include <regdef.h>
+#endif
+
+#define __LABEL(x)	x##:
+
+#define LEAF(name, framesize)			\
+  .globl name;					\
+  .align 4;					\
+  .ent name, 0;					\
+  __LABEL(name)					\
+  .frame sp, framesize, ra
+
+#define ENTRY(name)				\
+  .globl name;					\
+  .align 4;					\
+  .ent name, 0;					\
+  __LABEL(name)					\
+  .frame sp, 0, ra
+
+/* Mark the end of function SYM.  */
+#undef END
+#define END(sym)	.end sym
+
+#ifdef PROF
+# define PSEUDO_PROF				\
+	.set noat;				\
+	lda	AT, _mcount;			\
+	jsr	AT, (AT), _mcount;		\
+	.set at
+#else
+# define PSEUDO_PROF
+#endif
+
+#ifdef PROF
+# define PSEUDO_PROLOGUE			\
+	.frame sp, 0, ra;			\
+	ldgp	gp,0(pv);			\
+	PSEUDO_PROF;				\
+	.prologue 1
+#elif defined PIC
+# define PSEUDO_PROLOGUE			\
+	.frame sp, 0, ra;			\
+	.prologue 0
+#else
+# define PSEUDO_PROLOGUE			\
+	.frame sp, 0, ra;			\
+	ldgp	gp,0(pv);			\
+	.prologue 1
+#endif /* PROF */
+
+#ifdef PROF
+# define USEPV_PROF	std
+#else
+# define USEPV_PROF	no
+#endif
+
+#if RTLD_PRIVATE_ERRNO
+# define SYSCALL_ERROR_LABEL	$syscall_error
+# define SYSCALL_ERROR_HANDLER			\
+$syscall_error:					\
+	stl	v0, rtld_errno(gp)	!gprel;	\
+	lda	v0, -1;				\
+	ret
+# define SYSCALL_ERROR_FALLTHRU
+#elif defined(PIC)
+# define SYSCALL_ERROR_LABEL		__syscall_error !samegp
+# define SYSCALL_ERROR_HANDLER
+# define SYSCALL_ERROR_FALLTHRU		br SYSCALL_ERROR_LABEL
+#else
+# define SYSCALL_ERROR_LABEL		$syscall_error
+# define SYSCALL_ERROR_HANDLER			\
+$syscall_error:					\
+	jmp $31, __syscall_error
+# define SYSCALL_ERROR_FALLTHRU
+#endif /* RTLD_PRIVATE_ERRNO */
+
+/* Overridden by specific syscalls.  */
+#undef PSEUDO_PREPARE_ARGS
+#define PSEUDO_PREPARE_ARGS	/* Nothing.  */
+
+#define PSEUDO(name, syscall_name, args)	\
+	.globl name;				\
+	.align 4;				\
+	.ent name,0;				\
+__LABEL(name)					\
+	PSEUDO_PROLOGUE;			\
+	PSEUDO_PREPARE_ARGS			\
+	lda	v0, SYS_ify(syscall_name);	\
+	call_pal PAL_callsys;			\
+	bne	a3, SYSCALL_ERROR_LABEL
+
+#undef PSEUDO_END
+#define PSEUDO_END(sym)				\
+	SYSCALL_ERROR_HANDLER;			\
+	END(sym)
+
+#define PSEUDO_NOERRNO(name, syscall_name, args)	\
+	.globl name;					\
+	.align 4;					\
+	.ent name,0;					\
+__LABEL(name)						\
+	PSEUDO_PROLOGUE;				\
+	PSEUDO_PREPARE_ARGS				\
+	lda	v0, SYS_ify(syscall_name);		\
+	call_pal PAL_callsys;
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(sym)  END(sym)
+
+#define ret_NOERRNO ret
+
+#define PSEUDO_ERRVAL(name, syscall_name, args)	\
+	.globl name;					\
+	.align 4;					\
+	.ent name,0;					\
+__LABEL(name)						\
+	PSEUDO_PROLOGUE;				\
+	PSEUDO_PREPARE_ARGS				\
+	lda	v0, SYS_ify(syscall_name);		\
+	call_pal PAL_callsys;
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(sym)  END(sym)
+
+#define ret_ERRVAL ret
+
+#define r0	v0
+#define r1	a4
+
+#define MOVE(x,y)	mov x,y
+
+#else /* !ASSEMBLER */
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#include <errno.h>
+
+/* ??? Linux needs to be able to override INLINE_SYSCALL for one
+   particular special case.  Make this easy.  */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...) \
+	INLINE_SYSCALL1(name, nr, args)
+
+#define INLINE_SYSCALL1(name, nr, args...)	\
+({						\
+	long _sc_ret, _sc_err;			\
+	inline_syscall##nr(__NR_##name, args);	\
+	if (__builtin_expect (_sc_err, 0))	\
+	  {					\
+	    __set_errno (_sc_ret);		\
+	    _sc_ret = -1L;			\
+	  }					\
+	_sc_ret;				\
+})
+
+#define INTERNAL_SYSCALL(name, err_out, nr, args...) \
+	INTERNAL_SYSCALL1(name, err_out, nr, args)
+
+#define INTERNAL_SYSCALL1(name, err_out, nr, args...)	\
+	INTERNAL_SYSCALL_NCS(__NR_##name, err_out, nr, args)
+
+#define INTERNAL_SYSCALL_NCS(name, err_out, nr, args...) \
+({							\
+	long _sc_ret, _sc_err;				\
+	inline_syscall##nr(name, args);			\
+	err_out = _sc_err;				\
+	_sc_ret;					\
+})
+
+#define INTERNAL_SYSCALL_DECL(err) \
+	long int err __attribute__((unused))
+
+/* The normal Alpha calling convention sign-extends 32-bit quantties
+   no matter what the "real" sign of the 32-bit type.  We want to
+   preserve that when filling in values for the kernel.  */
+#define syscall_promote(arg) \
+  (sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
+
+/* Make sure and "use" the variable that we're not returning,
+   in order to suppress unused variable warnings.  */
+#define INTERNAL_SYSCALL_ERROR_P(val, err)	((void)val, err)
+#define INTERNAL_SYSCALL_ERRNO(val, err)	((void)err, val)
+
+#define inline_syscall_clobbers				\
+	"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",	\
+	"$22", "$23", "$24", "$25", "$27", "$28", "memory"
+
+/* It is moderately important optimization-wise to limit the lifetime
+   of the hard-register variables as much as possible.  Thus we copy
+   in/out as close to the asm as possible.  */
+
+#define inline_syscall0(name, args...)				\
+{								\
+	register long _sc_19 __asm__("$19");			\
+	register long _sc_0 = name;				\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2"				\
+	   : "+v"(_sc_0), "=r"(_sc_19)				\
+	   : : inline_syscall_clobbers,				\
+	     "$16", "$17", "$18", "$20", "$21");		\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall1(name,arg1)				\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_19 __asm__("$19");			\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3"				\
+	   : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16)		\
+	   : : inline_syscall_clobbers,				\
+	     "$17", "$18", "$20", "$21");			\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall2(name,arg1,arg2)				\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_19 __asm__("$19");			\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3 %4"			\
+	   : "+v"(_sc_0), "=r"(_sc_19),				\
+	     "+r"(_sc_16), "+r"(_sc_17)				\
+	   : : inline_syscall_clobbers,				\
+	     "$18", "$20", "$21");				\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall3(name,arg1,arg2,arg3)			\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19");			\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3 %4 %5"			\
+	   : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18)				\
+	   : : inline_syscall_clobbers, "$20", "$21");		\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall4(name,arg1,arg2,arg3,arg4)		\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6"			\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18)				\
+	   : : inline_syscall_clobbers, "$20", "$21");		\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5)		\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _tmp_20 = syscall_promote (arg5);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
+	register long _sc_20 __asm__("$20") = _tmp_20;		\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7"		\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20)		\
+	   : : inline_syscall_clobbers, "$21");			\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+
+#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6)	\
+{								\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _tmp_20 = syscall_promote (arg5);		\
+	register long _tmp_21 = syscall_promote (arg6);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
+	register long _sc_20 __asm__("$20") = _tmp_20;		\
+	register long _sc_21 __asm__("$21") = _tmp_21;		\
+	__asm__ __volatile__					\
+	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8"		\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20),		\
+	     "+r"(_sc_21)					\
+	   : : inline_syscall_clobbers);			\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
+}
+#endif /* ASSEMBLER */
+
+/* Pointer mangling support.  Note that tls access is slow enough that
+   we don't deoptimize things by placing the pointer check value there.  */
+
+#ifdef __ASSEMBLER__
+# if IS_IN (rtld)
+#  define PTR_MANGLE(dst, src, tmp)				\
+	ldah	tmp, __pointer_chk_guard_local($29) !gprelhigh;	\
+	ldq	tmp, __pointer_chk_guard_local(tmp) !gprellow;	\
+	xor	src, tmp, dst
+#  define PTR_MANGLE2(dst, src, tmp)				\
+	xor	src, tmp, dst
+# elif defined SHARED
+#  define PTR_MANGLE(dst, src, tmp)		\
+	ldq	tmp, __pointer_chk_guard;	\
+	xor	src, tmp, dst
+# else
+#  define PTR_MANGLE(dst, src, tmp)		\
+	ldq	tmp, __pointer_chk_guard_local;	\
+	xor	src, tmp, dst
+# endif
+# define PTR_MANGLE2(dst, src, tmp)		\
+	xor	src, tmp, dst
+# define PTR_DEMANGLE(dst, tmp)   PTR_MANGLE(dst, dst, tmp)
+# define PTR_DEMANGLE2(dst, tmp)  PTR_MANGLE2(dst, dst, tmp)
+#else
+# include <stdint.h>
+# if (IS_IN (rtld) \
+      || (!defined SHARED && (IS_IN (libc) \
+			      || IS_IN (libpthread))))
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+#  define PTR_MANGLE(var) \
+	(var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
+# else
+extern uintptr_t __pointer_chk_guard attribute_relro;
+#  define PTR_MANGLE(var) \
+	(var) = (__typeof(var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
+# endif
+# define PTR_DEMANGLE(var)  PTR_MANGLE(var)
+#endif /* ASSEMBLER */
diff --git a/REORG.TODO/sysdeps/unix/arm/sysdep.S b/REORG.TODO/sysdeps/unix/arm/sysdep.S
new file mode 100644
index 0000000000..9250290eb9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/arm/sysdep.S
@@ -0,0 +1,63 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+
+#if IS_IN (rtld)
+# include <dl-sysdep.h>			/* Defines RTLD_PRIVATE_ERRNO.  */
+#endif
+
+#include <tls.h>
+
+#undef syscall_error
+__syscall_error:
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	cmp	r0, $EWOULDBLOCK_sys /* Is it the old EWOULDBLOCK?  */
+	it	eq
+	moveq	r0, $EAGAIN	/* Yes; translate it to EAGAIN.  */
+#endif
+
+#if !IS_IN (rtld)
+	mov	r1, r0
+	GET_TLS (r2)
+	ldr	r2, 1f
+#ifdef __thumb__
+2:	add	r2, r2, pc
+	ldr	r2, [r2]
+#else
+2:	ldr	r2, [pc, r2]
+#endif
+	str	r1, [r0, r2]
+	mvn	r0, #0
+	DO_RET(lr)
+
+1:	.word errno(gottpoff) + (. - 2b - PC_OFS)
+#elif RTLD_PRIVATE_ERRNO
+	LDST_PCREL(str, r0, r1, C_SYMBOL_NAME(rtld_errno))
+	mvn	r0, #0
+	DO_RET(r14)
+#else
+#error "Unsupported non-TLS case"
+#endif
+
+#undef	__syscall_error
+END (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/arm/sysdep.h b/REORG.TODO/sysdeps/unix/arm/sysdep.h
new file mode 100644
index 0000000000..6830c04605
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/arm/sysdep.h
@@ -0,0 +1,29 @@
+/* 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 <sysdeps/unix/sysdep.h>
+#include <sysdeps/arm/sysdep.h>
+
+/* Some definitions to allow the assembler in sysdeps/unix/ to build
+   without needing ARM-specific versions of all the files.  */
+
+#ifdef __ASSEMBLER__
+
+#define ret		DO_RET (r14)
+#define MOVE(a,b)	mov b,a
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/bsd/Implies b/REORG.TODO/sysdeps/unix/bsd/Implies
new file mode 100644
index 0000000000..c30979e17b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/Implies
@@ -0,0 +1,2 @@
+# The directory unix/inet implements sockets and networking in the usual way.
+unix/inet
diff --git a/REORG.TODO/sysdeps/unix/bsd/Makefile b/REORG.TODO/sysdeps/unix/bsd/Makefile
new file mode 100644
index 0000000000..208fd24484
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),socket)
+sysdep_routines += cmsg_nxthdr
+endif
diff --git a/REORG.TODO/sysdeps/unix/bsd/Versions b/REORG.TODO/sysdeps/unix/bsd/Versions
new file mode 100644
index 0000000000..99b386b670
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.2.5 {
+    # functions used in inline functions or macros
+    __cmsg_nxthdr;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/bits/signum.h b/REORG.TODO/sysdeps/unix/bsd/bits/signum.h
new file mode 100644
index 0000000000..268c24a702
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/bits/signum.h
@@ -0,0 +1,73 @@
+/* Signal number definitions.  BSD version.
+   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/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* This file defines the fake signal functions and signal
+   number constants for 4.2 or 4.3 BSD-derived Unix system.  */
+
+/* Fake signal functions.  */
+#define	SIG_ERR	((__sighandler_t) -1) /* Error return.  */
+#define	SIG_DFL	((__sighandler_t) 0) /* Default action.  */
+#define	SIG_IGN	((__sighandler_t) 1) /* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD      ((__sighandler_t) 2)    /* Add signal to hold mask.  */
+#endif
+
+
+/* Signals.  */
+#define	SIGHUP		1	/* Hangup (POSIX).  */
+#define	SIGINT		2	/* Interrupt (ANSI).  */
+#define	SIGQUIT		3	/* Quit (POSIX).  */
+#define	SIGILL		4	/* Illegal instruction (ANSI).  */
+#define	SIGABRT		SIGIOT	/* Abort (ANSI).  */
+#define	SIGTRAP		5	/* Trace trap (POSIX).  */
+#define	SIGIOT		6	/* IOT trap (4.2 BSD).  */
+#define	SIGEMT		7	/* EMT trap (4.2 BSD).  */
+#define	SIGFPE		8	/* Floating-point exception (ANSI).  */
+#define	SIGKILL		9	/* Kill, unblockable (POSIX).  */
+#define	SIGBUS		10	/* Bus error (4.2 BSD).  */
+#define	SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define	SIGSYS		12	/* Bad argument to system call (4.2 BSD).  */
+#define	SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define	SIGALRM		14	/* Alarm clock (POSIX).  */
+#define	SIGTERM		15	/* Termination (ANSI).  */
+#define	SIGURG		16	/* Urgent condition on socket (4.2 BSD).  */
+#define	SIGSTOP		17	/* Stop, unblockable (POSIX).  */
+#define	SIGTSTP		18	/* Keyboard stop (POSIX).  */
+#define	SIGCONT		19	/* Continue (POSIX).  */
+#define	SIGCHLD		20	/* Child status has changed (POSIX).  */
+#define	SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define	SIGTTIN		21	/* Background read from tty (POSIX).  */
+#define	SIGTTOU		22	/* Background write to tty (POSIX).  */
+#define	SIGIO		23	/* I/O now possible (4.2 BSD).  */
+#define	SIGPOLL		SIGIO	/* Same as SIGIO? (SVID).  */
+#define	SIGXCPU		24	/* CPU limit exceeded (4.2 BSD).  */
+#define	SIGXFSZ		25	/* File size limit exceeded (4.2 BSD).  */
+#define	SIGVTALRM	26	/* Virtual alarm clock (4.2 BSD).  */
+#define	SIGPROF		27	/* Profiling alarm clock (4.2 BSD).  */
+#define	SIGWINCH	28	/* Window size change (4.3 BSD, Sun).  */
+#define SIGINFO		29	/* Information request (4.4 BSD).  */
+#define	SIGUSR1		30	/* User-defined signal 1 (POSIX).  */
+#define	SIGUSR2		31	/* User-defined signal 2 (POSIX).  */
+#define SIGLOST		32	/* Resource lost (Sun); server died (GNU).  */
+
+#endif	/* <signal.h> included.  */
+
+#define	_NSIG		33	/* Biggest signal number + 1.  */
diff --git a/REORG.TODO/sysdeps/unix/bsd/bits/sockaddr.h b/REORG.TODO/sysdeps/unix/bsd/bits/sockaddr.h
new file mode 100644
index 0000000000..bb98f3a778
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/bits/sockaddr.h
@@ -0,0 +1,45 @@
+/* Definition of struct sockaddr_* common members and sizes, BSD version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/*
+ * Never include this file directly; use <sys/socket.h> instead.
+ */
+
+#ifndef _BITS_SOCKADDR_H
+#define _BITS_SOCKADDR_H	1
+
+
+/* POSIX.1g specifies this type name for the `sa_family' member.  */
+typedef unsigned char sa_family_t;
+
+/* This macro is used to declare the initial common members
+   of the data types used for socket addresses, `struct sockaddr',
+   `struct sockaddr_in', `struct sockaddr_un', etc.  */
+
+#define	__SOCKADDR_COMMON(sa_prefix)	\
+  unsigned char sa_prefix##len;		\
+  sa_family_t sa_prefix##family
+
+#define __SOCKADDR_COMMON_SIZE	(2 * sizeof (unsigned char))
+
+#define _HAVE_SA_LEN	1	/* We have the sa_len field.  */
+
+/* Size of struct sockaddr_storage.  */
+#define _SS_SIZE 128
+
+#endif	/* bits/sockaddr.h */
diff --git a/REORG.TODO/sysdeps/unix/bsd/bsdtty.h b/REORG.TODO/sysdeps/unix/bsd/bsdtty.h
new file mode 100644
index 0000000000..a1da8d5cc3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/bsdtty.h
@@ -0,0 +1,218 @@
+#undef	B0
+#undef	B50
+#undef	B75
+#undef	B110
+#undef	B134
+#undef	B150
+#undef	B200
+#undef	B300
+#undef	B600
+#undef	B1200
+#undef	B1800
+#undef	B2400
+#undef	B4800
+#undef	B9600
+#undef	B19200
+#undef	B38400
+#undef	EXTA
+#undef	EXTB
+#undef	ECHO
+#undef	TOSTOP
+#undef	NOFLSH
+#undef	MDMBUF
+#undef	FLUSHO
+#undef	PENDIN
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+#undef	CERASE
+#undef	CKILL
+#undef	CINTR
+#undef	CQUIT
+#undef	CSTART
+#undef	CSTOP
+#undef	CEOF
+#undef	CEOT
+#undef	CBRK
+#undef	CSUSP
+#undef	CDSUSP
+#undef	CRPRNT
+#undef	CFLUSH
+#undef	CWERASE
+#undef	CLNEXT
+#undef	CSTATUS
+
+#include <sys/ioctl.h>
diff --git a/REORG.TODO/sysdeps/unix/bsd/cmsg_nxthdr.c b/REORG.TODO/sysdeps/unix/bsd/cmsg_nxthdr.c
new file mode 100644
index 0000000000..1a542fa01a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/cmsg_nxthdr.c
@@ -0,0 +1,2 @@
+/* The Linux version is perfectly usable on 4.4 BSD.  */
+#include <sysdeps/unix/sysv/linux/cmsg_nxthdr.c>
diff --git a/REORG.TODO/sysdeps/unix/bsd/ftime.c b/REORG.TODO/sysdeps/unix/bsd/ftime.c
new file mode 100644
index 0000000000..0d093eea71
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/ftime.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/timeb.h>
+#include <sys/time.h>
+
+int
+ftime (struct timeb *timebuf)
+{
+  struct timeval tv;
+  struct timezone tz;
+
+  if (__gettimeofday (&tv, &tz) < 0)
+    return -1;
+
+  timebuf->time = tv.tv_sec;
+  timebuf->millitm = (tv.tv_usec + 500) / 1000;
+  if (timebuf->millitm == 1000)
+    {
+      ++timebuf->time;
+      timebuf->millitm = 0;
+    }
+  timebuf->timezone = tz.tz_minuteswest;
+  timebuf->dstflag = tz.tz_dsttime;
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/getpt.c b/REORG.TODO/sysdeps/unix/bsd/getpt.c
new file mode 100644
index 0000000000..99e7af15c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/getpt.c
@@ -0,0 +1,91 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+
+
+/* Prefix for master pseudo terminal nodes.  */
+#define _PATH_PTY "/dev/pty"
+
+
+/* Letters indicating a series of pseudo terminals.  */
+#ifndef PTYNAME1
+#define PTYNAME1 "pqrsPQRS"
+#endif
+const char __libc_ptyname1[] attribute_hidden = PTYNAME1;
+
+/* Letters indicating the position within a series.  */
+#ifndef PTYNAME2
+#define PTYNAME2 "0123456789abcdefghijklmnopqrstuv";
+#endif
+const char __libc_ptyname2[] attribute_hidden = PTYNAME2;
+
+
+/* Open a master pseudo terminal and return its file descriptor.  */
+int
+__getpt (void)
+{
+  char buf[sizeof (_PATH_PTY) + 2];
+  const char *p, *q;
+  char *s;
+
+  s = __mempcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1);
+  /* s[0] and s[1] will be filled in the loop.  */
+  s[2] = '\0';
+
+  for (p = __libc_ptyname1; *p != '\0'; ++p)
+    {
+      s[0] = *p;
+
+      for (q = __libc_ptyname2; *q != '\0'; ++q)
+	{
+	  int fd;
+
+	  s[1] = *q;
+
+	  fd = __open (buf, O_RDWR);
+	  if (fd != -1)
+	    return fd;
+
+	  if (errno == ENOENT)
+	    return -1;
+	}
+    }
+
+  __set_errno (ENOENT);
+  return -1;
+}
+
+#undef __getpt
+weak_alias (__getpt, getpt)
+
+#ifndef HAVE_POSIX_OPENPT
+/* We cannot define posix_openpt in general for BSD systems.  */
+int
+__posix_openpt (int oflag)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+weak_alias (__posix_openpt, posix_openpt)
+
+stub_warning (posix_openpt)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/bsd/gtty.c b/REORG.TODO/sysdeps/unix/bsd/gtty.c
new file mode 100644
index 0000000000..2c32136f32
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/gtty.c
@@ -0,0 +1,26 @@
+/* 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 <errno.h>
+#include <sgtty.h>
+
+/* Fill in *PARAMS with terminal parameters associated with FD.  */
+int
+gtty (int fd, struct sgttyb *params)
+{
+  return ioctl (fd, TIOCGETP, (void *) params);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/sigblock.c b/REORG.TODO/sysdeps/unix/bsd/sigblock.c
new file mode 100644
index 0000000000..2647327db0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/sigblock.c
@@ -0,0 +1 @@
+#include <sysdeps/posix/sigblock.c>
diff --git a/REORG.TODO/sysdeps/unix/bsd/sigsetmask.c b/REORG.TODO/sysdeps/unix/bsd/sigsetmask.c
new file mode 100644
index 0000000000..47f1e36a7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/sigsetmask.c
@@ -0,0 +1 @@
+#include <sysdeps/posix/sigsetmask.c>
diff --git a/REORG.TODO/sysdeps/unix/bsd/stty.c b/REORG.TODO/sysdeps/unix/bsd/stty.c
new file mode 100644
index 0000000000..8593c0e5d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/stty.c
@@ -0,0 +1,26 @@
+/* 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 <errno.h>
+#include <sgtty.h>
+
+/* Set the terminal parameters associated with FD to *PARAMS.  */
+int
+stty (int fd, const struct sgttyb *params)
+{
+  return ioctl (fd, TIOCSETP, (void *) params);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/syscalls.list b/REORG.TODO/sysdeps/unix/bsd/syscalls.list
new file mode 100644
index 0000000000..0b4d5fcd54
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/syscalls.list
@@ -0,0 +1,15 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+chflags		-	chflags		2	chflags
+fchflags	-	fchflags	2	fchflags
+flock		-	flock		2	__flock		flock
+getdents	-	getdirentries	4	__getdirentries	getdirentries
+getdtsz		-	getdtablesize	0	__getdtablesize	getdtablesize
+getpagesize	-	getpagesize	0	__getpagesize	getpagesize
+killpg		-	killpg		2	killpg
+revoke		-	revoke		1	revoke
+setlogin	-	setlogin	2	setlogin
+sigaltstack	-	sigaltstack	2	__sigaltstack	sigaltstack
+sigpause	-	sigpause	1	__sigpause	sigpause
+sigstack	-	sigstack	2	sigstack
+wait4		-	wait4		4	__wait4		wait4
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcdrain.c b/REORG.TODO/sysdeps/unix/bsd/tcdrain.c
new file mode 100644
index 0000000000..ac9d9803a6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcdrain.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <sys/ioctl.h>
+
+/* Wait for pending output to be written on FD.  */
+int
+__libc_tcdrain (int fd)
+{
+  return __ioctl (fd, TIOCDRAIN);
+}
+weak_alias (__libc_tcdrain, tcdrain)
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcflow.c b/REORG.TODO/sysdeps/unix/bsd/tcflow.c
new file mode 100644
index 0000000000..39a13f13ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcflow.c
@@ -0,0 +1,55 @@
+/* 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 <errno.h>
+#include <stddef.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include "bsdtty.h"
+
+/* Suspend or restart transmission on FD.  */
+int
+tcflow (int fd, int action)
+{
+  switch (action)
+    {
+    case TCOOFF:
+      return __ioctl (fd, TIOCSTOP, (void *) NULL);
+    case TCOON:
+      return __ioctl (fd, TIOCSTART, (void *) NULL);
+
+    case TCIOFF:
+    case TCION:
+      {
+	/* This just writes the START or STOP character with
+	   `write'.  Is there another way to do this?  */
+	struct termios attr;
+	unsigned char c;
+	if (tcgetattr (fd, &attr) < 0)
+	  return -1;
+	c = attr.c_cc[action == TCIOFF ? VSTOP : VSTART];
+	if (c != _POSIX_VDISABLE && write (fd, &c, 1) < 1)
+	  return -1;
+	return 0;
+      }
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcflush.c b/REORG.TODO/sysdeps/unix/bsd/tcflush.c
new file mode 100644
index 0000000000..4d1e933b56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcflush.c
@@ -0,0 +1,48 @@
+/* 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 <errno.h>
+#include <stddef.h>
+#include <termios.h>
+#include <unistd.h>
+#include "bsdtty.h"
+#include <sys/file.h>
+
+/* Flush pending data on FD.  */
+int
+tcflush (int fd, int queue_selector)
+{
+  int arg;
+
+  switch (queue_selector)
+    {
+    case TCIFLUSH:
+      arg = FREAD;
+      break;
+    case TCOFLUSH:
+      arg = FWRITE;
+      break;
+    case TCIOFLUSH:
+      arg = FREAD | FWRITE;
+      break;
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return __ioctl (fd, TIOCFLUSH, (void *) &arg);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcgetattr.c b/REORG.TODO/sysdeps/unix/bsd/tcgetattr.c
new file mode 100644
index 0000000000..1779bb9342
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcgetattr.c
@@ -0,0 +1,38 @@
+/* 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 <stddef.h>
+#include <termios.h>
+
+/* These are defined both in <bits/termios.h> and in <bits/ioctls.h>.
+   They should have the same values, but perhaps not written the same way.  */
+#undef ECHO
+#undef MDMBUF
+#undef TOSTOP
+#undef FLUSHO
+#undef PENDIN
+#undef NOFLSH
+#include <sys/ioctl.h>
+
+/* Put the state of FD into *TERMIOS_P.  */
+int
+__tcgetattr (int fd, struct termios *termios_p)
+{
+  return __ioctl (fd, TIOCGETA, termios_p);
+}
+
+weak_alias (__tcgetattr, tcgetattr)
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcgetpgrp.c b/REORG.TODO/sysdeps/unix/bsd/tcgetpgrp.c
new file mode 100644
index 0000000000..6ba19ed351
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcgetpgrp.c
@@ -0,0 +1,33 @@
+/* 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 <sys/ioctl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+/* Return the foreground process group ID of FD.  */
+pid_t
+tcgetpgrp (int fd)
+{
+  int pgrp;
+
+  if (__ioctl (fd, TIOCGPGRP, &pgrp) < 0)
+    return (pid_t) -1;
+  return (pid_t) pgrp;
+}
+libc_hidden_def (tcgetpgrp)
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcsendbrk.c b/REORG.TODO/sysdeps/unix/bsd/tcsendbrk.c
new file mode 100644
index 0000000000..f074c7a065
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcsendbrk.c
@@ -0,0 +1,53 @@
+/* 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 <errno.h>
+#include <stddef.h>
+#include <signal.h>
+#include <termios.h>
+#include <unistd.h>
+#include "bsdtty.h"
+#include <sys/file.h>
+#include <sys/time.h>
+#include <sys/types.h>
+
+/* Send zero bits on FD.  */
+int
+tcsendbreak (int fd, int duration)
+{
+  struct timeval delay;
+
+  /* The break lasts 0.25 to 0.5 seconds if DURATION is zero,
+     and an implementation-defined period if DURATION is nonzero.
+     We define a positive DURATION to be number of microseconds to break.  */
+  if (duration <= 0)
+    duration = 400000;
+
+  delay.tv_sec = 0;
+  delay.tv_usec = duration;
+
+  /* Starting sending break.  */
+  if (__ioctl (fd, TIOCSBRK, (void *) NULL) < 0)
+    return -1;
+
+  /* Wait DURATION microseconds.  */
+  (void) __select (0, (fd_set *) NULL, (fd_set *) NULL, (fd_set *) NULL,
+		   &delay);
+
+  /* Turn off the break.  */
+  return __ioctl (fd, TIOCCBRK, (void *) NULL);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcsetattr.c b/REORG.TODO/sysdeps/unix/bsd/tcsetattr.c
new file mode 100644
index 0000000000..c754e80cbe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcsetattr.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <termios.h>
+
+/* These are defined both in <bits/termios.h> and in <bits/ioctls.h>.
+   They should have the same values, but perhaps not written the same way.  */
+#undef ECHO
+#undef MDMBUF
+#undef TOSTOP
+#undef FLUSHO
+#undef PENDIN
+#undef NOFLSH
+#include <sys/ioctl.h>
+
+
+/* Set the state of FD to *TERMIOS_P.  */
+int
+tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+{
+  struct termios myt;
+
+  if (optional_actions & TCSASOFT)
+    {
+      myt = *termios_p;
+      myt.c_cflag |= CIGNORE;
+      termios_p = &myt;
+      optional_actions &= ~TCSASOFT;
+    }
+
+  switch (optional_actions)
+    {
+    case TCSANOW:
+      return __ioctl (fd, TIOCSETA, termios_p);
+
+    case TCSADRAIN:
+      return __ioctl (fd, TIOCSETAW, termios_p);
+
+    default:
+      return __ioctl (fd, TIOCSETAF, termios_p);
+    }
+}
+libc_hidden_def (tcsetattr)
diff --git a/REORG.TODO/sysdeps/unix/bsd/tcsetpgrp.c b/REORG.TODO/sysdeps/unix/bsd/tcsetpgrp.c
new file mode 100644
index 0000000000..b99716adbe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/tcsetpgrp.c
@@ -0,0 +1,28 @@
+/* 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 <sys/types.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <unistd.h>
+
+/* Set the foreground process group ID of FD set PGRP_ID.  */
+int
+tcsetpgrp (int fd, pid_t pgrp_id)
+{
+  return __ioctl (fd, TIOCSPGRP, &pgrp_id);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/ualarm.c b/REORG.TODO/sysdeps/unix/bsd/ualarm.c
new file mode 100644
index 0000000000..133ed86597
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/ualarm.c
@@ -0,0 +1,40 @@
+/* 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 <sys/time.h>
+#include <unistd.h>
+
+/* Set an alarm to go off (generating a SIGALRM signal) in VALUE microseconds.
+   If INTERVAL is nonzero, when the alarm goes off, the timer is reset to go
+   off every INTERVAL microseconds thereafter.
+
+   Returns the number of microseconds remaining before the alarm.  */
+useconds_t
+ualarm (useconds_t value, useconds_t interval)
+{
+  struct itimerval timer, otimer;
+
+  timer.it_value.tv_sec = 0;
+  timer.it_value.tv_usec = value;
+  timer.it_interval.tv_sec = 0;
+  timer.it_interval.tv_usec = interval;
+
+  if (__setitimer (ITIMER_REAL, &timer, &otimer) < 0)
+    return -1;
+
+  return (otimer.it_value.tv_sec * 1000000) + otimer.it_value.tv_usec;
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/unlockpt.c b/REORG.TODO/sysdeps/unix/bsd/unlockpt.c
new file mode 100644
index 0000000000..7388c98523
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/unlockpt.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <paths.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+/* Unlock the slave pseudo terminal associated with the master pseudo
+   terminal specified by FD.  */
+int
+unlockpt (int fd)
+{
+  char buf[sizeof (_PATH_TTY) + 2];
+
+  /* BSD doesn't have a lock, but it does have `revoke'.  */
+  if (__ptsname_r (fd, buf, sizeof (buf)))
+    return -1;
+  return revoke (buf);
+}
diff --git a/REORG.TODO/sysdeps/unix/bsd/wait.c b/REORG.TODO/sysdeps/unix/bsd/wait.c
new file mode 100644
index 0000000000..3daed7ee05
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/wait.c
@@ -0,0 +1,32 @@
+/* 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 <sys/wait.h>
+#include <errno.h>
+#include <sys/resource.h>
+#include <stddef.h>
+
+/* Wait for a child to die.  When one does, put its status in *STAT_LOC
+   and return its process ID.  For errors, return (pid_t) -1.  */
+__pid_t
+__libc_wait (int *stat_loc)
+{
+  return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL);
+}
+
+weak_alias (__libc_wait, __wait)
+weak_alias (__libc_wait, wait)
diff --git a/REORG.TODO/sysdeps/unix/bsd/wait3.c b/REORG.TODO/sysdeps/unix/bsd/wait3.c
new file mode 100644
index 0000000000..feb17e5187
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/wait3.c
@@ -0,0 +1,33 @@
+/* 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 <errno.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+
+/* Wait for a child to exit.  When one does, put its status in *STAT_LOC and
+   return its process ID.  For errors return (pid_t) -1.  If USAGE is not nil,
+   store information about the child's resource usage (as a `struct rusage')
+   there.  If the WUNTRACED bit is set in OPTIONS, return status for stopped
+   children; otherwise don't.  */
+pid_t
+__wait3 (int *stat_loc, int options, struct rusage *usage)
+{
+  return __wait4 (WAIT_ANY, stat_loc, options, usage);
+}
+
+weak_alias (__wait3, wait3)
diff --git a/REORG.TODO/sysdeps/unix/bsd/waitpid.c b/REORG.TODO/sysdeps/unix/bsd/waitpid.c
new file mode 100644
index 0000000000..18f680e3c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/bsd/waitpid.c
@@ -0,0 +1,42 @@
+/* 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 <errno.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <stddef.h>
+
+/* Wait for a child matching PID to die.
+   If PID is greater than 0, match any process whose process ID is PID.
+   If PID is (pid_t) -1, match any process.
+   If PID is (pid_t) 0, match any process with the
+   same process group as the current process.
+   If PID is less than -1, match any process whose
+   process group is the absolute value of PID.
+   If the WNOHANG bit is set in OPTIONS, and that child
+   is not already dead, return (pid_t) 0.  If successful,
+   return PID and store the dead child's status in STAT_LOC.
+   Return (pid_t) -1 for errors.  If the WUNTRACED bit is set in OPTIONS,
+   return status for stopped children; otherwise don't.  */
+pid_t
+__waitpid (pid_t pid, int *stat_loc, int options)
+{
+  return __wait4 (pid, stat_loc, options, NULL);
+}
+
+libc_hidden_def (__waitpid)
+weak_alias (__waitpid, waitpid)
diff --git a/REORG.TODO/sysdeps/unix/clock_gettime.c b/REORG.TODO/sysdeps/unix/clock_gettime.c
new file mode 100644
index 0000000000..5262066f51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/clock_gettime.c
@@ -0,0 +1,136 @@
+/* clock_gettime -- Get the current time from a POSIX clockid_t.  Unix version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdint.h>
+#include <time.h>
+#include <sys/time.h>
+#include <libc-internal.h>
+#include <ldsodefs.h>
+
+
+#if HP_TIMING_AVAIL
+/* Clock frequency of the processor.  We make it a 64-bit variable
+   because some jokers are already playing with processors with more
+   than 4GHz.  */
+static hp_timing_t freq;
+
+
+/* This function is defined in the thread library.  */
+extern int __pthread_clock_gettime (clockid_t clock_id, hp_timing_t freq,
+				    struct timespec *tp)
+     __attribute__ ((__weak__));
+
+static int
+hp_timing_gettime (clockid_t clock_id, struct timespec *tp)
+{
+  hp_timing_t tsc;
+
+  if (__glibc_unlikely (freq == 0))
+    {
+      /* This can only happen if we haven't initialized the `freq'
+	 variable yet.  Do this now. We don't have to protect this
+	 code against multiple execution since all of them should
+	 lead to the same result.  */
+      freq = __get_clockfreq ();
+      if (__glibc_unlikely (freq == 0))
+	/* Something went wrong.  */
+	return -1;
+    }
+
+  if (clock_id != CLOCK_PROCESS_CPUTIME_ID
+      && __pthread_clock_gettime != NULL)
+    return __pthread_clock_gettime (clock_id, freq, tp);
+
+  /* Get the current counter.  */
+  HP_TIMING_NOW (tsc);
+
+  /* Compute the offset since the start time of the process.  */
+  tsc -= GL(dl_cpuclock_offset);
+
+  /* Compute the seconds.  */
+  tp->tv_sec = tsc / freq;
+
+  /* And the nanoseconds.  This computation should be stable until
+     we get machines with about 16GHz frequency.  */
+  tp->tv_nsec = ((tsc % freq) * UINT64_C (1000000000)) / freq;
+
+  return 0;
+}
+#endif
+
+
+static inline int
+realtime_gettime (struct timespec *tp)
+{
+  struct timeval tv;
+  int retval = gettimeofday (&tv, NULL);
+  if (retval == 0)
+    /* Convert into `timespec'.  */
+    TIMEVAL_TO_TIMESPEC (&tv, tp);
+  return retval;
+}
+
+
+/* Get current value of CLOCK and store it in TP.  */
+int
+__clock_gettime (clockid_t clock_id, struct timespec *tp)
+{
+  int retval = -1;
+
+  switch (clock_id)
+    {
+#ifdef SYSDEP_GETTIME
+      SYSDEP_GETTIME;
+#endif
+
+#ifndef HANDLED_REALTIME
+    case CLOCK_REALTIME:
+      {
+	struct timeval tv;
+	retval = gettimeofday (&tv, NULL);
+	if (retval == 0)
+	  TIMEVAL_TO_TIMESPEC (&tv, tp);
+      }
+      break;
+#endif
+
+    default:
+#ifdef SYSDEP_GETTIME_CPU
+      SYSDEP_GETTIME_CPU (clock_id, tp);
+#endif
+#if HP_TIMING_AVAIL
+      if ((clock_id & ((1 << CLOCK_IDFIELD_SIZE) - 1))
+	  == CLOCK_THREAD_CPUTIME_ID)
+	retval = hp_timing_gettime (clock_id, tp);
+      else
+#endif
+	__set_errno (EINVAL);
+      break;
+
+#if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME
+    case CLOCK_PROCESS_CPUTIME_ID:
+      retval = hp_timing_gettime (clock_id, tp);
+      break;
+#endif
+    }
+
+  return retval;
+}
+weak_alias (__clock_gettime, clock_gettime)
+libc_hidden_def (__clock_gettime)
diff --git a/REORG.TODO/sysdeps/unix/clock_nanosleep.c b/REORG.TODO/sysdeps/unix/clock_nanosleep.c
new file mode 100644
index 0000000000..8f4d348810
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/clock_nanosleep.c
@@ -0,0 +1,101 @@
+/* High-resolution sleep with the specified clock.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <time.h>
+#include <hp-timing.h>
+#include <sysdep-cancel.h>
+
+#if HP_TIMING_AVAIL
+# define CPUCLOCK_P(clock) \
+  ((clock) == CLOCK_PROCESS_CPUTIME_ID					      \
+   || ((clock) & ((1 << CLOCK_IDFIELD_SIZE) - 1)) == CLOCK_THREAD_CPUTIME_ID)
+#else
+# define CPUCLOCK_P(clock) 0
+#endif
+
+#ifndef INVALID_CLOCK_P
+# define INVALID_CLOCK_P(cl) \
+  ((cl) < CLOCK_REALTIME || (cl) > CLOCK_THREAD_CPUTIME_ID)
+#endif
+
+
+/* This implementation assumes that these is only a `nanosleep' system
+   call.  So we have to remap all other activities.  */
+int
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
+		   struct timespec *rem)
+{
+  struct timespec now;
+
+  if (__builtin_expect (req->tv_nsec, 0) < 0
+      || __builtin_expect (req->tv_nsec, 0) >= 1000000000)
+    return EINVAL;
+
+  if (clock_id == CLOCK_THREAD_CPUTIME_ID)
+    return EINVAL;		/* POSIX specifies EINVAL for this case.  */
+
+#ifdef SYSDEP_NANOSLEEP
+  SYSDEP_NANOSLEEP;
+#endif
+
+  if (CPUCLOCK_P (clock_id))
+    return ENOTSUP;
+
+  if (INVALID_CLOCK_P (clock_id))
+    return EINVAL;
+
+  /* If we got an absolute time, remap it.  */
+  if (flags == TIMER_ABSTIME)
+    {
+      long int nsec;
+      long int sec;
+
+      /* Make sure we use safe data types.  */
+      assert (sizeof (sec) >= sizeof (now.tv_sec));
+
+      /* Get the current time for this clock.  */
+      if (__builtin_expect (clock_gettime (clock_id, &now), 0) != 0)
+	return errno;
+
+      /* Compute the difference.  */
+      nsec = req->tv_nsec - now.tv_nsec;
+      sec = req->tv_sec - now.tv_sec - (nsec < 0);
+      if (sec < 0)
+	/* The time has already elapsed.  */
+	return 0;
+
+      now.tv_sec = sec;
+      now.tv_nsec = nsec + (nsec < 0 ? 1000000000 : 0);
+
+      /* From now on this is our time.  */
+      req = &now;
+
+      /* Make sure we are not modifying the struct pointed to by REM.  */
+      rem = NULL;
+    }
+  else if (__builtin_expect (flags, 0) != 0)
+    return EINVAL;
+  else if (clock_id != CLOCK_REALTIME)
+    /* Not supported.  */
+    return ENOTSUP;
+
+  return __builtin_expect (nanosleep (req, rem), 0) ? errno : 0;
+}
+weak_alias (__clock_nanosleep, clock_nanosleep)
diff --git a/REORG.TODO/sysdeps/unix/clock_settime.c b/REORG.TODO/sysdeps/unix/clock_settime.c
new file mode 100644
index 0000000000..e744cae6a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/clock_settime.c
@@ -0,0 +1,126 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <time.h>
+#include <sys/time.h>
+#include <ldsodefs.h>
+
+
+#if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME
+/* Clock frequency of the processor.  We make it a 64-bit variable
+   because some jokers are already playing with processors with more
+   than 4GHz.  */
+static hp_timing_t freq;
+
+
+/* This function is defined in the thread library.  */
+extern void __pthread_clock_settime (clockid_t clock_id, hp_timing_t offset)
+     __attribute__ ((__weak__));
+
+
+static int
+hp_timing_settime (clockid_t clock_id, const struct timespec *tp)
+{
+  hp_timing_t tsc;
+  hp_timing_t usertime;
+
+  /* First thing is to get the current time.  */
+  HP_TIMING_NOW (tsc);
+
+  if (__glibc_unlikely (freq == 0))
+    {
+      /* This can only happen if we haven't initialized the `freq'
+	 variable yet.  Do this now. We don't have to protect this
+	 code against multiple execution since all of them should lead
+	 to the same result.  */
+      freq = __get_clockfreq ();
+      if (__glibc_unlikely (freq == 0))
+	/* Something went wrong.  */
+	return -1;
+    }
+
+  /* Convert the user-provided time into CPU ticks.  */
+  usertime = tp->tv_sec * freq + (tp->tv_nsec * freq) / 1000000000ull;
+
+  /* Determine the offset and use it as the new base value.  */
+  if (clock_id == CLOCK_PROCESS_CPUTIME_ID
+      || __pthread_clock_settime == NULL)
+    GL(dl_cpuclock_offset) = tsc - usertime;
+  else
+    __pthread_clock_settime (clock_id, tsc - usertime);
+
+  return 0;
+}
+#endif
+
+
+/* Set CLOCK to value TP.  */
+int
+__clock_settime (clockid_t clock_id, const struct timespec *tp)
+{
+  int retval;
+
+  /* Make sure the time cvalue is OK.  */
+  if (tp->tv_nsec < 0 || tp->tv_nsec >= 1000000000)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  switch (clock_id)
+    {
+#define HANDLE_REALTIME \
+      do {								      \
+	struct timeval tv;						      \
+	TIMESPEC_TO_TIMEVAL (&tv, tp);					      \
+									      \
+	retval = settimeofday (&tv, NULL);				      \
+      } while (0)
+
+#ifdef SYSDEP_SETTIME
+      SYSDEP_SETTIME;
+#endif
+
+#ifndef HANDLED_REALTIME
+    case CLOCK_REALTIME:
+      HANDLE_REALTIME;
+      break;
+#endif
+
+    default:
+#ifdef SYSDEP_SETTIME_CPU
+      SYSDEP_SETTIME_CPU;
+#endif
+#ifndef HANDLED_CPUTIME
+# if HP_TIMING_AVAIL
+      if (CPUCLOCK_WHICH (clock_id) == CLOCK_PROCESS_CPUTIME_ID
+	  || CPUCLOCK_WHICH (clock_id) == CLOCK_THREAD_CPUTIME_ID)
+	retval = hp_timing_settime (clock_id, tp);
+      else
+# endif
+	{
+	  __set_errno (EINVAL);
+	  retval = -1;
+	}
+#endif
+      break;
+    }
+
+  return retval;
+}
+weak_alias (__clock_settime, clock_settime)
diff --git a/REORG.TODO/sysdeps/unix/confstr.h b/REORG.TODO/sysdeps/unix/confstr.h
new file mode 100644
index 0000000000..15859c3b27
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/confstr.h
@@ -0,0 +1 @@
+#define	CS_PATH	"/bin:/usr/bin"
diff --git a/REORG.TODO/sysdeps/unix/get_child_max.c b/REORG.TODO/sysdeps/unix/get_child_max.c
new file mode 100644
index 0000000000..c587583086
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/get_child_max.c
@@ -0,0 +1,36 @@
+/* Get POSIX {CHILD_MAX} run-time limit value.  Unix version.
+   Copyright (C) 2006-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 <limits.h>
+#include <sys/sysinfo.h>
+#include <sys/resource.h>
+
+#ifndef CHILD_MAX
+long int
+__get_child_max (void)
+{
+# ifdef RLIMIT_NPROC
+  struct rlimit limit;
+  if (__getrlimit (RLIMIT_NPROC, &limit) == 0
+      && limit.rlim_cur != RLIM_INFINITY)
+    return limit.rlim_cur;
+# endif
+
+  return -1;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/getlogin.c b/REORG.TODO/sysdeps/unix/getlogin.c
new file mode 100644
index 0000000000..7d4ff53ba4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/getlogin.c
@@ -0,0 +1,81 @@
+/* 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 <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <limits.h>
+#include <fcntl.h>
+
+#include <utmp.h>
+
+static char name[UT_NAMESIZE + 1];
+
+/* Return the login name of the user, or NULL if it can't be determined.
+   The returned pointer, if not NULL, is good only until the next call.  */
+
+#ifdef STATIC
+STATIC
+#endif
+char *
+getlogin (void)
+{
+  char tty_pathname[2 + 2 * NAME_MAX];
+  char *real_tty_path = tty_pathname;
+  int err;
+  char *result = NULL;
+  struct utmp *ut, line, buffer;
+
+  /* Get name of tty connected to fd 0.  Return NULL if not a tty or
+     if fd 0 isn't open.  Note that a lot of documentation says that
+     getlogin() is based on the controlling terminal---what they
+     really mean is "the terminal connected to standard input".  The
+     getlogin() implementation of DEC Unix, SunOS, Solaris, HP-UX all
+     return NULL if fd 0 has been closed, so this is the compatible
+     thing to do.  Note that ttyname(open("/dev/tty")) on those
+     systems returns /dev/tty, so that is not a possible solution for
+     getlogin().  */
+  err = __ttyname_r (0, real_tty_path, sizeof (tty_pathname));
+  if (err != 0)
+    {
+      __set_errno (err);
+      return NULL;
+    }
+
+  real_tty_path += 5;		/* Remove "/dev/".  */
+
+  __setutent ();
+  strncpy (line.ut_line, real_tty_path, sizeof line.ut_line);
+  if (__getutline_r (&line, &buffer, &ut) < 0)
+    {
+      if (errno == ESRCH)
+	/* The caller expects ENOENT if nothing is found.  */
+	__set_errno (ENOENT);
+      result = NULL;
+    }
+  else
+    {
+      strncpy (name, ut->ut_user, UT_NAMESIZE);
+      name[UT_NAMESIZE] = '\0';
+      result = name;
+    }
+
+  __endutent ();
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/getlogin_r.c b/REORG.TODO/sysdeps/unix/getlogin_r.c
new file mode 100644
index 0000000000..4a6a40eeb2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/getlogin_r.c
@@ -0,0 +1,103 @@
+/* Reentrant function to return the current login name.  Unix version.
+   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 <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <limits.h>
+#include <fcntl.h>
+
+#include <utmp.h>
+#include "../login/utmp-private.h"
+
+/* Return at most NAME_LEN characters of the login name of the user in NAME.
+   If it cannot be determined or some other error occurred, return the error
+   code.  Otherwise return 0.  */
+
+#ifdef STATIC
+STATIC
+#endif
+int
+__getlogin_r (char *name, size_t name_len)
+{
+  char tty_pathname[2 + 2 * NAME_MAX];
+  char *real_tty_path = tty_pathname;
+  int result;
+  struct utmp *ut, line, buffer;
+
+  /* Get name of tty connected to fd 0.  Return if not a tty or
+     if fd 0 isn't open.  Note that a lot of documentation says that
+     getlogin() is based on the controlling terminal---what they
+     really mean is "the terminal connected to standard input".  The
+     getlogin() implementation of DEC Unix, SunOS, Solaris, HP-UX all
+     return NULL if fd 0 has been closed, so this is the compatible
+     thing to do.  Note that ttyname(open("/dev/tty")) on those
+     systems returns /dev/tty, so that is not a possible solution for
+     getlogin().  */
+
+  result = __ttyname_r (0, real_tty_path, sizeof (tty_pathname));
+
+  if (result != 0)
+    return result;
+
+  real_tty_path += 5;		/* Remove "/dev/".  */
+  strncpy (line.ut_line, real_tty_path, sizeof line.ut_line);
+
+  /* We don't use the normal entry points __setutent et al, because we
+     want setutent + getutline_r + endutent all to happen with the lock
+     held so that our search is thread-safe.  */
+
+  __libc_lock_lock (__libc_utmp_lock);
+  (*__libc_utmp_jump_table->setutent) ();
+  result = (*__libc_utmp_jump_table->getutline_r) (&line, &buffer, &ut);
+  if (result < 0)
+    {
+      if (errno == ESRCH)
+	/* The caller expects ENOENT if nothing is found.  */
+	result = ENOENT;
+      else
+	result = errno;
+    }
+  (*__libc_utmp_jump_table->endutent) ();
+  __libc_utmp_jump_table = &__libc_utmp_unknown_functions;
+  __libc_lock_unlock (__libc_utmp_lock);
+
+  if (result == 0)
+    {
+      size_t needed = strlen (ut->ut_user) + 1;
+
+      if (needed > name_len)
+	{
+	  __set_errno (ERANGE);
+	  result = ERANGE;
+	}
+      else
+	{
+	  memcpy (name, ut->ut_user, needed);
+	  result = 0;
+	}
+    }
+
+  return result;
+}
+#ifndef STATIC
+libc_hidden_def (__getlogin_r)
+weak_alias (__getlogin_r, getlogin_r)
+libc_hidden_weak (getlogin_r)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/getpagesize.c b/REORG.TODO/sysdeps/unix/getpagesize.c
new file mode 100644
index 0000000000..59e1945742
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/getpagesize.c
@@ -0,0 +1,39 @@
+/* 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 <unistd.h>
+#include <sys/param.h>
+
+/* Return the system page size.  */
+int
+__getpagesize (void)
+{
+#ifdef	EXEC_PAGESIZE
+  return EXEC_PAGESIZE;
+#else	/* No EXEC_PAGESIZE.  */
+#ifdef	NBPG
+#ifndef	CLSIZE
+#define	CLSIZE	1
+#endif	/* No CLSIZE.  */
+  return NBPG * CLSIZE;
+#else	/* No NBPG.  */
+  return NBPC;
+#endif	/* NBPG.  */
+#endif	/* EXEC_PAGESIZE.  */
+}
+libc_hidden_def (__getpagesize)
+weak_alias (__getpagesize, getpagesize)
diff --git a/REORG.TODO/sysdeps/unix/grantpt.c b/REORG.TODO/sysdeps/unix/grantpt.c
new file mode 100644
index 0000000000..a73020e69a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/grantpt.c
@@ -0,0 +1,260 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "pty-private.h"
+
+
+/* Return the result of ptsname_r in the buffer pointed to by PTS,
+   which should be of length BUF_LEN.  If it is too long to fit in
+   this buffer, a sufficiently long buffer is allocated using malloc,
+   and returned in PTS.  0 is returned upon success, -1 otherwise.  */
+static int
+pts_name (int fd, char **pts, size_t buf_len, struct stat64 *stp)
+{
+  int rv;
+  char *buf = *pts;
+
+  for (;;)
+    {
+      char *new_buf;
+
+      if (buf_len)
+	{
+	  rv = __ptsname_internal (fd, buf, buf_len, stp);
+	  if (rv != 0)
+	    {
+	      if (rv == ENOTTY)
+		/* ptsname_r returns with ENOTTY to indicate
+		   a descriptor not referring to a pty master.
+		   For this condition, grantpt must return EINVAL.  */
+		rv = EINVAL;
+	      errno = rv;	/* Not necessarily set by __ptsname_r.  */
+	      break;
+	    }
+
+	  if (memchr (buf, '\0', buf_len))
+	    /* We succeeded and the returned name fit in the buffer.  */
+	    break;
+
+	  /* Try again with a longer buffer.  */
+	  buf_len += buf_len;	/* Double it */
+	}
+      else
+	/* No initial buffer; start out by mallocing one.  */
+	buf_len = 128;		/* First time guess.  */
+
+      if (buf != *pts)
+	/* We've already malloced another buffer at least once.  */
+	new_buf = (char *) realloc (buf, buf_len);
+      else
+	new_buf = (char *) malloc (buf_len);
+      if (! new_buf)
+	{
+	  rv = -1;
+	  __set_errno (ENOMEM);
+	  break;
+	}
+      buf = new_buf;
+    }
+
+  if (rv == 0)
+    *pts = buf;		/* Return buffer to the user.  */
+  else if (buf != *pts)
+    free (buf);		/* Free what we malloced when returning an error.  */
+
+  return rv;
+}
+
+/* Change the ownership and access permission of the slave pseudo
+   terminal associated with the master pseudo terminal specified
+   by FD.  */
+int
+grantpt (int fd)
+{
+  int retval = -1;
+#ifdef PATH_MAX
+  char _buf[PATH_MAX];
+#else
+  char _buf[512];
+#endif
+  char *buf = _buf;
+  struct stat64 st;
+
+  if (__glibc_unlikely (pts_name (fd, &buf, sizeof (_buf), &st)))
+    {
+      int save_errno = errno;
+
+      /* Check, if the file descriptor is valid.  pts_name returns the
+	 wrong errno number, so we cannot use that.  */
+      if (__libc_fcntl (fd, F_GETFD) == -1 && errno == EBADF)
+	return -1;
+
+       /* If the filedescriptor is no TTY, grantpt has to set errno
+	  to EINVAL.  */
+       if (save_errno == ENOTTY)
+	 __set_errno (EINVAL);
+       else
+	 __set_errno (save_errno);
+
+       return -1;
+    }
+
+  /* Make sure that we own the device.  */
+  uid_t uid = __getuid ();
+  if (st.st_uid != uid)
+    {
+      if (__chown (buf, uid, st.st_gid) < 0)
+	goto helper;
+    }
+
+  static int tty_gid = -1;
+  if (__glibc_unlikely (tty_gid == -1))
+    {
+      char *grtmpbuf;
+      struct group grbuf;
+      size_t grbuflen = __sysconf (_SC_GETGR_R_SIZE_MAX);
+      struct group *p;
+
+      /* Get the group ID of the special `tty' group.  */
+      if (grbuflen == (size_t) -1L)
+	/* `sysconf' does not support _SC_GETGR_R_SIZE_MAX.
+	   Try a moderate value.  */
+	grbuflen = 1024;
+      grtmpbuf = (char *) __alloca (grbuflen);
+      __getgrnam_r (TTY_GROUP, &grbuf, grtmpbuf, grbuflen, &p);
+      if (p != NULL)
+	tty_gid = p->gr_gid;
+    }
+  gid_t gid = tty_gid == -1 ? __getgid () : tty_gid;
+
+#if HAVE_PT_CHOWN
+  /* Make sure the group of the device is that special group.  */
+  if (st.st_gid != gid)
+    {
+      if (__chown (buf, uid, gid) < 0)
+	goto helper;
+    }
+
+  /* Make sure the permission mode is set to readable and writable by
+     the owner, and writable by the group.  */
+  mode_t mode = S_IRUSR|S_IWUSR|S_IWGRP;
+#else
+  /* When built without pt_chown, we have delegated the creation of the
+     pty node with the right group and permission mode to the kernel, and
+     non-root users are unlikely to be able to change it. Therefore let's
+     consider that POSIX enforcement is the responsibility of the whole
+     system and not only the GNU libc. Thus accept different group or
+     permission mode.  */
+
+  /* Make sure the permission is set to readable and writable by the
+     owner.  For security reasons, make it writable by the group only
+     when originally writable and when the group of the device is that
+     special group.  */
+  mode_t mode = S_IRUSR|S_IWUSR|
+	        ((st.st_gid == gid) ? (st.st_mode & S_IWGRP) : 0);
+#endif
+
+  if ((st.st_mode & ACCESSPERMS) != mode)
+    {
+      if (__chmod (buf, mode) < 0)
+	goto helper;
+    }
+
+  retval = 0;
+  goto cleanup;
+
+  /* We have to use the helper program if it is available.  */
+ helper:;
+
+#if HAVE_PT_CHOWN
+  pid_t pid = __fork ();
+  if (pid == -1)
+    goto cleanup;
+  else if (pid == 0)
+    {
+      /* Disable core dumps.  */
+      struct rlimit rl = { 0, 0 };
+      __setrlimit (RLIMIT_CORE, &rl);
+
+      /* We pass the master pseudo terminal as file descriptor PTY_FILENO.  */
+      if (fd != PTY_FILENO)
+	if (__dup2 (fd, PTY_FILENO) < 0)
+	  _exit (FAIL_EBADF);
+
+# ifdef CLOSE_ALL_FDS
+      CLOSE_ALL_FDS ();
+# endif
+
+      execle (_PATH_PT_CHOWN, __basename (_PATH_PT_CHOWN), NULL, NULL);
+      _exit (FAIL_EXEC);
+    }
+  else
+    {
+      int w;
+
+      if (__waitpid (pid, &w, 0) == -1)
+	goto cleanup;
+      if (!WIFEXITED (w))
+	__set_errno (ENOEXEC);
+      else
+	switch (WEXITSTATUS (w))
+	  {
+	  case 0:
+	    retval = 0;
+	    break;
+	  case FAIL_EBADF:
+	    __set_errno (EBADF);
+	    break;
+	  case FAIL_EINVAL:
+	    __set_errno (EINVAL);
+	    break;
+	  case FAIL_EACCES:
+	    __set_errno (EACCES);
+	    break;
+	  case FAIL_EXEC:
+	    __set_errno (ENOEXEC);
+	    break;
+	  case FAIL_ENOMEM:
+	    __set_errno (ENOMEM);
+	    break;
+
+	  default:
+	    assert(! "grantpt: internal error: invalid exit code from pt_chown");
+	  }
+    }
+#endif
+
+ cleanup:
+  if (buf != _buf)
+    free (buf);
+
+  return retval;
+}
diff --git a/REORG.TODO/sysdeps/unix/i386/sysdep.S b/REORG.TODO/sysdeps/unix/i386/sysdep.S
new file mode 100644
index 0000000000..f5321e02aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/i386/sysdep.S
@@ -0,0 +1,64 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+
+#if IS_IN (rtld)
+# include <dl-sysdep.h>		/* Defines RTLD_PRIVATE_ERRNO.  */
+#endif
+
+.globl C_SYMBOL_NAME(errno)
+.globl syscall_error
+
+__syscall_error:
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	cmpl $EWOULDBLOCK_sys, %eax /* Is it the old EWOULDBLOCK?  */
+	jne notb		/* Branch if not.  */
+	movl $EAGAIN, %eax	/* Yes; translate it to EAGAIN.  */
+notb:
+#endif
+#ifndef	PIC
+# ifndef NO_TLS_DIRECT_SEG_REFS
+	movl %eax, %gs:C_SYMBOL_NAME(errno@NTPOFF)
+# else
+	movl %gs:0, %ecx
+	movl %eax, C_SYMBOL_NAME(errno@NTPOFF)(%ecx)
+# endif
+#else
+	/* The caller has pushed %ebx and then set it up to
+	   point to the GOT before calling us through the PLT.  */
+	movl C_SYMBOL_NAME(errno@GOTNTPOFF)(%ebx), %ecx
+
+	/* Pop %ebx value saved before jumping here.  */
+	popl %ebx
+# ifndef NO_TLS_DIRECT_SEG_REFS
+	addl %gs:0, %ecx
+	movl %eax, (%ecx)
+# else
+	movl %eax, %gs:0(%ecx)
+# endif
+#endif
+	movl $-1, %eax
+	ret
+
+#undef	__syscall_error
+END (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/i386/sysdep.h b/REORG.TODO/sysdeps/unix/i386/sysdep.h
new file mode 100644
index 0000000000..b0aef3477d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/i386/sysdep.h
@@ -0,0 +1,35 @@
+/* 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 <sysdeps/unix/sysdep.h>
+#include <sysdeps/i386/sysdep.h>
+
+#ifdef	__ASSEMBLER__
+
+/* This is defined as a separate macro so that other sysdep.h files
+   can include this one and then redefine DO_CALL.  */
+
+#define DO_CALL(syscall_name, args)					      \
+  lea SYS_ify (syscall_name), %eax;					      \
+  lcall $7, $0
+
+#define	r0		%eax	/* Normal return-value register.  */
+#define	r1		%edx	/* Secondary return-value register.  */
+#define scratch 	%ecx	/* Call-clobbered register for random use.  */
+#define MOVE(x,y)	movl x, y
+
+#endif	/* __ASSEMBLER__ */
diff --git a/REORG.TODO/sysdeps/unix/ifreq.c b/REORG.TODO/sysdeps/unix/ifreq.c
new file mode 100644
index 0000000000..184afe1858
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/ifreq.c
@@ -0,0 +1,79 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 "ifreq.h"
+
+
+void
+__ifreq (struct ifreq **ifreqs, int *num_ifs, int sockfd)
+{
+  int fd = sockfd;
+  struct ifconf ifc;
+  int rq_len;
+  int nifs;
+# define RQ_IFS	4
+
+  if (fd < 0)
+    fd = __opensock ();
+  if (fd < 0)
+    {
+      *num_ifs = 0;
+      *ifreqs = NULL;
+      return;
+    }
+
+  ifc.ifc_buf = NULL;
+  rq_len = RQ_IFS * sizeof (struct ifreq) / 2; /* Doubled in the loop.  */
+  do
+    {
+      ifc.ifc_len = rq_len *= 2;
+      void *newp = realloc (ifc.ifc_buf, ifc.ifc_len);
+      if (newp == NULL || __ioctl (fd, SIOCGIFCONF, &ifc) < 0)
+	{
+	  free (ifc.ifc_buf);
+
+	  if (fd != sockfd)
+	    __close (fd);
+	  *num_ifs = 0;
+	  *ifreqs = NULL;
+	  return;
+	}
+      ifc.ifc_buf = newp;
+    }
+  while (rq_len < sizeof (struct ifreq) + ifc.ifc_len);
+
+  if (fd != sockfd)
+    __close (fd);
+
+#ifdef _HAVE_SA_LEN
+  struct ifreq *ifr = *ifreqs;
+  nifs = 0;
+  while ((char *) ifr < ifc.ifc_buf + ifc.ifc_len)
+    {
+      ++nifs;
+      ifr = __if_nextreq (ifr);
+      if (ifr == NULL)
+	break;
+    }
+#else
+  nifs = ifc.ifc_len / sizeof (struct ifreq);
+#endif
+
+  *num_ifs = nifs;
+  *ifreqs = realloc (ifc.ifc_buf, nifs * sizeof (struct ifreq));
+}
diff --git a/REORG.TODO/sysdeps/unix/inet/Subdirs b/REORG.TODO/sysdeps/unix/inet/Subdirs
new file mode 100644
index 0000000000..0a02dd4447
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/inet/Subdirs
@@ -0,0 +1,8 @@
+inet
+resolv
+hesiod
+sunrpc
+nis
+nscd
+nss
+streams
diff --git a/REORG.TODO/sysdeps/unix/make-syscalls.sh b/REORG.TODO/sysdeps/unix/make-syscalls.sh
new file mode 100644
index 0000000000..123553c1d9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/make-syscalls.sh
@@ -0,0 +1,321 @@
+#!/bin/sh
+
+# Usage: make-syscalls.sh ../sysdeps/unix/common
+# Expects $sysdirs in environment.
+
+##############################################################################
+#
+# This script is used to process the syscall data encoded in the various
+# syscalls.list files to produce thin assembly syscall wrappers around the
+# appropriate OS syscall. See syscall-template.s for more details on the
+# actual wrapper.
+#
+# Syscall Signature Prefixes:
+#
+# C: cancellable (i.e., this syscall is a cancellation point)
+# E: errno and return value are not set by the call
+# V: errno is not set, but errno or zero (success) is returned from the call
+#
+# Syscall Signature Key Letters:
+#
+# a: unchecked address (e.g., 1st arg to mmap)
+# b: non-NULL buffer (e.g., 2nd arg to read; return value from mmap)
+# B: optionally-NULL buffer (e.g., 4th arg to getsockopt)
+# f: buffer of 2 ints (e.g., 4th arg to socketpair)
+# F: 3rd arg to fcntl
+# i: scalar (any signedness & size: int, long, long long, enum, whatever)
+# I: 3rd arg to ioctl
+# n: scalar buffer length (e.g., 3rd arg to read)
+# N: pointer to value/return scalar buffer length (e.g., 6th arg to recvfrom)
+# p: non-NULL pointer to typed object (e.g., any non-void* arg)
+# P: optionally-NULL pointer to typed object (e.g., 2nd argument to gettimeofday)
+# s: non-NULL string (e.g., 1st arg to open)
+# S: optionally-NULL string (e.g., 1st arg to acct)
+# v: vararg scalar (e.g., optional 3rd arg to open)
+# V: byte-per-page vector (3rd arg to mincore)
+# W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
+#
+
+##############################################################################
+
+thisdir=$1; shift
+
+echo ''
+echo \#### DIRECTORY = $thisdir
+# Check each sysdep dir with higher priority than this one,
+# and remove from $calls all the functions found in other dirs.
+# Punt when we reach the directory defining these syscalls.
+sysdirs=`for dir in $sysdirs; do
+	 test $dir = $thisdir && break; echo $dir; done`
+echo \#### SYSDIRS = $sysdirs
+
+# Get the list of system calls for this directory.
+calls=`sed 's/#.*$//
+/^[ 	]*$/d' $thisdir/syscalls.list`
+
+calls=`echo "$calls" |
+while read file caller rest; do
+  # Remove each syscall that is implemented by a file in $dir.
+  # If a syscall specified a "caller", then only compile that syscall
+  # if the caller function is also implemented in this directory.
+  srcfile=-;
+  for dir in $sysdirs; do
+     { test -f $dir/$file.c && srcfile=$dir/$file.c; } ||
+     { test -f $dir/$file.S && srcfile=$dir/$file.S; } ||
+     { test x$caller != x- &&
+	{ { test -f $dir/$caller.c && srcfile=$dir/$caller.c; } ||
+	  { test -f $dir/$caller.S && srcfile=$dir/$caller.S; }; }; } && break;
+  done;
+  echo $file $srcfile $caller $rest;
+done`
+
+# Any calls left?
+test -n "$calls" || exit 0
+
+# This uses variables $weak, $strong, and $any_versioned.
+emit_weak_aliases()
+{
+  # A shortcoming in the current gas is that it will only allow one
+  # version-alias per symbol.  So we create new strong aliases as needed.
+  vcount=""
+
+  # We use the <shlib-compat.h> macros to generate the versioned aliases
+  # so that the version sets can be mapped to the configuration's
+  # minimum version set as per shlib-versions DEFAULT lines.  If an
+  # entry point is specified in the form NAME@VERSION:OBSOLETED, a
+  # SHLIB_COMPAT conditional is generated.
+  if [ $any_versioned = t ]; then
+    echo "	 echo '#include <shlib-compat.h>'; \\"
+  fi
+
+  for name in $weak; do
+    case $name in
+      *@@*)
+	base=`echo $name | sed 's/@@.*//'`
+	ver=`echo $name | sed 's/.*@@//;s/\./_/g'`
+	echo "	 echo '#if IS_IN (libc)'; \\"
+	if test -z "$vcount" ; then
+	  source=$strong
+	  vcount=1
+	else
+	  source="${strong}_${vcount}"
+	  vcount=`expr $vcount + 1`
+	  echo "	 echo 'strong_alias ($strong, $source)'; \\"
+	fi
+	echo "	 echo 'versioned_symbol (libc, $source, $base, $ver)'; \\"
+	echo "	 echo '#else'; \\"
+	echo "	 echo 'strong_alias ($strong, $base)'; \\"
+	echo "	 echo '#endif'; \\"
+	;;
+      *@*)
+	base=`echo $name | sed 's/@.*//'`
+	ver=`echo $name | sed 's/.*@//;s/\./_/g'`
+	case $ver in
+	  *:*)
+	    compat_ver=${ver#*:}
+	    ver=${ver%%:*}
+	    compat_cond=" && SHLIB_COMPAT (libc, $ver, $compat_ver)"
+	    ;;
+	  *)
+	    compat_cond=
+	    ;;
+	esac
+	echo "	 echo '#if defined SHARED && IS_IN (libc)$compat_cond'; \\"
+	if test -z "$vcount" ; then
+	  source=$strong
+	  vcount=1
+	else
+	  source="${strong}_${vcount}"
+	  vcount=`expr $vcount + 1`
+	  echo "	 echo 'strong_alias ($strong, $source)'; \\"
+	fi
+	echo "	 echo 'compat_symbol (libc, $source, $base, $ver)'; \\"
+	echo "	 echo '#endif'; \\"
+	;;
+      !*)
+	name=`echo $name | sed 's/.//'`
+	echo "	 echo 'strong_alias ($strong, $name)'; \\"
+	echo "	 echo 'hidden_def ($name)'; \\"
+	;;
+      *)
+	echo "	 echo 'weak_alias ($strong, $name)'; \\"
+	echo "	 echo 'hidden_weak ($name)'; \\"
+	;;
+    esac
+  done
+}
+
+
+# Emit rules to compile the syscalls remaining in $calls.
+echo "$calls" |
+while read file srcfile caller syscall args strong weak; do
+
+  vdso_syscall=
+  case x"$syscall" in
+  *:*@*)
+    vdso_syscall="${syscall#*:}"
+    syscall="${syscall%:*}"
+    ;;
+  esac
+
+  case x"$syscall" in
+  x-) callnum=_ ;;
+  *)
+  # Figure out if $syscall is defined with a number in syscall.h.
+  callnum=-
+  eval `{ echo "#include <sysdep.h>";
+	echo "callnum=SYS_ify ($syscall)"; } |
+	  $asm_CPP -D__OPTIMIZE__ - |
+	  sed -n -e "/^callnum=.*$syscall/d" \
+		 -e "/^\(callnum=\)[ 	]*\(.*\)/s//\1'\2'/p"`
+  ;;
+  esac
+
+  cancellable=0
+  noerrno=0
+  errval=0
+  case $args in
+  C*) cancellable=1; args=`echo $args | sed 's/C:\?//'`;;
+  E*) noerrno=1; args=`echo $args | sed 's/E:\?//'`;;
+  V*) errval=1; args=`echo $args | sed 's/V:\?//'`;;
+  esac
+
+  # Derive the number of arguments from the argument signature
+  case $args in
+  [0-9]) nargs=$args;;
+  ?:) nargs=0;;
+  ?:?) nargs=1;;
+  ?:??) nargs=2;;
+  ?:???) nargs=3;;
+  ?:????) nargs=4;;
+  ?:?????) nargs=5;;
+  ?:??????) nargs=6;;
+  ?:???????) nargs=7;;
+  ?:????????) nargs=8;;
+  ?:?????????) nargs=9;;
+  esac
+
+  # Make sure only the first syscall rule is used, if multiple dirs
+  # define the same syscall.
+  echo ''
+  echo "#### CALL=$file NUMBER=$callnum ARGS=$args SOURCE=$srcfile"
+
+  # If there are versioned aliases the entry is only generated for the
+  # shared library, unless it is a default version.
+  any_versioned=f
+  shared_only=f
+  case $weak in
+    *@@*) any_versioned=t ;;
+    *@*) any_versioned=t shared_only=t ;;
+  esac
+
+ case x$srcfile"$callnum" in
+ x--)
+  # Undefined callnum for an extra syscall.
+  if [ x$caller != x- ]; then
+    if [ $noerrno != 0 ]; then
+      echo >&2 "$0: no number for $fileno, no-error syscall ($strong $weak)"
+      exit 2
+    fi
+    echo "unix-stub-syscalls += $strong $weak"
+  fi
+  ;;
+ x*-) ;; ### Do nothing for undefined callnum
+ x-*)
+  echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
+
+  if test $shared_only = t; then
+    # The versioned symbols are only in the shared library.
+    echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
+  fi
+  # Accumulate the list of syscall files for this directory.
+  echo "unix-syscalls += $file"
+  test x$caller = x- || echo "unix-extra-syscalls += $file"
+
+  # Emit a compilation rule for this syscall.
+  if test $shared_only = t; then
+    # The versioned symbols are only in the shared library.
+    echo "shared-only-routines += $file"
+    test -n "$vdso_syscall" || echo "\$(objpfx)${file}.os: \\"
+  else
+    object_suffixes='$(object-suffixes)'
+    test -z "$vdso_syscall" || object_suffixes='$(object-suffixes-noshared)'
+    echo "\
+\$(foreach p,\$(sysd-rules-targets),\
+\$(foreach o,${object_suffixes},\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
+  fi
+
+  echo "		\$(..)sysdeps/unix/make-syscalls.sh"
+  case x"$callnum" in
+  x_)
+  echo "\
+	\$(make-target-directory)
+	(echo '/* Dummy module requested by syscalls.list */'; \\"
+  ;;
+  x*)
+  echo "\
+	\$(make-target-directory)
+	(echo '#define SYSCALL_NAME $syscall'; \\
+	 echo '#define SYSCALL_NARGS $nargs'; \\
+	 echo '#define SYSCALL_SYMBOL $strong'; \\
+	 echo '#define SYSCALL_CANCELLABLE $cancellable'; \\
+	 echo '#define SYSCALL_NOERRNO $noerrno'; \\
+	 echo '#define SYSCALL_ERRVAL $errval'; \\
+	 echo '#include <syscall-template.S>'; \\"
+  ;;
+  esac
+
+  # Append any weak aliases or versions defined for this syscall function.
+  emit_weak_aliases
+
+  # And finally, pipe this all into the compiler.
+  echo '	) | $(compile-syscall) '"\
+\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
+
+  if test -n "$vdso_syscall"; then
+    # In the shared library, we're going to emit an IFUNC using a vDSO function.
+    # $vdso_syscall looks like "name@KERNEL_X.Y" where "name" is the symbol
+    # name in the vDSO and KERNEL_X.Y is its symbol version.
+    vdso_symbol="${vdso_syscall%@*}"
+    vdso_symver="${vdso_syscall#*@}"
+    vdso_symver=`echo "$vdso_symver" | sed 's/\./_/g'`
+    cat <<EOF
+
+\$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
+		\$(..)sysdeps/unix/make-syscalls.sh
+	\$(make-target-directory)
+	(echo '#include <dl-vdso.h>'; \\
+	 echo 'extern void *${strong}_ifunc (void) __asm ("${strong}");'; \\
+	 echo 'void *'; \\
+	 echo 'inhibit_stack_protector'; \\
+	 echo '${strong}_ifunc (void)'; \\
+	 echo '{'; \\
+	 echo '  PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
+	 echo '  return _dl_vdso_vsym ("${vdso_symbol}", &symver);'; \\
+	 echo '}'; \\
+	 echo 'asm (".type ${strong}, %gnu_indirect_function");'; \\
+EOF
+    # This is doing "hidden_def (${strong})", but the compiler
+    # doesn't know that we've defined ${strong} in the same file, so
+    # we can't do it the normal way.
+    cat <<EOF
+	 echo 'asm (".globl __GI_${strong}");'; \\
+	 echo 'asm ("__GI_${strong} = ${strong}");'; \\
+EOF
+    emit_weak_aliases
+    cat <<EOF
+	) | \$(compile-stdin.c) \
+\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))
+EOF
+  fi
+
+  if test $shared_only = t; then
+    # The versioned symbols are only in the shared library.
+    echo endif
+  fi
+
+  echo endif
+ ;;
+ esac
+
+done
diff --git a/REORG.TODO/sysdeps/unix/mips/entry.h b/REORG.TODO/sysdeps/unix/mips/entry.h
new file mode 100644
index 0000000000..04d05d2b0a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/entry.h
@@ -0,0 +1,5 @@
+#ifndef __ASSEMBLY__
+extern void __start (void);
+#endif
+
+#define ENTRY_POINT __start
diff --git a/REORG.TODO/sysdeps/unix/mips/mips32/sysdep.h b/REORG.TODO/sysdeps/unix/mips/mips32/sysdep.h
new file mode 100644
index 0000000000..438b1e8e94
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/mips32/sysdep.h
@@ -0,0 +1,56 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/unix/mips/sysdep.h>
+
+/* Note that while it's better structurally, going back to call __syscall_error
+   can make things confusing if you're debugging---it looks like it's jumping
+   backwards into the previous fn.  */
+#ifdef __PIC__
+#define PSEUDO(name, syscall_name, args) \
+  .align 2;								      \
+  .set nomips16;							      \
+  cfi_startproc;							      \
+  99: la t9,__syscall_error;						      \
+  jr t9;								      \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  .set noreorder;							      \
+  .cpload t9;								      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  .set reorder;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#else
+#define PSEUDO(name, syscall_name, args) \
+  .set noreorder;							      \
+  .set nomips16;							      \
+  .align 2;								      \
+  cfi_startproc;							      \
+  99: j __syscall_error;						      \
+  nop;									      \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  .set noreorder;							      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  .set reorder;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#endif
diff --git a/REORG.TODO/sysdeps/unix/mips/mips64/n32/sysdep.h b/REORG.TODO/sysdeps/unix/mips/mips64/n32/sysdep.h
new file mode 100644
index 0000000000..60f5a45073
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/mips64/n32/sysdep.h
@@ -0,0 +1,64 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Alexandre Oliva <aoliva@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 <sysdeps/unix/mips/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+/* Note that while it's better structurally, going back to call __syscall_error
+   can make things confusing if you're debugging---it looks like it's jumping
+   backwards into the previous fn.  */
+#ifdef __PIC__
+#define PSEUDO(name, syscall_name, args) \
+  .align 2;								      \
+  .set nomips16;							      \
+  cfi_startproc;							      \
+  99:;									      \
+  .set noat;								      \
+  .cpsetup t9, $1, name;						      \
+  cfi_register (gp, $1);						      \
+  .set at;								      \
+  la t9,__syscall_error;						      \
+  .cpreturn;								      \
+  cfi_restore (gp);							      \
+  jr t9;								      \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#else
+#define PSEUDO(name, syscall_name, args) \
+  .set noreorder;							      \
+  .align 2;								      \
+  .set nomips16;							      \
+  cfi_startproc;							      \
+  99: j __syscall_error;						      \
+  nop;                                                                        \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  .set noreorder;							      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  .set reorder;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/mips/mips64/n64/sysdep.h b/REORG.TODO/sysdeps/unix/mips/mips64/n64/sysdep.h
new file mode 100644
index 0000000000..9d5a142312
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/mips64/n64/sysdep.h
@@ -0,0 +1,64 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Alexandre Oliva <aoliva@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 <sysdeps/unix/mips/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+/* Note that while it's better structurally, going back to call __syscall_error
+   can make things confusing if you're debugging---it looks like it's jumping
+   backwards into the previous fn.  */
+#ifdef __PIC__
+#define PSEUDO(name, syscall_name, args) \
+  .align 2;								      \
+  .set nomips16;							      \
+  cfi_startproc;							      \
+  99:;									      \
+  .set noat;								      \
+  .cpsetup t9, $1, name;						      \
+  cfi_register (gp, $1);						      \
+  .set at;								      \
+  dla t9,__syscall_error;						      \
+  .cpreturn;								      \
+  cfi_restore (gp);							      \
+  jr t9;								      \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#else
+#define PSEUDO(name, syscall_name, args) \
+  .set noreorder;							      \
+  .align 2;								      \
+  .set nomips16;							      \
+  cfi_startproc;							      \
+  99: j __syscall_error;						      \
+  nop;                                                                        \
+  cfi_endproc;								      \
+  ENTRY(name)								      \
+  .set noreorder;							      \
+  li v0, SYS_ify(syscall_name);						      \
+  syscall;								      \
+  .set reorder;								      \
+  bne a3, zero, 99b;							      \
+L(syse1):
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/mips/pipe.S b/REORG.TODO/sysdeps/unix/mips/pipe.S
new file mode 100644
index 0000000000..f51e55623d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/pipe.S
@@ -0,0 +1,32 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+SYSCALL__ (pipe, 1)
+	/* Plop in the two descriptors.  */
+	sw v0, 0(a0)
+	sw v1, 4(a0)
+
+	/* Go out with a clean status.  */
+	move v0, zero
+	j ra
+PSEUDO_END(__pipe)
+
+libc_hidden_def (__pipe)
+weak_alias (__pipe, pipe)
diff --git a/REORG.TODO/sysdeps/unix/mips/rt-sysdep.S b/REORG.TODO/sysdeps/unix/mips/rt-sysdep.S
new file mode 100644
index 0000000000..f966bf1e59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/rt-sysdep.S
@@ -0,0 +1 @@
+#include <sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/mips/sysdep.S b/REORG.TODO/sysdeps/unix/mips/sysdep.S
new file mode 100644
index 0000000000..7735968d97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/sysdep.S
@@ -0,0 +1,100 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+#include <sys/asm.h>
+
+	.set	nomips16
+
+#ifdef _LIBC_REENTRANT
+
+LOCALSZ= 3
+FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
+RAOFF= FRAMESZ-(1*SZREG)
+GPOFF= FRAMESZ-(2*SZREG)
+V0OFF= FRAMESZ-(3*SZREG)
+
+ENTRY(__syscall_error)
+#ifdef __PIC__
+	.set noat
+	SETUP_GPX (AT)
+	.set at
+#endif
+	PTR_SUBU sp, FRAMESZ
+	.set noat
+	SETUP_GPX64(GPOFF,AT)
+	.set at
+#ifdef __PIC__
+	SAVE_GP(GPOFF)
+#endif
+	REG_S	v0, V0OFF(sp)
+	REG_S	ra, RAOFF(sp)
+
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	bne	v0, EWOULDBLOCK_sys, L(skip)
+	nop
+	li	v0, EAGAIN
+L(skip):
+#endif
+	/* Find our per-thread errno address  */
+	jal	__errno_location
+
+	/* Store the error value.  */
+	REG_L	t0, V0OFF(sp)
+	sw	t0, 0(v0)
+
+	/* And just kick back a -1.  */
+	REG_L	ra, RAOFF(sp)
+	RESTORE_GP64
+	PTR_ADDU sp, FRAMESZ
+	li	v0, -1
+	j	ra
+	END(__syscall_error)
+
+#else /* _LIBC_REENTRANT */
+
+
+ENTRY(__syscall_error)
+#ifdef __PIC__
+	SETUP_GPX (AT)
+#endif
+	SETUP_GPX64 (t9, AT)
+
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	bne v0, EWOULDBLOCK_sys, L(skip)
+	li v0, EAGAIN
+L(skip):
+#endif
+	/* Store it in errno... */
+	sw v0, errno
+
+	/* And just kick back a -1.  */
+	li v0, -1
+
+	RESTORE_GP64
+	j ra
+	END(__syscall_error)
+#endif  /* _LIBC_REENTRANT  */
diff --git a/REORG.TODO/sysdeps/unix/mips/sysdep.h b/REORG.TODO/sysdeps/unix/mips/sysdep.h
new file mode 100644
index 0000000000..102f34a6a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/mips/sysdep.h
@@ -0,0 +1,85 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe (brendan@zen.org).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sgidefs.h>
+#include <sysdeps/unix/sysdep.h>
+
+#ifndef __mips_isa_rev
+# define __mips_isa_rev 0
+#endif
+
+#ifdef __ASSEMBLER__
+
+#include <regdef.h>
+
+#define ENTRY(name) \
+  .globl name;								      \
+  .align 2;								      \
+  .ent name,0;								      \
+  name##:								      \
+  cfi_startproc;
+
+#undef END
+#define	END(function)                                   \
+		cfi_endproc;				\
+		.end	function;		        \
+		.size	function,.-function
+
+#define ret	j ra ; nop
+
+#undef PSEUDO_END
+#define PSEUDO_END(sym) cfi_endproc; .end sym; .size sym,.-sym
+
+#define PSEUDO_NOERRNO(name, syscall_name, args)	\
+  .align 2;						\
+  ENTRY(name)						\
+  .set nomips16;					\
+  .set noreorder;					\
+  li v0, SYS_ify(syscall_name);				\
+  syscall
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(sym) cfi_endproc; .end sym; .size sym,.-sym
+
+#define ret_NOERRNO ret
+
+#define PSEUDO_ERRVAL(name, syscall_name, args)	\
+  .align 2;						\
+  ENTRY(name)						\
+  .set nomips16;					\
+  .set noreorder;					\
+  li v0, SYS_ify(syscall_name);				\
+  syscall
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(sym) cfi_endproc; .end sym; .size sym,.-sym
+
+#define ret_ERRVAL ret
+
+#define r0	v0
+#define r1	v1
+/* The mips move insn is d,s.  */
+#define MOVE(x,y)	move y , x
+
+#if _MIPS_SIM == _ABIO32
+# define L(label) $L ## label
+#else
+# define L(label) .L ## label
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/powerpc/sysdep.h b/REORG.TODO/sysdeps/unix/powerpc/sysdep.h
new file mode 100644
index 0000000000..2141593a2b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/powerpc/sysdep.h
@@ -0,0 +1,24 @@
+/* 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 <sysdeps/unix/sysdep.h>
+#include <bits/wordsize.h>
+#if __WORDSIZE == 64
+#include <sysdeps/powerpc/powerpc64/sysdep.h>
+#else
+#include <sysdeps/powerpc/powerpc32/sysdep.h>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/s-proto-cancel.S b/REORG.TODO/sysdeps/unix/s-proto-cancel.S
new file mode 100644
index 0000000000..042be3c8df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/s-proto-cancel.S
@@ -0,0 +1,5 @@
+/* This file exists just to have its dependencies determined.
+   Those dependencies are then used for the objects of the cancellable
+   system calls.  */
+
+#include <sysdep-cancel.h>
diff --git a/REORG.TODO/sysdeps/unix/s-proto.S b/REORG.TODO/sysdeps/unix/s-proto.S
new file mode 100644
index 0000000000..52a197036c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/s-proto.S
@@ -0,0 +1,4 @@
+/* This file exists just to have its dependencies determined.
+   Those dependencies are then used for the simple system call objects.  */
+
+#include <sysdep.h>
diff --git a/REORG.TODO/sysdeps/unix/setxid.h b/REORG.TODO/sysdeps/unix/setxid.h
new file mode 100644
index 0000000000..c18e2d4a6b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/setxid.h
@@ -0,0 +1,4 @@
+#include <sysdep.h>
+
+#define INLINE_SETXID_SYSCALL(name, nr, args...) \
+  INLINE_SYSCALL (name, nr, args)
diff --git a/REORG.TODO/sysdeps/unix/sh/sysdep.S b/REORG.TODO/sysdeps/unix/sh/sysdep.S
new file mode 100644
index 0000000000..85298581a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sh/sysdep.S
@@ -0,0 +1,116 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+
+ENTRY(__syscall_error)
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	mov.l	.L1, r1
+	cmp/eq	r1, r0
+	bf	skip
+	nop
+	mov.l	.L2, r0
+skip:
+#endif
+	/* Store it in errno... */
+#ifndef SHARED
+#ifndef _LIBC_REENTRANT
+	mov.l	.L3, r1
+	mov.l	r0, @r1
+#else
+	mov.l	.L3, r1
+	sts.l	pr, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (pr, 0)
+	mov.l	r0, @-r15
+	cfi_adjust_cfa_offset (4)
+	jsr	@r1
+	 nop
+	mov.l	@r15+, r1
+	cfi_adjust_cfa_offset (-4)
+	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
+	mov.l	r1, @r0
+#endif
+#else
+	mov.l	r12, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (r12, 0)
+#ifndef _LIBC_REENTRANT
+	mov	r0, r2
+        mov.l	0f, r12
+	mova	0f, r0
+	add	r0, r12
+	mov.l	.L3, r0
+	mov.l	@(r0,r12), r1
+	mov.l	r2, @r1
+#else
+	mov.l	r0, @-r15
+	cfi_adjust_cfa_offset (4)
+	sts.l	pr, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (pr, 0)
+        mov.l	0f, r12
+	mova	0f, r0
+	add	r0, r12
+	mov.l	.L3, r1
+	mova	.L3, r0
+	add	r0, r1
+	jsr	@r1
+	 nop
+	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
+	mov.l	@r15+, r1
+	cfi_adjust_cfa_offset (-4)
+	mov.l	r1, @r0
+#endif
+	mov.l	@r15+, r12
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r12)
+#endif
+	/* And just kick back a -1.  */
+	rts
+	 mov	#-1, r0
+
+	.align	2
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+.L1:	.long	EWOULDBLOCK_sys
+.L2:	.long	EAGAIN
+#endif
+#ifndef SHARED
+#ifndef _LIBC_REENTRANT
+.L3:	.long	C_SYMBOL_NAME(errno)
+#else
+.L3:	.long	C_SYMBOL_NAME(__errno_location)
+#endif
+#else
+0:
+	.long	_GLOBAL_OFFSET_TABLE_
+#ifndef _LIBC_REENTRANT
+.L3:	.long	C_SYMBOL_NAME(errno@GOT)
+#else
+.L3:	.long	C_SYMBOL_NAME(__errno_location@PLT)
+#endif
+#endif
+END(__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sh/sysdep.h b/REORG.TODO/sysdeps/unix/sh/sysdep.h
new file mode 100644
index 0000000000..52ff8adf5f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sh/sysdep.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/sh/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+#define ret	rts ; nop
+
+/* The sh move insn is s, d.  */
+#define MOVE(x,y)	mov x , y
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sockatmark.c b/REORG.TODO/sysdeps/unix/sockatmark.c
new file mode 100644
index 0000000000..6ff3c479b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sockatmark.c
@@ -0,0 +1,28 @@
+/* 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 <sys/ioctl.h>
+#include <sys/socket.h>
+
+/* Determine wheter socket is at a out-of-band mark.  */
+int
+sockatmark (int fd)
+{
+  int answ;
+
+  return __ioctl (fd, SIOCATMARK, &answ) == -1 ? -1 : answ;
+}
diff --git a/REORG.TODO/sysdeps/unix/stime.c b/REORG.TODO/sysdeps/unix/stime.c
new file mode 100644
index 0000000000..526ba13914
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/stime.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>		/* For NULL.  */
+#include <sys/time.h>
+#include <time.h>
+
+/* Set the system clock to *WHEN.  */
+
+int
+stime (const time_t *when)
+{
+  struct timeval tv;
+
+  if (when == NULL)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  tv.tv_sec = *when;
+  tv.tv_usec = 0;
+  return __settimeofday (&tv, (struct timezone *) 0);
+}
diff --git a/REORG.TODO/sysdeps/unix/syscall-template.S b/REORG.TODO/sysdeps/unix/syscall-template.S
new file mode 100644
index 0000000000..4993ff562d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/syscall-template.S
@@ -0,0 +1,90 @@
+/* Assembly code template for system call stubs.
+   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/>.  */
+
+/* The real guts of this work are in the macros defined in the
+   machine- and kernel-specific sysdep.h header file.  When we
+   are defining a cancellable system call, the sysdep-cancel.h
+   versions of those macros are what we really use.
+
+   Each system call's object is built by a rule in sysd-syscalls
+   generated by make-syscalls.sh that #include's this file after
+   defining a few macros:
+	SYSCALL_NAME		syscall name
+	SYSCALL_NARGS		number of arguments this call takes
+	SYSCALL_SYMBOL		primary symbol name
+	SYSCALL_CANCELLABLE	1 if the call is a cancelation point
+	SYSCALL_NOERRNO		1 to define a no-errno version (see below)
+	SYSCALL_ERRVAL		1 to define an error-value version (see below)
+
+   We used to simply pipe the correct three lines below through cpp into
+   the assembler.  The main reason to have this file instead is so that
+   stub objects can be assembled with -g and get source line information
+   that leads a user back to a source file and these fine comments.  The
+   average user otherwise has a hard time knowing which "syscall-like"
+   functions in libc are plain stubs and which have nontrivial C wrappers.
+   Some versions of the "plain" stub generation macros are more than a few
+   instructions long and the untrained eye might not distinguish them from
+   some compiled code that inexplicably lacks source line information.  */
+
+#if SYSCALL_CANCELLABLE
+# include <sysdep-cancel.h>
+#else
+# include <sysdep.h>
+#endif
+
+/* This indirection is needed so that SYMBOL gets macro-expanded.  */
+#define syscall_hidden_def(SYMBOL)		hidden_def (SYMBOL)
+
+#define T_PSEUDO(SYMBOL, NAME, N)		PSEUDO (SYMBOL, NAME, N)
+#define T_PSEUDO_NOERRNO(SYMBOL, NAME, N)	PSEUDO_NOERRNO (SYMBOL, NAME, N)
+#define T_PSEUDO_ERRVAL(SYMBOL, NAME, N)	PSEUDO_ERRVAL (SYMBOL, NAME, N)
+#define T_PSEUDO_END(SYMBOL)			PSEUDO_END (SYMBOL)
+#define T_PSEUDO_END_NOERRNO(SYMBOL)		PSEUDO_END_NOERRNO (SYMBOL)
+#define T_PSEUDO_END_ERRVAL(SYMBOL)		PSEUDO_END_ERRVAL (SYMBOL)
+
+#if SYSCALL_NOERRNO
+
+/* This kind of system call stub never returns an error.
+   We return the return value register to the caller unexamined.  */
+
+T_PSEUDO_NOERRNO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
+	ret_NOERRNO
+T_PSEUDO_END_NOERRNO (SYSCALL_SYMBOL)
+
+#elif SYSCALL_ERRVAL
+
+/* This kind of system call stub returns the errno code as its return
+   value, or zero for success.  We may massage the kernel's return value
+   to meet that ABI, but we never set errno here.  */
+
+T_PSEUDO_ERRVAL (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
+	ret_ERRVAL
+T_PSEUDO_END_ERRVAL (SYSCALL_SYMBOL)
+
+#else
+
+/* This is a "normal" system call stub: if there is an error,
+   it returns -1 and sets errno.  */
+
+T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
+	ret
+T_PSEUDO_END (SYSCALL_SYMBOL)
+
+#endif
+
+syscall_hidden_def (SYSCALL_SYMBOL)
diff --git a/REORG.TODO/sysdeps/unix/syscall.S b/REORG.TODO/sysdeps/unix/syscall.S
new file mode 100644
index 0000000000..2a7b9f9939
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/syscall.S
@@ -0,0 +1,29 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#ifndef SYS_syscall
+#define SYS_syscall	0
+#endif
+
+/* This works if the kernel does an "indirect system call" for system call 0,
+   taking the first argument word off the stack as the system call number.  */
+
+SYSCALL (syscall, 1)
+	ret
+PSEUDO_END(syscall)
diff --git a/REORG.TODO/sysdeps/unix/syscalls.list b/REORG.TODO/sysdeps/unix/syscalls.list
new file mode 100644
index 0000000000..61e5360b4d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/syscalls.list
@@ -0,0 +1,100 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+accept		-	accept		Ci:iBN	__libc_accept	accept
+access		-	access		i:si	__access	access
+acct		-	acct		i:S	acct
+adjtime		-	adjtime		i:pp	__adjtime	adjtime
+bind		-	bind		i:ipi	__bind		bind
+chdir		-	chdir		i:s	__chdir		chdir
+chmod		-	chmod		i:si	__chmod		chmod
+chown		-	chown		i:sii	__chown		chown
+chroot		-	chroot		i:s	chroot
+close		-	close		Ci:i	__libc_close	__close close
+connect		-	connect		Ci:ipi	__libc_connect	__connect connect
+dup		-	dup		i:i	__dup		dup
+dup2		-	dup2		i:ii	__dup2		dup2
+dup3		-	dup3		i:iii	__dup3		dup3
+fchdir		-	fchdir		i:i	__fchdir	fchdir
+fchmod		-	fchmod		i:ii	__fchmod	fchmod
+fchown		-	fchown		i:iii	__fchown	fchown
+fcntl		-	fcntl		Ci:iiF	__libc_fcntl	__fcntl fcntl
+fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs
+ftruncate	-	ftruncate	i:ii	__ftruncate	ftruncate
+getdomain	-	getdomainname	i:si	getdomainname
+getgid		-	getgid		Ei:	__getgid	getgid
+getgroups	-	getgroups	i:ip	__getgroups	getgroups
+gethostid	-	gethostid	i:	gethostid
+gethostname	-	gethostname	i:bn	__gethostname	gethostname
+getitimer	-	getitimer	i:ip	__getitimer	getitimer
+getpeername	-	getpeername	i:ibN	__getpeername	getpeername
+getpid		-	getpid		Ei:	__getpid	getpid
+getpriority	-	getpriority	i:ii	__getpriority	getpriority
+getrlimit	-	getrlimit	i:ip	__getrlimit	getrlimit
+getrusage	-	getrusage	i:ip	__getrusage	getrusage
+getsockname	-	getsockname	i:ibN	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	getsockopt
+gettimeofday	-	gettimeofday	i:pP	__gettimeofday	gettimeofday
+getuid		-	getuid		Ei:	__getuid	getuid
+ioctl		-	ioctl		i:iiI	__ioctl		ioctl
+kill		-	kill		i:ii	__kill		kill
+link		-	link		i:ss	__link		link
+listen		-	listen		i:ii	__listen	listen
+lseek		-	lseek		i:iii	__libc_lseek	__lseek lseek
+madvise		-	madvise		i:pii	__madvise	madvise
+mkdir		-	mkdir		i:si	__mkdir		mkdir
+mmap		-	mmap		b:aniiii __mmap		mmap
+mprotect	-	mprotect	i:aii	__mprotect	mprotect
+munmap		-	munmap		i:ai	__munmap	munmap
+open		-	open		Ci:siv	__libc_open __open open
+profil		-	profil		i:piii	__profil	profil
+ptrace		-	ptrace		i:iiii	ptrace
+read		-	read		Ci:ibn	__libc_read	__read read
+readlink	-	readlink	i:spi	__readlink	readlink
+readv		-	readv		Ci:ipi	__readv		readv
+reboot		-	reboot		i:i	reboot
+recv		-	recv		Ci:ibni	__libc_recv	recv
+recvfrom	-	recvfrom	Ci:ibniBN	__libc_recvfrom __recvfrom recvfrom
+recvmsg		-	recvmsg		Ci:ipi	__libc_recvmsg	__recvmsg recvmsg
+rename		-	rename		i:ss	rename
+rmdir		-	rmdir		i:s	__rmdir		rmdir
+select		-	select		Ci:iPPPP	__select	__libc_select select
+send		-	send		Ci:ibni	__libc_send	__send send
+sendmsg		-	sendmsg		Ci:ipi	__libc_sendmsg	__sendmsg sendmsg
+sendto		-	sendto		Ci:ibnibn	__libc_sendto	__sendto sendto
+setdomain	-	setdomainname	i:si	setdomainname
+setegid		-	setegid		i:i	__setegid	setegid
+seteuid		-	seteuid		i:i	__seteuid	seteuid
+setgid		-	setgid		i:i	__setgid	setgid
+setgroups	-	setgroups	i:ip	setgroups
+sethostid	-	sethostid	i:i	sethostid
+sethostname	-	sethostname	i:pi	sethostname
+setitimer	-	setitimer	i:ipp	__setitimer	setitimer
+setpgid		-	setpgrp		i:ii	__setpgid	setpgid
+setpriority	-	setpriority	i:iii	__setpriority	setpriority
+setregid	-	setregid	i:ii	__setregid	setregid
+setreuid	-	setreuid	i:ii	__setreuid	setreuid
+setrlimit	-	setrlimit	i:ip	__setrlimit setrlimit
+setsid		-	setsid		i:	__setsid	setsid
+setsockopt	-	setsockopt	i:iiibn	setsockopt	__setsockopt
+settimeofday	-	settimeofday	i:PP	__settimeofday	settimeofday
+setuid		-	setuid		i:i	__setuid	setuid
+shutdown	-	shutdown	i:ii	shutdown
+sigaction	-	sigaction	i:ipp	__sigaction	sigaction
+sigsuspend	-	sigsuspend	Ci:p	sigsuspend
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	socketpair
+sstk		-	sstk		b:i	sstk
+statfs		-	statfs		i:sp	__statfs	statfs
+swapoff		-	swapoff		i:s	swapoff
+swapon		-	swapon		i:s	swapon
+symlink		-	symlink		i:ss	__symlink	symlink
+sync		-	sync		i:	sync
+syncfs		-	syncfs		i:i	syncfs
+truncate	-	truncate	i:si	__truncate	truncate
+umask		-	umask		Ei:i	__umask		umask
+uname		-	uname		i:p	__uname		uname
+unlink		-	unlink		i:s	__unlink	unlink
+utimes		-	utimes		i:sp	__utimes	utimes
+vhangup		-	vhangup		i:i	vhangup
+write		-	write		Ci:ibn	__libc_write	__write write
+writev		-	writev		Ci:ipi	__writev	writev
diff --git a/REORG.TODO/sysdeps/unix/sysdep.h b/REORG.TODO/sysdeps/unix/sysdep.h
new file mode 100644
index 0000000000..c308547dec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysdep.h
@@ -0,0 +1,132 @@
+/* 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 <sysdeps/generic/sysdep.h>
+
+#include <sys/syscall.h>
+#define	HAVE_SYSCALLS
+
+/* Note that using a `PASTE' macro loses.  */
+#define	SYSCALL__(name, args)	PSEUDO (__##name, name, args)
+#define	SYSCALL(name, args)	PSEUDO (name, name, args)
+
+#define __SYSCALL_CONCAT_X(a,b)     a##b
+#define __SYSCALL_CONCAT(a,b)       __SYSCALL_CONCAT_X (a, b)
+
+
+#define __INTERNAL_SYSCALL0(name, err) \
+  INTERNAL_SYSCALL (name, err, 0)
+#define __INTERNAL_SYSCALL1(name, err, a1) \
+  INTERNAL_SYSCALL (name, err, 1, a1)
+#define __INTERNAL_SYSCALL2(name, err, a1, a2) \
+  INTERNAL_SYSCALL (name, err, 2, a1, a2)
+#define __INTERNAL_SYSCALL3(name, err, a1, a2, a3) \
+  INTERNAL_SYSCALL (name, err, 3, a1, a2, a3)
+#define __INTERNAL_SYSCALL4(name, err, a1, a2, a3, a4) \
+  INTERNAL_SYSCALL (name, err, 4, a1, a2, a3, a4)
+#define __INTERNAL_SYSCALL5(name, err, a1, a2, a3, a4, a5) \
+  INTERNAL_SYSCALL (name, err, 5, a1, a2, a3, a4, a5)
+#define __INTERNAL_SYSCALL6(name, err, a1, a2, a3, a4, a5, a6) \
+  INTERNAL_SYSCALL (name, err, 6, a1, a2, a3, a4, a5, a6)
+#define __INTERNAL_SYSCALL7(name, err, a1, a2, a3, a4, a5, a6, a7) \
+  INTERNAL_SYSCALL (name, err, 7, a1, a2, a3, a4, a5, a6, a7)
+
+#define __INTERNAL_SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,o,...) o
+#define __INTERNAL_SYSCALL_NARGS(...) \
+  __INTERNAL_SYSCALL_NARGS_X (__VA_ARGS__,7,6,5,4,3,2,1,0,)
+#define __INTERNAL_SYSCALL_DISP(b,...) \
+  __SYSCALL_CONCAT (b,__INTERNAL_SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__)
+
+/* Issue a syscall defined by syscall number plus any other argument required.
+   It is similar to INTERNAL_SYSCALL macro, but without the need to pass the
+   expected argument number as second parameter.  */
+#define INTERNAL_SYSCALL_CALL(...) \
+  __INTERNAL_SYSCALL_DISP (__INTERNAL_SYSCALL, __VA_ARGS__)
+
+#define __INLINE_SYSCALL0(name) \
+  INLINE_SYSCALL (name, 0)
+#define __INLINE_SYSCALL1(name, a1) \
+  INLINE_SYSCALL (name, 1, a1)
+#define __INLINE_SYSCALL2(name, a1, a2) \
+  INLINE_SYSCALL (name, 2, a1, a2)
+#define __INLINE_SYSCALL3(name, a1, a2, a3) \
+  INLINE_SYSCALL (name, 3, a1, a2, a3)
+#define __INLINE_SYSCALL4(name, a1, a2, a3, a4) \
+  INLINE_SYSCALL (name, 4, a1, a2, a3, a4)
+#define __INLINE_SYSCALL5(name, a1, a2, a3, a4, a5) \
+  INLINE_SYSCALL (name, 5, a1, a2, a3, a4, a5)
+#define __INLINE_SYSCALL6(name, a1, a2, a3, a4, a5, a6) \
+  INLINE_SYSCALL (name, 6, a1, a2, a3, a4, a5, a6)
+#define __INLINE_SYSCALL7(name, a1, a2, a3, a4, a5, a6, a7) \
+  INLINE_SYSCALL (name, 7, a1, a2, a3, a4, a5, a6, a7)
+
+#define __INLINE_SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
+#define __INLINE_SYSCALL_NARGS(...) \
+  __INLINE_SYSCALL_NARGS_X (__VA_ARGS__,7,6,5,4,3,2,1,0,)
+#define __INLINE_SYSCALL_DISP(b,...) \
+  __SYSCALL_CONCAT (b,__INLINE_SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__)
+
+/* Issue a syscall defined by syscall number plus any other argument
+   required.  Any error will be handled using arch defined macros and errno
+   will be set accordingly.
+   It is similar to INLINE_SYSCALL macro, but without the need to pass the
+   expected argument number as second parameter.  */
+#define INLINE_SYSCALL_CALL(...) \
+  __INLINE_SYSCALL_DISP (__INLINE_SYSCALL, __VA_ARGS__)
+
+#define SYSCALL_CANCEL(...) \
+  ({									     \
+    long int sc_ret;							     \
+    if (SINGLE_THREAD_P) 						     \
+      sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__); 			     \
+    else								     \
+      {									     \
+	int sc_cancel_oldtype = LIBC_CANCEL_ASYNC ();			     \
+	sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__);			     \
+        LIBC_CANCEL_RESET (sc_cancel_oldtype);				     \
+      }									     \
+    sc_ret;								     \
+  })
+
+/* Machine-dependent sysdep.h files are expected to define the macro
+   PSEUDO (function_name, syscall_name) to emit assembly code to define the
+   C-callable function FUNCTION_NAME to do system call SYSCALL_NAME.
+   r0 and r1 are the system call outputs.  MOVE(x, y) should be defined as
+   an instruction such that "MOVE(r1, r0)" works.  ret should be defined
+   as the return instruction.  */
+
+#ifndef SYS_ify
+#define SYS_ify(syscall_name) SYS_##syscall_name
+#endif
+
+/* Terminate a system call named SYM.  This is used on some platforms
+   to generate correct debugging information.  */
+#ifndef PSEUDO_END
+#define PSEUDO_END(sym)
+#endif
+#ifndef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(sym)	PSEUDO_END(sym)
+#endif
+#ifndef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(sym)	PSEUDO_END(sym)
+#endif
+
+/* Wrappers around system calls should normally inline the system call code.
+   But sometimes it is not possible or implemented and we use this code.  */
+#ifndef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...) __syscall_##name (args)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/Implies
new file mode 100644
index 0000000000..a579e634ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/Implies
@@ -0,0 +1,9 @@
+# All Linux builds use NPTL.
+nptl
+
+# The gnu subdirectory exists for things common to both Linux-based and
+# Hurd-based GNU systems.
+gnu
+
+# Linux has network support in the kernel.
+unix/inet
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/Makefile
new file mode 100644
index 0000000000..99b3f9d346
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/Makefile
@@ -0,0 +1,212 @@
+ifeq ($(subdir),csu)
+sysdep_routines += errno-loc
+endif
+
+ifeq ($(subdir),assert)
+CFLAGS-assert.c += -DFATAL_PREPARE_INCLUDE='<fatal-prepare.h>'
+CFLAGS-assert-perr.c += -DFATAL_PREPARE_INCLUDE='<fatal-prepare.h>'
+endif
+
+ifeq ($(subdir),malloc)
+CFLAGS-malloc.c += -DMORECORE_CLEARS=2
+endif
+
+ifeq ($(subdir),misc)
+include $(firstword $(wildcard $(sysdirs:=/sysctl.mk)))
+
+sysdep_routines += clone umount umount2 readahead \
+		   setfsuid setfsgid epoll_pwait signalfd \
+		   eventfd eventfd_read eventfd_write prlimit \
+		   personality epoll_wait tee vmsplice splice \
+		   open_by_handle_at
+
+CFLAGS-gethostid.c = -fexceptions
+CFLAGS-tee.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-vmsplice.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-splice.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-open_by_handle_at.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=(0x80000000-sysconf(_SC_PAGESIZE))"
+
+# Note that bits/mman-linux.h is listed here though the file lives in the
+# top-level bits/ subdirectory instead of here in sysdeps/.../linux/bits/.
+# That is just so that other (non-Linux) configurations for whom the
+# bits/mman-linux.h definitions work well do not have to duplicate the
+# contents of the file.  The file must still be listed in sysdep_headers
+# here and in any non-Linux configuration that uses it; other
+# configurations will not install the file.
+sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
+		  sys/klog.h \
+		  sys/user.h sys/prctl.h \
+		  sys/kd.h sys/soundcard.h sys/vt.h \
+		  sys/quota.h sys/fsuid.h \
+		  scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \
+		  sys/raw.h sys/personality.h sys/epoll.h \
+		  bits/a.out.h sys/inotify.h sys/signalfd.h sys/eventfd.h \
+		  sys/timerfd.h sys/fanotify.h bits/eventfd.h bits/inotify.h \
+		  bits/signalfd.h bits/timerfd.h bits/epoll.h \
+		  bits/socket_type.h bits/syscall.h bits/sysctl.h \
+		  bits/mman-linux.h \
+		  bits/siginfo-arch.h bits/siginfo-consts-arch.h
+
+tests += tst-clone tst-clone2 tst-fanotify tst-personality tst-quota \
+	 tst-sync_file_range test-errno-linux
+
+# Generate the list of SYS_* macros for the system calls (__NR_* macros).
+
+# If there is more than one syscall list for different architecture
+# variants, the CPU/Makefile defines abi-variants to be a list of names
+# for those variants (e.g. 32 64), and, for each variant, defines
+# abi-$(variant)-options to be compiler options to cause <asm/unistd.h>
+# to define the desired list of syscalls and abi-$(variant)-condition to
+# be the condition for those options to use in a C #if condition.
+# abi-includes may be defined to a list of headers to include
+# in the generated header, if the default does not suffice.
+#
+# The generated header is compiled with `-ffreestanding' to avoid any
+# circular dependencies against the installed implementation headers.
+# Such a dependency would require the implementation header to be
+# installed before the generated header could be built (See bug 15711).
+# In current practice the generated header dependencies do not include
+# any of the implementation headers removed by the use of `-ffreestanding'.
+
+$(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/syscall.h
+	$(make-target-directory)
+	{ \
+	 echo '/* Generated at libc build time from kernel syscall list.  */';\
+	 echo ''; \
+	 echo '#ifndef _SYSCALL_H'; \
+	 echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
+	 echo '#endif'; \
+	 echo ''; \
+	 $(foreach h,$(abi-includes), echo '#include <$(h)>';) \
+	 echo ''; \
+	 $(if $(abi-variants), \
+	 $(foreach v,$(abi-variants),\
+	 $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
+	       -x c $(sysincludes) $< $(abi-$(v)-options) \
+	       -D_LIBC -dM | \
+	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
+	 LC_ALL=C sort > $(@:.d=.h).new$(v); \
+	 $(if $(abi-$(v)-condition),\
+	 echo '#if $(abi-$(v)-condition)';) \
+	 cat $(@:.d=.h).new$(v); \
+	 $(if $(abi-$(v)-condition),echo '#endif';) \
+	 rm -f $(@:.d=.h).new$(v); \
+	 ), \
+	 $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
+	       -x c $(sysincludes) $< \
+	       -D_LIBC -dM | \
+	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
+	 LC_ALL=C sort;) \
+	} > $(@:.d=.h).new
+	mv -f $(@:.d=.h).new $(@:.d=.h)
+ifdef abi-variants
+ifneq (,$(objpfx))
+	sed $(sed-remove-objpfx) \
+	 $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v)) > $(@:.h=.d)-t3
+else
+	cat $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v)) \
+	 > $(@:.h=.d)-t3
+endif
+	rm -f $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v))
+	mv -f $(@:.h=.d)-t3 $(@:.h=.d)
+else
+	mv -f $(@:.h=.d)-t $(@:.h=.d)
+endif
+
+ifndef no_deps
+# Get the generated list of dependencies (probably /usr/include/asm/unistd.h).
+-include $(objpfx)bits/syscall.d
+endif
+generated += bits/syscall.h bits/syscall.d
+endif
+
+ifeq ($(subdir),time)
+sysdep_headers += sys/timex.h bits/timex.h
+
+sysdep_routines += ntp_gettime ntp_gettimex
+endif
+
+ifeq ($(subdir),socket)
+sysdep_headers += net/if_ppp.h net/ppp-comp.h \
+		  net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \
+		  net/if_slip.h net/if_packet.h net/if_shaper.h
+sysdep_routines += cmsg_nxthdr
+CFLAGS-recvmmsg.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-sendmmsg.c = -fexceptions -fasynchronous-unwind-tables
+endif
+
+ifeq ($(subdir),sunrpc)
+sysdep_headers += nfs/nfs.h
+endif
+
+ifeq ($(subdir),termios)
+sysdep_headers += termio.h
+endif
+
+ifeq ($(subdir),posix)
+sysdep_headers += bits/initspin.h
+
+sysdep_routines += sched_getcpu
+
+tests += tst-affinity tst-affinity-pid
+
+CFLAGS-fork.c = $(libio-mtsafe)
+CFLAGS-getpid.o = -fomit-frame-pointer
+CFLAGS-getpid.os = -fomit-frame-pointer
+endif
+
+ifeq ($(subdir),inet)
+sysdep_headers += netinet/if_fddi.h netinet/if_tr.h \
+		  netipx/ipx.h netash/ash.h netax25/ax25.h netatalk/at.h \
+		  netrom/netrom.h netpacket/packet.h netrose/rose.h \
+		  neteconet/ec.h netiucv/iucv.h
+sysdep_routines += netlink_assert_response
+endif
+
+# Don't compile the ctype glue code, since there is no old non-GNU C library.
+inhibit-glue = yes
+
+ifeq ($(subdir),dirent)
+sysdep_routines += getdirentries getdirentries64
+endif
+
+ifeq ($(subdir),nis)
+CFLAGS-ypclnt.c = -DUSE_BINDINGDIR=1
+endif
+
+ifeq ($(subdir),io)
+sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \
+		   sync_file_range fallocate fallocate64
+sysdep_headers += bits/fcntl-linux.h
+
+tests += tst-fallocate tst-fallocate64
+endif
+
+ifeq ($(subdir),elf)
+sysdep-rtld-routines += dl-brk dl-sbrk dl-getcwd dl-openat64 dl-opendir \
+			dl-fxstatat64
+
+libof-lddlibc4 = lddlibc4
+
+others += pldd
+install-bin += pldd
+$(objpfx)pldd: $(objpfx)xmalloc.o
+endif
+
+ifeq ($(subdir),rt)
+CFLAGS-mq_send.c += -fexceptions
+CFLAGS-mq_receive.c += -fexceptions
+endif
+
+ifeq ($(subdir),nscd)
+sysdep-CFLAGS += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY -DHAVE_NETLINK
+CFLAGS-gai.c += -DNEED_NETLINK
+endif
+
+ifeq ($(subdir),nptl)
+tests += tst-align-clone tst-getpid1 \
+	tst-thread-affinity-pthread tst-thread-affinity-pthread2 \
+	tst-thread-affinity-sched
+tests-internal += tst-setgetname
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/Versions
new file mode 100644
index 0000000000..202ffccc29
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/Versions
@@ -0,0 +1,175 @@
+libc {
+  # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
+  # When you get an error from errlist-compat.awk, you need to add a new
+  # version here.  Don't do this blindly, since this means changing the ABI
+  # for all GNU/Linux configurations.
+
+  GLIBC_2.0 {
+    # functions used in inline functions or macros
+    __cmsg_nxthdr;
+
+    # functions used in other libraries
+    __clone;
+
+    # helper functions
+    __errno_location;
+
+    # b*
+    bdflush;
+
+    # c*
+    clone; create_module;
+
+    # d*
+    delete_module;
+
+    # g*
+    get_kernel_syms; getresgid; getresuid;
+
+    # i*
+    init_module;
+
+    # k*
+    klogctl;
+
+    # l*
+    llseek;
+
+    # m*
+    mremap;
+
+    # n*
+    nfsservctl;
+
+    # p*
+    personality; prctl;
+
+    # q*
+    query_module; quotactl;
+
+    # s*
+    setfsgid; setfsuid;
+
+    # s*
+    setresgid; setresuid; swapoff; swapon; sysctl; sysinfo;
+
+    # u*
+    umount; uselib;
+
+    #errlist-compat	123
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.1 {
+    # functions used in inline functions or macros
+    __libc_sa_len;
+
+    # Since we have new signals this structure changed.
+    _sys_siglist; sys_siglist; sys_sigabbrev;
+
+    # New errlist.
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    # chown interface change.
+    chown;
+
+    # Change in pthread_attr_t.
+    pthread_attr_init;
+
+    # c*
+    capget; capset;
+
+    # n*
+    ntp_adjtime; ntp_gettime;
+
+    # u*
+    umount2;
+
+    #errlist-compat	125
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.2 {
+    # needed in other libraries.
+    __endmntent; __getmntent_r; __setmntent; __statfs; __sysctl;
+
+    # ipc ctl interface change.
+    semctl; shmctl; msgctl;
+  }
+  GLIBC_2.2.1 {
+    # p*
+    pivot_root;
+  }
+  GLIBC_2.3 {
+    # r*
+    readahead;
+
+    #errlist-compat	126
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.3.2 {
+    # New kernel interfaces.
+    epoll_create; epoll_ctl; epoll_wait;
+  }
+  GLIBC_2.3.3 {
+    gnu_dev_major; gnu_dev_minor; gnu_dev_makedev;
+  }
+  GLIBC_2.3.4 {
+    sched_getaffinity; sched_setaffinity;
+  }
+  GLIBC_2.4 {
+    inotify_init; inotify_add_watch; inotify_rm_watch;
+
+    unshare;
+
+    #errlist-compat	132
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.5 {
+    splice; tee; vmsplice;
+  }
+  GLIBC_2.6 {
+    epoll_pwait; sync_file_range; sched_getcpu;
+  }
+  GLIBC_2.7 {
+    eventfd; eventfd_read; eventfd_write; signalfd;
+  }
+  GLIBC_2.8 {
+    timerfd_create; timerfd_settime; timerfd_gettime;
+  }
+  GLIBC_2.9 {
+    epoll_create1; inotify_init1;
+  }
+  GLIBC_2.10 {
+    fallocate;
+  }
+  GLIBC_2.12 {
+    #errlist-compat	135
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    ntp_gettimex;
+
+    recvmmsg;
+  }
+  GLIBC_2.13 {
+    prlimit; prlimit64;
+
+    fanotify_init; fanotify_mark;
+  }
+  GLIBC_2.14 {
+    clock_adjtime;
+
+    name_to_handle_at; open_by_handle_at;
+
+    setns;
+
+    sendmmsg;
+  }
+  GLIBC_2.15 {
+    process_vm_readv; process_vm_writev;
+  }
+  GLIBC_PRIVATE {
+    # functions used in other libraries
+    __syscall_rt_sigqueueinfo;
+    # functions used by nscd
+    __netlink_assert_response;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/_G_config.h b/REORG.TODO/sysdeps/unix/sysv/linux/_G_config.h
new file mode 100644
index 0000000000..3bc6cfd595
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/_G_config.h
@@ -0,0 +1,59 @@
+/* This file is needed by libio to define various configuration parameters.
+   These are always the same in the GNU C library.  */
+
+#ifndef _G_config_h
+#define _G_config_h 1
+
+/* Define types for libio in terms of the standard internal type names.  */
+
+#include <bits/types.h>
+#define __need_size_t
+#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
+# define __need_wchar_t
+#endif
+#define __need_NULL
+#include <stddef.h>
+
+#include <bits/types/__mbstate_t.h>
+#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
+# include <bits/types/wint_t.h>
+#endif
+
+typedef struct
+{
+  __off_t __pos;
+  __mbstate_t __state;
+} _G_fpos_t;
+typedef struct
+{
+  __off64_t __pos;
+  __mbstate_t __state;
+} _G_fpos64_t;
+#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
+# include <gconv.h>
+typedef union
+{
+  struct __gconv_info __cd;
+  struct
+  {
+    struct __gconv_info __cd;
+    struct __gconv_step_data __data;
+  } __combined;
+} _G_iconv_t;
+#endif
+
+
+/* These library features are always available in the GNU C library.  */
+#define _G_va_list __gnuc_va_list
+
+#define _G_HAVE_MMAP 1
+#define _G_HAVE_MREMAP 1
+
+#define _G_IO_IO_FILE_VERSION 0x20001
+
+/* This is defined by <bits/stat.h> if `st_blksize' exists.  */
+#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
+
+#define _G_BUFSIZ 8192
+
+#endif	/* _G_config.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/_exit.c b/REORG.TODO/sysdeps/unix/sysv/linux/_exit.c
new file mode 100644
index 0000000000..0020ddb7e5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/_exit.c
@@ -0,0 +1,42 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sysdep.h>
+#include <abort-instr.h>
+
+
+void
+_exit (int status)
+{
+  while (1)
+    {
+#ifdef __NR_exit_group
+      INLINE_SYSCALL (exit_group, 1, status);
+#endif
+      INLINE_SYSCALL (exit, 1, status);
+
+#ifdef ABORT_INSTRUCTION
+      ABORT_INSTRUCTION;
+#endif
+    }
+}
+libc_hidden_def (_exit)
+rtld_hidden_def (_exit)
+weak_alias (_exit, _Exit)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/a.out.h
new file mode 100644
index 0000000000..e3f4bdd08f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/a.out.h
@@ -0,0 +1,138 @@
+#ifndef __A_OUT_GNU_H__
+#define __A_OUT_GNU_H__
+
+#include <bits/a.out.h>
+
+#define __GNU_EXEC_MACROS__
+
+struct exec
+{
+  unsigned long a_info;	/* Use macros N_MAGIC, etc for access.  */
+  unsigned int a_text;	/* Length of text, in bytes.  */
+  unsigned int a_data;	/* Length of data, in bytes.  */
+  unsigned int a_bss;	/* Length of uninitialized data area for file, in bytes.  */
+  unsigned int a_syms;	/* Length of symbol table data in file, in bytes.  */
+  unsigned int a_entry;	/* Start address.  */
+  unsigned int a_trsize;/* Length of relocation info for text, in bytes.  */
+  unsigned int a_drsize;/* Length of relocation info for data, in bytes.  */
+};
+
+enum machine_type
+{
+  M_OLDSUN2 = 0,
+  M_68010 = 1,
+  M_68020 = 2,
+  M_SPARC = 3,
+  M_386 = 100,
+  M_MIPS1 = 151,
+  M_MIPS2 = 152
+};
+
+#define N_MAGIC(exec)	((exec).a_info & 0xffff)
+#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
+#define N_FLAGS(exec)	(((exec).a_info >> 24) & 0xff)
+#define N_SET_INFO(exec, magic, type, flags) \
+  ((exec).a_info = ((magic) & 0xffff)					\
+   | (((int)(type) & 0xff) << 16)					\
+   | (((flags) & 0xff) << 24))
+#define N_SET_MAGIC(exec, magic) \
+  ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
+#define N_SET_MACHTYPE(exec, machtype) \
+  ((exec).a_info =							\
+   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
+#define N_SET_FLAGS(exec, flags) \
+  ((exec).a_info =							\
+   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
+
+/* Code indicating object file or impure executable.  */
+#define OMAGIC 0407
+/* Code indicating pure executable.  */
+#define NMAGIC 0410
+/* Code indicating demand-paged executable.  */
+#define ZMAGIC 0413
+/* This indicates a demand-paged executable with the header in the text.
+   The first page is unmapped to help trap NULL pointer references.  */
+#define QMAGIC 0314
+/* Code indicating core file.  */
+#define CMAGIC 0421
+
+#define N_TRSIZE(a)	((a).a_trsize)
+#define N_DRSIZE(a)	((a).a_drsize)
+#define N_SYMSIZE(a)	((a).a_syms)
+#define N_BADMAG(x) \
+  (N_MAGIC(x) != OMAGIC	&& N_MAGIC(x) != NMAGIC				\
+   && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
+#define _N_HDROFF(x)	(1024 - sizeof (struct exec))
+#define N_TXTOFF(x) \
+  (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) :	\
+   (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
+#define N_DATOFF(x)	(N_TXTOFF(x) + (x).a_text)
+#define N_TRELOFF(x)	(N_DATOFF(x) + (x).a_data)
+#define N_DRELOFF(x)	(N_TRELOFF(x) + N_TRSIZE(x))
+#define N_SYMOFF(x)	(N_DRELOFF(x) + N_DRSIZE(x))
+#define N_STROFF(x)	(N_SYMOFF(x) + N_SYMSIZE(x))
+
+/* Address of text segment in memory after it is loaded.  */
+#define N_TXTADDR(x)	(N_MAGIC(x) == QMAGIC ? 4096 : 0)
+
+/* Address of data segment in memory after it is loaded.  */
+#define SEGMENT_SIZE	1024
+
+#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
+#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
+
+#define N_DATADDR(x) \
+  (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x))				\
+   : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
+#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
+
+#if !defined (N_NLIST_DECLARED)
+struct nlist
+{
+  union
+    {
+      char *n_name;
+      struct nlist *n_next;
+      long n_strx;
+    } n_un;
+  unsigned char n_type;
+  char n_other;
+  short n_desc;
+  unsigned long n_value;
+};
+#endif /* no N_NLIST_DECLARED.  */
+
+#define N_UNDF	0
+#define N_ABS	2
+#define N_TEXT	4
+#define N_DATA	6
+#define N_BSS	8
+#define N_FN	15
+#define N_EXT	1
+#define N_TYPE	036
+#define N_STAB	0340
+#define N_INDR	0xa
+#define	N_SETA	0x14	/* Absolute set element symbol.  */
+#define	N_SETT	0x16	/* Text set element symbol.  */
+#define	N_SETD	0x18	/* Data set element symbol.  */
+#define	N_SETB	0x1A	/* Bss set element symbol.  */
+#define N_SETV	0x1C	/* Pointer to set vector in data area.  */
+
+#if !defined (N_RELOCATION_INFO_DECLARED)
+/* This structure describes a single relocation to be performed.
+   The text-relocation section of the file is a vector of these structures,
+   all of which apply to the text section.
+   Likewise, the data-relocation section applies to the data section.  */
+
+struct relocation_info
+{
+  int r_address;
+  unsigned int r_symbolnum:24;
+  unsigned int r_pcrel:1;
+  unsigned int r_length:2;
+  unsigned int r_extern:1;
+  unsigned int r_pad:4;
+};
+#endif /* no N_RELOCATION_INFO_DECLARED.  */
+
+#endif /* __A_OUT_GNU_H__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies
new file mode 100644
index 0000000000..4409e19b92
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies
@@ -0,0 +1,3 @@
+aarch64/nptl
+unix/sysv/linux/generic
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile
new file mode 100644
index 0000000000..6b4e620896
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile
@@ -0,0 +1,35 @@
+ifeq ($(subdir),csu)
+sysdep_routines      += __read_tp libc-__read_tp
+static-only-routines += __read_tp
+shared-only-routines += libc-__read_tp
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines	     += dl-vdso
+sysdep-rtld-routines += __read_tp
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
+sysdep-dl-routines += dl-static
+endif
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+abi-variants := lp64
+abi-variants += lp64_be
+
+ifeq (,$(filter $(default-abi),$(abi-variants)))
+Unknown ABI, must be one of $(abi-variants)
+endif
+
+abi-lp64-options := -U__AARCH64EB__
+abi-lp64-condition := !defined __AARCH64EB__
+
+abi-lp64_be-options := -D__AARCH64EB__
+abi-lp64_be-condition := defined __AARCH64EB__
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions
new file mode 100644
index 0000000000..9bd87fe2d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions
@@ -0,0 +1,12 @@
+ld {
+  GLIBC_PRIVATE {
+    # used for loading by static libraries
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_PRIVATE {
+    __vdso_clock_gettime;
+    __vdso_clock_getres;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
new file mode 100644
index 0000000000..d355878b70
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
@@ -0,0 +1,25 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.hidden __read_tp
+ENTRY (__read_tp)
+	mrs	x0, tpidr_el0
+	RET
+END   (__read_tp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h
new file mode 100644
index 0000000000..7b1f9bdd1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h
@@ -0,0 +1,28 @@
+/* ARCH_FORK definition for Linux fork implementation.  AArch64 version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK()							\
+  INLINE_SYSCALL (clone, 5,						\
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
+		  NULL, NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
new file mode 100644
index 0000000000..6ba241c02c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
@@ -0,0 +1,61 @@
+/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define __O_DIRECTORY	 040000
+#define __O_NOFOLLOW	0100000
+#define __O_DIRECT	0200000
+
+#ifdef __ILP32__
+# define __O_LARGEFILE	0400000
+#else
+# define __O_LARGEFILE	0
+#endif
+
+#ifdef __LP64__
+# define F_GETLK64	5
+# define F_SETLK64	6
+# define F_SETLKW64	7
+#endif
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
new file mode 100644
index 0000000000..117852da1c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
@@ -0,0 +1,36 @@
+/* Defines for bits in AT_HWCAP.  AArch64 Linux version.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined (_SYS_AUXV_H)
+# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
+#endif
+
+/* The following must match the kernel's <asm/hwcap.h>.  */
+#define HWCAP_FP		(1 << 0)
+#define HWCAP_ASIMD		(1 << 1)
+#define HWCAP_EVTSTRM		(1 << 2)
+#define HWCAP_AES		(1 << 3)
+#define HWCAP_PMULL		(1 << 4)
+#define HWCAP_SHA1		(1 << 5)
+#define HWCAP_SHA2		(1 << 6)
+#define HWCAP_CRC32		(1 << 7)
+#define HWCAP_ATOMICS		(1 << 8)
+#define HWCAP_FPHP		(1 << 9)
+#define HWCAP_ASIMDHP		(1 << 10)
+#define HWCAP_CPUID		(1 << 11)
+#define HWCAP_ASIMDRDM		(1 << 12)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
new file mode 100644
index 0000000000..cd1f06e370
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+    unsigned int mode;			/* Read/write permission.  */
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned short int __pad1;
+    __syscall_ulong_t __glibc_reserved1;
+    __syscall_ulong_t __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h
new file mode 100644
index 0000000000..35a0326211
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h
@@ -0,0 +1,101 @@
+/* Minimum guaranteed maximum values for system limits.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  At least two pages for systems with 64k
+   pages.  */
+#define PTHREAD_STACK_MIN	131072
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
new file mode 100644
index 0000000000..7fc3ef3e86
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
@@ -0,0 +1,44 @@
+/* Definitions for POSIX memory map interface.  Linux/AArch64 version.
+
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
new file mode 100644
index 0000000000..434b24e926
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	5120
+
+/* System default stack size.  */
+#define SIGSTKSZ	16384
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data
new file mode 100644
index 0000000000..ac925ccb36
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:l
+blkcnt_t:l
+blksize_t:i
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:m
+fd_mask:l
+fsblkcnt64_t:m
+fsblkcnt_t:m
+fsfilcnt64_t:m
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:m
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:l
+int8_t:a
+intptr_t:l
+key_t:i
+loff_t:l
+mode_t:j
+nlink_t:j
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S
new file mode 100644
index 0000000000..259ec073c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S
@@ -0,0 +1,92 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM_BIT      8
+#define CLONE_VM          (1 << CLONE_VM_BIT)
+
+#define CLONE_THREAD_BIT  16
+#define CLONE_THREAD      (1 << CLONE_THREAD_BIT)
+
+/* int clone(int (*fn)(void *arg),            x0
+	     void *child_stack,               x1
+	     int flags,                       x2
+	     void *arg,                       x3
+	     pid_t *ptid,                     x4
+	     struct user_desc *tls,           x5
+             pid_t *ctid);                    x6
+ */
+        .text
+ENTRY(__clone)
+	DELOUSE (0)
+	DELOUSE (1)
+	DELOUSE (2)
+	DELOUSE (3)
+	DELOUSE (4)
+	DELOUSE (5)
+	DELOUSE (6)
+	/* Save args for the child.  */
+	mov	x10, x0
+	mov	x11, x2
+	mov	x12, x3
+
+	/* Sanity check args.  */
+	mov	x0, #-EINVAL
+	cbz	x10, .Lsyscall_error
+	cbz	x1, .Lsyscall_error
+
+	/* Do the system call.  */
+	/* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid.  */
+	mov	x0, x2                  /* flags  */
+	/* New sp is already in x1.  */
+	mov	x2, x4			/* ptid  */
+	mov	x3, x5			/* tls  */
+	mov	x4, x6			/* ctid  */
+	mov	x8, #SYS_ify(clone)
+	svc	0x0
+
+	cmp	x0, #0
+	beq	thread_start
+	blt	.Lsyscall_error
+	RET
+PSEUDO_END (__clone)
+
+	.align 4
+	.type thread_start, %function
+thread_start:
+	cfi_startproc
+	cfi_undefined (x30)
+	mov	x29, 0
+
+	/* Pick the function arg and execute.  */
+	mov	x0, x12
+	blr	x10
+
+	/* We are done, pass the return value through x0.  */
+	b	HIDDEN_JUMPTARGET(_exit)
+	cfi_endproc
+	.size thread_start, .-thread_start
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure
new file mode 100644
index 0000000000..f48472c5b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure
@@ -0,0 +1,17 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/aarch64.
+
+arch_minimum_kernel=3.7.0
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_complocaledir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac
new file mode 100644
index 0000000000..211fa9c317
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac
@@ -0,0 +1,6 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/aarch64.
+
+arch_minimum_kernel=3.7.0
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
new file mode 100644
index 0000000000..ef6eecd17e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -0,0 +1,37 @@
+/* Initialize CPU feature data.  AArch64 version.
+   This file is part of the GNU C Library.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <cpu-features.h>
+#include <sys/auxv.h>
+#include <elf/dl-hwcaps.h>
+
+static inline void
+init_cpu_features (struct cpu_features *cpu_features)
+{
+  uint64_t hwcap_mask = GET_HWCAP_MASK();
+  uint64_t hwcap = GLRO (dl_hwcap) & hwcap_mask;
+
+  if (hwcap & HWCAP_CPUID)
+    {
+      register uint64_t id = 0;
+      asm volatile ("mrs %0, midr_el1" : "=r"(id));
+      cpu_features->midr_el1 = id;
+    }
+  else
+    cpu_features->midr_el1 = 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
new file mode 100644
index 0000000000..c92b650984
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
@@ -0,0 +1,49 @@
+/* Initialize CPU feature data.  AArch64 version.
+   This file is part of the GNU C Library.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _CPU_FEATURES_AARCH64_H
+#define _CPU_FEATURES_AARCH64_H
+
+#include <stdint.h>
+
+#define MIDR_PARTNUM_SHIFT	4
+#define MIDR_PARTNUM_MASK	(0xfff << MIDR_PARTNUM_SHIFT)
+#define MIDR_PARTNUM(midr)	\
+	(((midr) & MIDR_PARTNUM_MASK) >> MIDR_PARTNUM_SHIFT)
+#define MIDR_ARCHITECTURE_SHIFT	16
+#define MIDR_ARCHITECTURE_MASK	(0xf << MIDR_ARCHITECTURE_SHIFT)
+#define MIDR_ARCHITECTURE(midr)	\
+	(((midr) & MIDR_ARCHITECTURE_MASK) >> MIDR_ARCHITECTURE_SHIFT)
+#define MIDR_VARIANT_SHIFT	20
+#define MIDR_VARIANT_MASK	(0xf << MIDR_VARIANT_SHIFT)
+#define MIDR_VARIANT(midr)	\
+	(((midr) & MIDR_VARIANT_MASK) >> MIDR_VARIANT_SHIFT)
+#define MIDR_IMPLEMENTOR_SHIFT	24
+#define MIDR_IMPLEMENTOR_MASK	(0xff << MIDR_IMPLEMENTOR_SHIFT)
+#define MIDR_IMPLEMENTOR(midr)	\
+	(((midr) & MIDR_IMPLEMENTOR_MASK) >> MIDR_IMPLEMENTOR_SHIFT)
+
+#define IS_THUNDERX(midr) (MIDR_IMPLEMENTOR(midr) == 'C'	\
+			   && MIDR_PARTNUM(midr) == 0x0a1)
+
+struct cpu_features
+{
+  uint64_t midr_el1;
+};
+
+#endif /* _CPU_FEATURES_AARCH64_H  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
new file mode 100644
index 0000000000..90e1734347
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
@@ -0,0 +1,56 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldconfig.h>
+
+#ifdef __LP64__
+# define _DL_CACHE_DEFAULT_ID    (FLAG_AARCH64_LIB64 | FLAG_ELF_LIBC6)
+#else
+# define _DL_CACHE_DEFAULT_ID    (FLAG_AARCH64_LIB32 | FLAG_ELF_LIBC6)
+#endif
+
+#define _dl_cache_check_flags(flags)                    \
+  ((flags) == _DL_CACHE_DEFAULT_ID)
+
+#define add_system_dir(dir) \
+  do								\
+    {								\
+      size_t len = strlen (dir);				\
+      char path[len + 6];					\
+      memcpy (path, dir, len + 1);				\
+      if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6))	\
+	{							\
+	  len -= 2;						\
+	  path[len] = '\0';					\
+	}							\
+      if (len >= 9 && ! memcmp (path + len - 9, "/libilp32", 9))\
+	{							\
+	  len -= 5;						\
+	  path[len] = '\0';					\
+	}							\
+      add_dir (path);						\
+      if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4))	\
+	{							\
+	  memcpy (path + len, "64", 3);				\
+	  add_dir (path);					\
+	  memcpy (path + len, "ilp32", 6);			\
+	  add_dir (path);					\
+	}							\
+    } while (0)
+
+#include_next <dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
new file mode 100644
index 0000000000..bc37bad782
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
@@ -0,0 +1,75 @@
+/* Data for AArch64 version of processor capability information.
+   Linux version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* If anything should be added here check whether the size of each string
+   is still ok with the given array size.
+
+   All the #ifdefs in the definitions are quite irritating but
+   necessary if we want to avoid duplicating the information.  There
+   are three different modes:
+
+   - PROCINFO_DECL is defined.  This means we are only interested in
+     declarations.
+
+   - PROCINFO_DECL is not defined:
+
+     + if SHARED is defined the file is included in an array
+       initializer.  The .element = { ... } syntax is needed.
+
+     + if SHARED is not defined a normal array initialization is
+       needed.
+  */
+
+#ifndef PROCINFO_CLASS
+# define PROCINFO_CLASS
+#endif
+
+#if !IS_IN (ldconfig)
+# if !defined PROCINFO_DECL && defined SHARED
+  ._dl_aarch64_cpu_features
+# else
+PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
+# endif
+# ifndef PROCINFO_DECL
+= { }
+# endif
+# if !defined SHARED || defined PROCINFO_DECL
+;
+# else
+,
+# endif
+#endif
+
+#if !defined PROCINFO_DECL && defined SHARED
+  ._dl_aarch64_cap_flags
+#else
+PROCINFO_CLASS const char _dl_aarch64_cap_flags[13][10]
+#endif
+#ifndef PROCINFO_DECL
+= { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
+    "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm"}
+#endif
+#if !defined SHARED || defined PROCINFO_DECL
+;
+#else
+,
+#endif
+
+#undef PROCINFO_DECL
+#undef PROCINFO_CLASS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
new file mode 100644
index 0000000000..cdb36d3316
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
@@ -0,0 +1,86 @@
+/* Processor capability information handling macros - aarch64 version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_PROCINFO_H
+#define _DL_PROCINFO_H	1
+
+#include <sys/auxv.h>
+#include <unistd.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+/* We cannot provide a general printing function.  */
+static inline int
+__attribute__ ((unused))
+_dl_procinfo (unsigned int type, unsigned long int word)
+{
+  /* This table should match the information from arch/arm64/kernel/cpuinfo.c
+     in the kernel sources.  */
+  int i;
+
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
+  _dl_printf ("AT_HWCAP:   ");
+
+  for (i = 0; i < 32; ++i)
+    if (word & (1 << i))
+      _dl_printf (" %s", GLRO(dl_aarch64_cap_flags)[i]);
+
+  _dl_printf ("\n");
+
+  return 0;
+}
+
+static inline const char *
+__attribute__ ((unused))
+_dl_hwcap_string (int idx)
+{
+  return GLRO(dl_aarch64_cap_flags)[idx];
+};
+
+
+/* 13 HWCAP bits set.  */
+#define _DL_HWCAP_COUNT 13
+
+/* Low 13 bits are allocated in HWCAP.  */
+#define _DL_HWCAP_LAST 12
+
+/* HWCAP_CPUID should be available by default to influence IFUNC as well as
+   library search.  */
+#define HWCAP_IMPORTANT HWCAP_CPUID
+
+static inline int
+__attribute__ ((unused))
+_dl_string_hwcap (const char *str)
+{
+  for (int i = 0; i < _DL_HWCAP_COUNT; i++)
+    {
+      if (strcmp (str, _dl_hwcap_string (i)) == 0)
+	return i;
+    }
+  return -1;
+};
+
+/* There're no platforms to filter out.  */
+#define _DL_HWCAP_PLATFORM 0
+
+#define _dl_string_platform(str) (-1)
+
+#endif /* dl-procinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c
new file mode 100644
index 0000000000..fcda0df16f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  AArch64 version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0
+    };
+
+  GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize)
+};
+
+static void
+_dl_unprotect_relro (struct link_map *l)
+{
+  ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
+		      & ~(GLRO(dl_pagesize) - 1));
+  ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
+		    & ~(GLRO(dl_pagesize) - 1));
+
+  if (start != end)
+    __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
+}
+
+void
+_dl_static_init (struct link_map *l)
+{
+  struct link_map *rtld_map = l;
+  struct r_scope_elem **scope;
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+  size_t i;
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
+				  NULL, 0, 1, NULL);
+
+  for (scope = l->l_local_scope; *scope != NULL; scope++)
+    for (i = 0; i < (*scope)->r_nlist; i++)
+      if ((*scope)->r_list[i] == loadbase)
+	{
+	  rtld_map = (*scope)->r_list[i];
+	  break;
+	}
+
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      _dl_unprotect_relro (rtld_map);
+      f (variables);
+      _dl_protect_relro (rtld_map);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S
new file mode 100644
index 0000000000..fa7074c590
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S
@@ -0,0 +1,109 @@
+/* Save current context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/* int getcontext (ucontext_t *ucp)
+
+   Returns 0 on success -1 and errno on failure.
+ */
+
+	.text
+
+ENTRY(__getcontext)
+	DELOUSE (0)
+	/* The saved context will return to the getcontext() call point
+	   with a return value of 0 */
+	str	xzr,	  [x0, oX0 +  0 * SZREG]
+
+	stp	x18, x19, [x0, oX0 + 18 * SZREG]
+	stp	x20, x21, [x0, oX0 + 20 * SZREG]
+	stp	x22, x23, [x0, oX0 + 22 * SZREG]
+	stp	x24, x25, [x0, oX0 + 24 * SZREG]
+	stp	x26, x27, [x0, oX0 + 26 * SZREG]
+	stp	x28, x29, [x0, oX0 + 28 * SZREG]
+	str     x30,      [x0, oX0 + 30 * SZREG]
+
+	/* Place LR into the saved PC, this will ensure that when
+	   switching to this saved context with setcontext() control
+	   will pass back to the caller of getcontext(), we have
+	   already arrange to return the appropriate return value in x0
+	   above.  */
+	str	x30, [x0, oPC]
+
+	/* Save the current SP */
+	mov	x2, sp
+	str     x2, [x0, oSP]
+
+	/* Initialize the pstate.  */
+	str	xzr, [x0, oPSTATE]
+
+	/* Figure out where to place the first context extension
+	   block.  */
+	add     x2, x0, #oEXTENSION
+
+	/* Write the context extension fpsimd header.  */
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	str	w3, [x2, #oHEAD + oMAGIC]
+	mov	w3, #FPSIMD_CONTEXT_SIZE
+	str	w3, [x2, #oHEAD + oSIZE]
+
+	/* Fill in the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	stp	 q8,  q9, [x3], # 2 * SZVREG
+	stp	q10, q11, [x3], # 2 * SZVREG
+	stp	q12, q13, [x3], # 2 * SZVREG
+	stp	q14, q15, [x3], # 2 * SZVREG
+
+	add	x3, x2, oFPSR
+
+	mrs	x4, fpsr
+	str	w4, [x3]
+
+	mrs	x4, fpcr
+	str	w4, [x3, oFPCR - oFPSR]
+
+	/* Write the termination context extension header.  */
+	add	x2, x2, #FPSIMD_CONTEXT_SIZE
+
+	str	xzr, [x2, #oHEAD + oMAGIC]
+	str	xzr, [x2, #oHEAD + oSIZE]
+
+	/* Grab the signal mask */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	add	PTR_REG (2), PTR_REG (0), #UCONTEXT_SIGMASK
+	mov	x0, SIG_BLOCK
+	mov	x1, 0
+	mov	x3, _NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbnz	x0, 1f
+
+	/* Return 0 for success */
+	mov	x0, 0
+	RET
+1:
+	b	C_SYMBOL_NAME(__syscall_error)
+
+	PSEUDO_END (__getcontext)
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c
new file mode 100644
index 0000000000..96f5338994
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c
@@ -0,0 +1,52 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) attribute_hidden;
+int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+#ifdef __LP64__
+  PREPARE_VERSION (linux_version, "LINUX_2.6.39", 123718537);
+#else
+  PREPARE_VERSION (linux_version, "LINUX_4.9", 61765625);
+#endif
+
+  void *p = _dl_vdso_vsym ("__kernel_gettimeofday", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_gettime", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(clock_gettime) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_getres", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(clock_getres) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S
new file mode 100644
index 0000000000..866d6ef12d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S
@@ -0,0 +1,31 @@
+/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+ENTRY(__ioctl)
+	mov	x8, #__NR_ioctl
+	sxtw	x0, w0
+	svc	#0x0
+	cmn	x0, #4095
+	b.cs	.Lsyscall_error
+	ret
+PSEUDO_END (__ioctl)
+
+weak_alias (__ioctl, ioctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h
new file mode 100644
index 0000000000..8d12f31573
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h
@@ -0,0 +1,21 @@
+/* Old SysV permission definition for Linux.  AArch64 version.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h
new file mode 100644
index 0000000000..e67ddfa91c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This structure must have the same shape as the linux kernel
+   equivalent.  */
+struct kernel_rt_sigframe
+{
+  siginfo_t info;
+  struct ucontext uc;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist
new file mode 100644
index 0000000000..ec7f6174c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __libc_stack_end D 0x8
+GLIBC_2.17 __stack_chk_guard D 0x8
+GLIBC_2.17 __tls_get_addr F
+GLIBC_2.17 _dl_mcount F
+GLIBC_2.17 _r_debug D 0x28
+GLIBC_2.17 calloc F
+GLIBC_2.17 free F
+GLIBC_2.17 malloc F
+GLIBC_2.17 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
new file mode 100644
index 0000000000..e1c334c478
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux-aarch64.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_be.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_ilp32.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_be_ilp32.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux.so.3", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-armhf.so.3", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
new file mode 100644
index 0000000000..74ce6aa797
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
@@ -0,0 +1,32 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..5e54974368
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist
new file mode 100644
index 0000000000..21330fc8d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 gai_cancel F
+GLIBC_2.17 gai_error F
+GLIBC_2.17 gai_suspend F
+GLIBC_2.17 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S
new file mode 100644
index 0000000000..47df81abe6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S
@@ -0,0 +1,19 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <__read_tp.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c
new file mode 100644
index 0000000000..089a728a87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c
@@ -0,0 +1,28 @@
+/* Override csu/libc-start.c on AArch64.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef SHARED
+# include <ldsodefs.h>
+# include <cpu-features.c>
+
+extern struct cpu_features _dl_aarch64_cpu_features;
+
+# define ARCH_INIT_CPU_FEATURES() init_cpu_features (&_dl_aarch64_cpu_features)
+
+#endif
+#include <csu/libc-start.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h
new file mode 100644
index 0000000000..599ae9852c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+extern int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist
new file mode 100644
index 0000000000..81e4fe9d9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -0,0 +1,2105 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _Exit F
+GLIBC_2.17 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.17 _IO_adjust_column F
+GLIBC_2.17 _IO_adjust_wcolumn F
+GLIBC_2.17 _IO_default_doallocate F
+GLIBC_2.17 _IO_default_finish F
+GLIBC_2.17 _IO_default_pbackfail F
+GLIBC_2.17 _IO_default_uflow F
+GLIBC_2.17 _IO_default_xsgetn F
+GLIBC_2.17 _IO_default_xsputn F
+GLIBC_2.17 _IO_do_write F
+GLIBC_2.17 _IO_doallocbuf F
+GLIBC_2.17 _IO_fclose F
+GLIBC_2.17 _IO_fdopen F
+GLIBC_2.17 _IO_feof F
+GLIBC_2.17 _IO_ferror F
+GLIBC_2.17 _IO_fflush F
+GLIBC_2.17 _IO_fgetpos F
+GLIBC_2.17 _IO_fgetpos64 F
+GLIBC_2.17 _IO_fgets F
+GLIBC_2.17 _IO_file_attach F
+GLIBC_2.17 _IO_file_close F
+GLIBC_2.17 _IO_file_close_it F
+GLIBC_2.17 _IO_file_doallocate F
+GLIBC_2.17 _IO_file_finish F
+GLIBC_2.17 _IO_file_fopen F
+GLIBC_2.17 _IO_file_init F
+GLIBC_2.17 _IO_file_jumps D 0xa8
+GLIBC_2.17 _IO_file_open F
+GLIBC_2.17 _IO_file_overflow F
+GLIBC_2.17 _IO_file_read F
+GLIBC_2.17 _IO_file_seek F
+GLIBC_2.17 _IO_file_seekoff F
+GLIBC_2.17 _IO_file_setbuf F
+GLIBC_2.17 _IO_file_stat F
+GLIBC_2.17 _IO_file_sync F
+GLIBC_2.17 _IO_file_underflow F
+GLIBC_2.17 _IO_file_write F
+GLIBC_2.17 _IO_file_xsputn F
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_flush_all F
+GLIBC_2.17 _IO_flush_all_linebuffered F
+GLIBC_2.17 _IO_fopen F
+GLIBC_2.17 _IO_fprintf F
+GLIBC_2.17 _IO_fputs F
+GLIBC_2.17 _IO_fread F
+GLIBC_2.17 _IO_free_backup_area F
+GLIBC_2.17 _IO_free_wbackup_area F
+GLIBC_2.17 _IO_fsetpos F
+GLIBC_2.17 _IO_fsetpos64 F
+GLIBC_2.17 _IO_ftell F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 _IO_fwrite F
+GLIBC_2.17 _IO_getc F
+GLIBC_2.17 _IO_getline F
+GLIBC_2.17 _IO_getline_info F
+GLIBC_2.17 _IO_gets F
+GLIBC_2.17 _IO_init F
+GLIBC_2.17 _IO_init_marker F
+GLIBC_2.17 _IO_init_wmarker F
+GLIBC_2.17 _IO_iter_begin F
+GLIBC_2.17 _IO_iter_end F
+GLIBC_2.17 _IO_iter_file F
+GLIBC_2.17 _IO_iter_next F
+GLIBC_2.17 _IO_least_wmarker F
+GLIBC_2.17 _IO_link_in F
+GLIBC_2.17 _IO_list_all D 0x8
+GLIBC_2.17 _IO_list_lock F
+GLIBC_2.17 _IO_list_resetlock F
+GLIBC_2.17 _IO_list_unlock F
+GLIBC_2.17 _IO_marker_delta F
+GLIBC_2.17 _IO_marker_difference F
+GLIBC_2.17 _IO_padn F
+GLIBC_2.17 _IO_peekc_locked F
+GLIBC_2.17 _IO_popen F
+GLIBC_2.17 _IO_printf F
+GLIBC_2.17 _IO_proc_close F
+GLIBC_2.17 _IO_proc_open F
+GLIBC_2.17 _IO_putc F
+GLIBC_2.17 _IO_puts F
+GLIBC_2.17 _IO_remove_marker F
+GLIBC_2.17 _IO_seekmark F
+GLIBC_2.17 _IO_seekoff F
+GLIBC_2.17 _IO_seekpos F
+GLIBC_2.17 _IO_seekwmark F
+GLIBC_2.17 _IO_setb F
+GLIBC_2.17 _IO_setbuffer F
+GLIBC_2.17 _IO_setvbuf F
+GLIBC_2.17 _IO_sgetn F
+GLIBC_2.17 _IO_sprintf F
+GLIBC_2.17 _IO_sputbackc F
+GLIBC_2.17 _IO_sputbackwc F
+GLIBC_2.17 _IO_sscanf F
+GLIBC_2.17 _IO_str_init_readonly F
+GLIBC_2.17 _IO_str_init_static F
+GLIBC_2.17 _IO_str_overflow F
+GLIBC_2.17 _IO_str_pbackfail F
+GLIBC_2.17 _IO_str_seekoff F
+GLIBC_2.17 _IO_str_underflow F
+GLIBC_2.17 _IO_sungetc F
+GLIBC_2.17 _IO_sungetwc F
+GLIBC_2.17 _IO_switch_to_get_mode F
+GLIBC_2.17 _IO_switch_to_main_wget_area F
+GLIBC_2.17 _IO_switch_to_wbackup_area F
+GLIBC_2.17 _IO_switch_to_wget_mode F
+GLIBC_2.17 _IO_un_link F
+GLIBC_2.17 _IO_ungetc F
+GLIBC_2.17 _IO_unsave_markers F
+GLIBC_2.17 _IO_unsave_wmarkers F
+GLIBC_2.17 _IO_vfprintf F
+GLIBC_2.17 _IO_vfscanf F
+GLIBC_2.17 _IO_vsprintf F
+GLIBC_2.17 _IO_wdefault_doallocate F
+GLIBC_2.17 _IO_wdefault_finish F
+GLIBC_2.17 _IO_wdefault_pbackfail F
+GLIBC_2.17 _IO_wdefault_uflow F
+GLIBC_2.17 _IO_wdefault_xsgetn F
+GLIBC_2.17 _IO_wdefault_xsputn F
+GLIBC_2.17 _IO_wdo_write F
+GLIBC_2.17 _IO_wdoallocbuf F
+GLIBC_2.17 _IO_wfile_jumps D 0xa8
+GLIBC_2.17 _IO_wfile_overflow F
+GLIBC_2.17 _IO_wfile_seekoff F
+GLIBC_2.17 _IO_wfile_sync F
+GLIBC_2.17 _IO_wfile_underflow F
+GLIBC_2.17 _IO_wfile_xsputn F
+GLIBC_2.17 _IO_wmarker_delta F
+GLIBC_2.17 _IO_wsetb F
+GLIBC_2.17 ___brk_addr D 0x8
+GLIBC_2.17 __adjtimex F
+GLIBC_2.17 __after_morecore_hook D 0x8
+GLIBC_2.17 __argz_count F
+GLIBC_2.17 __argz_next F
+GLIBC_2.17 __argz_stringify F
+GLIBC_2.17 __asprintf F
+GLIBC_2.17 __asprintf_chk F
+GLIBC_2.17 __assert F
+GLIBC_2.17 __assert_fail F
+GLIBC_2.17 __assert_perror_fail F
+GLIBC_2.17 __backtrace F
+GLIBC_2.17 __backtrace_symbols F
+GLIBC_2.17 __backtrace_symbols_fd F
+GLIBC_2.17 __bsd_getpgrp F
+GLIBC_2.17 __bzero F
+GLIBC_2.17 __check_rhosts_file D 0x4
+GLIBC_2.17 __chk_fail F
+GLIBC_2.17 __clone F
+GLIBC_2.17 __close F
+GLIBC_2.17 __cmsg_nxthdr F
+GLIBC_2.17 __confstr_chk F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __ctype_b_loc F
+GLIBC_2.17 __ctype_get_mb_cur_max F
+GLIBC_2.17 __ctype_tolower_loc F
+GLIBC_2.17 __ctype_toupper_loc F
+GLIBC_2.17 __curbrk D 0x8
+GLIBC_2.17 __cxa_at_quick_exit F
+GLIBC_2.17 __cxa_atexit F
+GLIBC_2.17 __cxa_finalize F
+GLIBC_2.17 __cyg_profile_func_enter F
+GLIBC_2.17 __cyg_profile_func_exit F
+GLIBC_2.17 __daylight D 0x4
+GLIBC_2.17 __dcgettext F
+GLIBC_2.17 __default_morecore F
+GLIBC_2.17 __dgettext F
+GLIBC_2.17 __dprintf_chk F
+GLIBC_2.17 __dup2 F
+GLIBC_2.17 __duplocale F
+GLIBC_2.17 __endmntent F
+GLIBC_2.17 __environ D 0x8
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fbufsize F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fdelt_chk F
+GLIBC_2.17 __fdelt_warn F
+GLIBC_2.17 __ffs F
+GLIBC_2.17 __fgets_chk F
+GLIBC_2.17 __fgets_unlocked_chk F
+GLIBC_2.17 __fgetws_chk F
+GLIBC_2.17 __fgetws_unlocked_chk F
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __flbf F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __fpending F
+GLIBC_2.17 __fprintf_chk F
+GLIBC_2.17 __fpu_control D 0x4
+GLIBC_2.17 __fpurge F
+GLIBC_2.17 __fread_chk F
+GLIBC_2.17 __fread_unlocked_chk F
+GLIBC_2.17 __freadable F
+GLIBC_2.17 __freading F
+GLIBC_2.17 __free_hook D 0x8
+GLIBC_2.17 __freelocale F
+GLIBC_2.17 __fsetlocking F
+GLIBC_2.17 __fwprintf_chk F
+GLIBC_2.17 __fwritable F
+GLIBC_2.17 __fwriting F
+GLIBC_2.17 __fxstat F
+GLIBC_2.17 __fxstat64 F
+GLIBC_2.17 __fxstatat F
+GLIBC_2.17 __fxstatat64 F
+GLIBC_2.17 __getauxval F
+GLIBC_2.17 __getcwd_chk F
+GLIBC_2.17 __getdelim F
+GLIBC_2.17 __getdomainname_chk F
+GLIBC_2.17 __getgroups_chk F
+GLIBC_2.17 __gethostname_chk F
+GLIBC_2.17 __getlogin_r_chk F
+GLIBC_2.17 __getmntent_r F
+GLIBC_2.17 __getpagesize F
+GLIBC_2.17 __getpgid F
+GLIBC_2.17 __getpid F
+GLIBC_2.17 __gets_chk F
+GLIBC_2.17 __gettimeofday F
+GLIBC_2.17 __getwd_chk F
+GLIBC_2.17 __gmtime_r F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __isalnum_l F
+GLIBC_2.17 __isalpha_l F
+GLIBC_2.17 __isascii_l F
+GLIBC_2.17 __isblank_l F
+GLIBC_2.17 __iscntrl_l F
+GLIBC_2.17 __isctype F
+GLIBC_2.17 __isdigit_l F
+GLIBC_2.17 __isgraph_l F
+GLIBC_2.17 __isinf F
+GLIBC_2.17 __isinff F
+GLIBC_2.17 __isinfl F
+GLIBC_2.17 __islower_l F
+GLIBC_2.17 __isnan F
+GLIBC_2.17 __isnanf F
+GLIBC_2.17 __isnanl F
+GLIBC_2.17 __isoc99_fscanf F
+GLIBC_2.17 __isoc99_fwscanf F
+GLIBC_2.17 __isoc99_scanf F
+GLIBC_2.17 __isoc99_sscanf F
+GLIBC_2.17 __isoc99_swscanf F
+GLIBC_2.17 __isoc99_vfscanf F
+GLIBC_2.17 __isoc99_vfwscanf F
+GLIBC_2.17 __isoc99_vscanf F
+GLIBC_2.17 __isoc99_vsscanf F
+GLIBC_2.17 __isoc99_vswscanf F
+GLIBC_2.17 __isoc99_vwscanf F
+GLIBC_2.17 __isoc99_wscanf F
+GLIBC_2.17 __isprint_l F
+GLIBC_2.17 __ispunct_l F
+GLIBC_2.17 __isspace_l F
+GLIBC_2.17 __isupper_l F
+GLIBC_2.17 __iswalnum_l F
+GLIBC_2.17 __iswalpha_l F
+GLIBC_2.17 __iswblank_l F
+GLIBC_2.17 __iswcntrl_l F
+GLIBC_2.17 __iswctype F
+GLIBC_2.17 __iswctype_l F
+GLIBC_2.17 __iswdigit_l F
+GLIBC_2.17 __iswgraph_l F
+GLIBC_2.17 __iswlower_l F
+GLIBC_2.17 __iswprint_l F
+GLIBC_2.17 __iswpunct_l F
+GLIBC_2.17 __iswspace_l F
+GLIBC_2.17 __iswupper_l F
+GLIBC_2.17 __iswxdigit_l F
+GLIBC_2.17 __isxdigit_l F
+GLIBC_2.17 __ivaliduser F
+GLIBC_2.17 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_gendes_LOCAL D 0x8
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_calloc F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __libc_free F
+GLIBC_2.17 __libc_freeres F
+GLIBC_2.17 __libc_init_first F
+GLIBC_2.17 __libc_mallinfo F
+GLIBC_2.17 __libc_malloc F
+GLIBC_2.17 __libc_mallopt F
+GLIBC_2.17 __libc_memalign F
+GLIBC_2.17 __libc_pvalloc F
+GLIBC_2.17 __libc_realloc F
+GLIBC_2.17 __libc_sa_len F
+GLIBC_2.17 __libc_start_main F
+GLIBC_2.17 __libc_valloc F
+GLIBC_2.17 __longjmp_chk F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __lxstat F
+GLIBC_2.17 __lxstat64 F
+GLIBC_2.17 __malloc_hook D 0x8
+GLIBC_2.17 __malloc_initialize_hook D 0x8
+GLIBC_2.17 __mbrlen F
+GLIBC_2.17 __mbrtowc F
+GLIBC_2.17 __mbsnrtowcs_chk F
+GLIBC_2.17 __mbsrtowcs_chk F
+GLIBC_2.17 __mbstowcs_chk F
+GLIBC_2.17 __memalign_hook D 0x8
+GLIBC_2.17 __memcpy_chk F
+GLIBC_2.17 __memmove_chk F
+GLIBC_2.17 __mempcpy F
+GLIBC_2.17 __mempcpy_chk F
+GLIBC_2.17 __mempcpy_small F
+GLIBC_2.17 __memset_chk F
+GLIBC_2.17 __monstartup F
+GLIBC_2.17 __morecore D 0x8
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __newlocale F
+GLIBC_2.17 __nl_langinfo_l F
+GLIBC_2.17 __nss_configure_lookup F
+GLIBC_2.17 __nss_database_lookup F
+GLIBC_2.17 __nss_group_lookup F
+GLIBC_2.17 __nss_hostname_digits_dots F
+GLIBC_2.17 __nss_hosts_lookup F
+GLIBC_2.17 __nss_next F
+GLIBC_2.17 __nss_passwd_lookup F
+GLIBC_2.17 __obstack_printf_chk F
+GLIBC_2.17 __obstack_vprintf_chk F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __open64_2 F
+GLIBC_2.17 __open_2 F
+GLIBC_2.17 __openat64_2 F
+GLIBC_2.17 __openat_2 F
+GLIBC_2.17 __overflow F
+GLIBC_2.17 __pipe F
+GLIBC_2.17 __poll F
+GLIBC_2.17 __poll_chk F
+GLIBC_2.17 __posix_getopt F
+GLIBC_2.17 __ppoll_chk F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pread64_chk F
+GLIBC_2.17 __pread_chk F
+GLIBC_2.17 __printf_chk F
+GLIBC_2.17 __printf_fp F
+GLIBC_2.17 __profile_frequency F
+GLIBC_2.17 __progname D 0x8
+GLIBC_2.17 __progname_full D 0x8
+GLIBC_2.17 __ptsname_r_chk F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __rawmemchr F
+GLIBC_2.17 __rcmd_errstr D 0x8
+GLIBC_2.17 __read F
+GLIBC_2.17 __read_chk F
+GLIBC_2.17 __readlink_chk F
+GLIBC_2.17 __readlinkat_chk F
+GLIBC_2.17 __realloc_hook D 0x8
+GLIBC_2.17 __realpath_chk F
+GLIBC_2.17 __recv_chk F
+GLIBC_2.17 __recvfrom_chk F
+GLIBC_2.17 __register_atfork F
+GLIBC_2.17 __res_init F
+GLIBC_2.17 __res_nclose F
+GLIBC_2.17 __res_ninit F
+GLIBC_2.17 __res_randomid F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __rpc_thread_createerr F
+GLIBC_2.17 __rpc_thread_svc_fdset F
+GLIBC_2.17 __rpc_thread_svc_max_pollfd F
+GLIBC_2.17 __rpc_thread_svc_pollfd F
+GLIBC_2.17 __sbrk F
+GLIBC_2.17 __sched_cpualloc F
+GLIBC_2.17 __sched_cpucount F
+GLIBC_2.17 __sched_cpufree F
+GLIBC_2.17 __sched_get_priority_max F
+GLIBC_2.17 __sched_get_priority_min F
+GLIBC_2.17 __sched_getparam F
+GLIBC_2.17 __sched_getscheduler F
+GLIBC_2.17 __sched_setscheduler F
+GLIBC_2.17 __sched_yield F
+GLIBC_2.17 __select F
+GLIBC_2.17 __setmntent F
+GLIBC_2.17 __setpgid F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __sigaddset F
+GLIBC_2.17 __sigdelset F
+GLIBC_2.17 __sigismember F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sigpause F
+GLIBC_2.17 __sigsetjmp F
+GLIBC_2.17 __sigsuspend F
+GLIBC_2.17 __snprintf_chk F
+GLIBC_2.17 __sprintf_chk F
+GLIBC_2.17 __stack_chk_fail F
+GLIBC_2.17 __statfs F
+GLIBC_2.17 __stpcpy F
+GLIBC_2.17 __stpcpy_chk F
+GLIBC_2.17 __stpcpy_small F
+GLIBC_2.17 __stpncpy F
+GLIBC_2.17 __stpncpy_chk F
+GLIBC_2.17 __strcasecmp F
+GLIBC_2.17 __strcasecmp_l F
+GLIBC_2.17 __strcasestr F
+GLIBC_2.17 __strcat_chk F
+GLIBC_2.17 __strcoll_l F
+GLIBC_2.17 __strcpy_chk F
+GLIBC_2.17 __strcpy_small F
+GLIBC_2.17 __strcspn_c1 F
+GLIBC_2.17 __strcspn_c2 F
+GLIBC_2.17 __strcspn_c3 F
+GLIBC_2.17 __strdup F
+GLIBC_2.17 __strerror_r F
+GLIBC_2.17 __strfmon_l F
+GLIBC_2.17 __strftime_l F
+GLIBC_2.17 __strncasecmp_l F
+GLIBC_2.17 __strncat_chk F
+GLIBC_2.17 __strncpy_chk F
+GLIBC_2.17 __strndup F
+GLIBC_2.17 __strpbrk_c2 F
+GLIBC_2.17 __strpbrk_c3 F
+GLIBC_2.17 __strsep_1c F
+GLIBC_2.17 __strsep_2c F
+GLIBC_2.17 __strsep_3c F
+GLIBC_2.17 __strsep_g F
+GLIBC_2.17 __strspn_c1 F
+GLIBC_2.17 __strspn_c2 F
+GLIBC_2.17 __strspn_c3 F
+GLIBC_2.17 __strtod_internal F
+GLIBC_2.17 __strtod_l F
+GLIBC_2.17 __strtof_internal F
+GLIBC_2.17 __strtof_l F
+GLIBC_2.17 __strtok_r F
+GLIBC_2.17 __strtok_r_1c F
+GLIBC_2.17 __strtol_internal F
+GLIBC_2.17 __strtol_l F
+GLIBC_2.17 __strtold_internal F
+GLIBC_2.17 __strtold_l F
+GLIBC_2.17 __strtoll_internal F
+GLIBC_2.17 __strtoll_l F
+GLIBC_2.17 __strtoul_internal F
+GLIBC_2.17 __strtoul_l F
+GLIBC_2.17 __strtoull_internal F
+GLIBC_2.17 __strtoull_l F
+GLIBC_2.17 __strverscmp F
+GLIBC_2.17 __strxfrm_l F
+GLIBC_2.17 __swprintf_chk F
+GLIBC_2.17 __sysconf F
+GLIBC_2.17 __syslog_chk F
+GLIBC_2.17 __sysv_signal F
+GLIBC_2.17 __timezone D 0x8
+GLIBC_2.17 __toascii_l F
+GLIBC_2.17 __tolower_l F
+GLIBC_2.17 __toupper_l F
+GLIBC_2.17 __towctrans F
+GLIBC_2.17 __towctrans_l F
+GLIBC_2.17 __towlower_l F
+GLIBC_2.17 __towupper_l F
+GLIBC_2.17 __ttyname_r_chk F
+GLIBC_2.17 __tzname D 0x10
+GLIBC_2.17 __uflow F
+GLIBC_2.17 __underflow F
+GLIBC_2.17 __uselocale F
+GLIBC_2.17 __vasprintf_chk F
+GLIBC_2.17 __vdprintf_chk F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __vfprintf_chk F
+GLIBC_2.17 __vfscanf F
+GLIBC_2.17 __vfwprintf_chk F
+GLIBC_2.17 __vprintf_chk F
+GLIBC_2.17 __vsnprintf F
+GLIBC_2.17 __vsnprintf_chk F
+GLIBC_2.17 __vsprintf_chk F
+GLIBC_2.17 __vsscanf F
+GLIBC_2.17 __vswprintf_chk F
+GLIBC_2.17 __vsyslog_chk F
+GLIBC_2.17 __vwprintf_chk F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __waitpid F
+GLIBC_2.17 __wcpcpy_chk F
+GLIBC_2.17 __wcpncpy_chk F
+GLIBC_2.17 __wcrtomb_chk F
+GLIBC_2.17 __wcscasecmp_l F
+GLIBC_2.17 __wcscat_chk F
+GLIBC_2.17 __wcscoll_l F
+GLIBC_2.17 __wcscpy_chk F
+GLIBC_2.17 __wcsftime_l F
+GLIBC_2.17 __wcsncasecmp_l F
+GLIBC_2.17 __wcsncat_chk F
+GLIBC_2.17 __wcsncpy_chk F
+GLIBC_2.17 __wcsnrtombs_chk F
+GLIBC_2.17 __wcsrtombs_chk F
+GLIBC_2.17 __wcstod_internal F
+GLIBC_2.17 __wcstod_l F
+GLIBC_2.17 __wcstof_internal F
+GLIBC_2.17 __wcstof_l F
+GLIBC_2.17 __wcstol_internal F
+GLIBC_2.17 __wcstol_l F
+GLIBC_2.17 __wcstold_internal F
+GLIBC_2.17 __wcstold_l F
+GLIBC_2.17 __wcstoll_internal F
+GLIBC_2.17 __wcstoll_l F
+GLIBC_2.17 __wcstombs_chk F
+GLIBC_2.17 __wcstoul_internal F
+GLIBC_2.17 __wcstoul_l F
+GLIBC_2.17 __wcstoull_internal F
+GLIBC_2.17 __wcstoull_l F
+GLIBC_2.17 __wcsxfrm_l F
+GLIBC_2.17 __wctomb_chk F
+GLIBC_2.17 __wctrans_l F
+GLIBC_2.17 __wctype_l F
+GLIBC_2.17 __wmemcpy_chk F
+GLIBC_2.17 __wmemmove_chk F
+GLIBC_2.17 __wmempcpy_chk F
+GLIBC_2.17 __wmemset_chk F
+GLIBC_2.17 __woverflow F
+GLIBC_2.17 __wprintf_chk F
+GLIBC_2.17 __write F
+GLIBC_2.17 __wuflow F
+GLIBC_2.17 __wunderflow F
+GLIBC_2.17 __xmknod F
+GLIBC_2.17 __xmknodat F
+GLIBC_2.17 __xpg_basename F
+GLIBC_2.17 __xpg_sigpause F
+GLIBC_2.17 __xpg_strerror_r F
+GLIBC_2.17 __xstat F
+GLIBC_2.17 __xstat64 F
+GLIBC_2.17 _authenticate F
+GLIBC_2.17 _dl_mcount_wrapper F
+GLIBC_2.17 _dl_mcount_wrapper_check F
+GLIBC_2.17 _environ D 0x8
+GLIBC_2.17 _exit F
+GLIBC_2.17 _flushlbf F
+GLIBC_2.17 _libc_intl_domainname D 0x5
+GLIBC_2.17 _longjmp F
+GLIBC_2.17 _mcleanup F
+GLIBC_2.17 _nl_default_dirname D 0x12
+GLIBC_2.17 _nl_domain_bindings D 0x8
+GLIBC_2.17 _nl_msg_cat_cntr D 0x4
+GLIBC_2.17 _null_auth D 0x18
+GLIBC_2.17 _obstack_allocated_p F
+GLIBC_2.17 _obstack_begin F
+GLIBC_2.17 _obstack_begin_1 F
+GLIBC_2.17 _obstack_free F
+GLIBC_2.17 _obstack_memory_used F
+GLIBC_2.17 _obstack_newchunk F
+GLIBC_2.17 _res D 0x238
+GLIBC_2.17 _res_hconf D 0x48
+GLIBC_2.17 _rpc_dtablesize F
+GLIBC_2.17 _seterr_reply F
+GLIBC_2.17 _setjmp F
+GLIBC_2.17 _sys_errlist D 0x438
+GLIBC_2.17 _sys_nerr D 0x4
+GLIBC_2.17 _sys_siglist D 0x208
+GLIBC_2.17 _tolower F
+GLIBC_2.17 _toupper F
+GLIBC_2.17 a64l F
+GLIBC_2.17 abort F
+GLIBC_2.17 abs F
+GLIBC_2.17 accept F
+GLIBC_2.17 accept4 F
+GLIBC_2.17 access F
+GLIBC_2.17 acct F
+GLIBC_2.17 addmntent F
+GLIBC_2.17 addseverity F
+GLIBC_2.17 adjtime F
+GLIBC_2.17 adjtimex F
+GLIBC_2.17 advance F
+GLIBC_2.17 alarm F
+GLIBC_2.17 aligned_alloc F
+GLIBC_2.17 alphasort F
+GLIBC_2.17 alphasort64 F
+GLIBC_2.17 argp_err_exit_status D 0x4
+GLIBC_2.17 argp_error F
+GLIBC_2.17 argp_failure F
+GLIBC_2.17 argp_help F
+GLIBC_2.17 argp_parse F
+GLIBC_2.17 argp_program_bug_address D 0x8
+GLIBC_2.17 argp_program_version D 0x8
+GLIBC_2.17 argp_program_version_hook D 0x8
+GLIBC_2.17 argp_state_help F
+GLIBC_2.17 argp_usage F
+GLIBC_2.17 argz_add F
+GLIBC_2.17 argz_add_sep F
+GLIBC_2.17 argz_append F
+GLIBC_2.17 argz_count F
+GLIBC_2.17 argz_create F
+GLIBC_2.17 argz_create_sep F
+GLIBC_2.17 argz_delete F
+GLIBC_2.17 argz_extract F
+GLIBC_2.17 argz_insert F
+GLIBC_2.17 argz_next F
+GLIBC_2.17 argz_replace F
+GLIBC_2.17 argz_stringify F
+GLIBC_2.17 asctime F
+GLIBC_2.17 asctime_r F
+GLIBC_2.17 asprintf F
+GLIBC_2.17 atof F
+GLIBC_2.17 atoi F
+GLIBC_2.17 atol F
+GLIBC_2.17 atoll F
+GLIBC_2.17 authdes_create F
+GLIBC_2.17 authdes_getucred F
+GLIBC_2.17 authdes_pk_create F
+GLIBC_2.17 authnone_create F
+GLIBC_2.17 authunix_create F
+GLIBC_2.17 authunix_create_default F
+GLIBC_2.17 backtrace F
+GLIBC_2.17 backtrace_symbols F
+GLIBC_2.17 backtrace_symbols_fd F
+GLIBC_2.17 basename F
+GLIBC_2.17 bcmp F
+GLIBC_2.17 bcopy F
+GLIBC_2.17 bdflush F
+GLIBC_2.17 bind F
+GLIBC_2.17 bind_textdomain_codeset F
+GLIBC_2.17 bindresvport F
+GLIBC_2.17 bindtextdomain F
+GLIBC_2.17 brk F
+GLIBC_2.17 bsd_signal F
+GLIBC_2.17 bsearch F
+GLIBC_2.17 btowc F
+GLIBC_2.17 bzero F
+GLIBC_2.17 c16rtomb F
+GLIBC_2.17 c32rtomb F
+GLIBC_2.17 calloc F
+GLIBC_2.17 callrpc F
+GLIBC_2.17 canonicalize_file_name F
+GLIBC_2.17 capget F
+GLIBC_2.17 capset F
+GLIBC_2.17 catclose F
+GLIBC_2.17 catgets F
+GLIBC_2.17 catopen F
+GLIBC_2.17 cbc_crypt F
+GLIBC_2.17 cfgetispeed F
+GLIBC_2.17 cfgetospeed F
+GLIBC_2.17 cfmakeraw F
+GLIBC_2.17 cfree F
+GLIBC_2.17 cfsetispeed F
+GLIBC_2.17 cfsetospeed F
+GLIBC_2.17 cfsetspeed F
+GLIBC_2.17 chdir F
+GLIBC_2.17 chflags F
+GLIBC_2.17 chmod F
+GLIBC_2.17 chown F
+GLIBC_2.17 chroot F
+GLIBC_2.17 clearenv F
+GLIBC_2.17 clearerr F
+GLIBC_2.17 clearerr_unlocked F
+GLIBC_2.17 clnt_broadcast F
+GLIBC_2.17 clnt_create F
+GLIBC_2.17 clnt_pcreateerror F
+GLIBC_2.17 clnt_perrno F
+GLIBC_2.17 clnt_perror F
+GLIBC_2.17 clnt_spcreateerror F
+GLIBC_2.17 clnt_sperrno F
+GLIBC_2.17 clnt_sperror F
+GLIBC_2.17 clntraw_create F
+GLIBC_2.17 clnttcp_create F
+GLIBC_2.17 clntudp_bufcreate F
+GLIBC_2.17 clntudp_create F
+GLIBC_2.17 clntunix_create F
+GLIBC_2.17 clock F
+GLIBC_2.17 clock_adjtime F
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 clone F
+GLIBC_2.17 close F
+GLIBC_2.17 closedir F
+GLIBC_2.17 closelog F
+GLIBC_2.17 confstr F
+GLIBC_2.17 connect F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 creat F
+GLIBC_2.17 creat64 F
+GLIBC_2.17 create_module F
+GLIBC_2.17 ctermid F
+GLIBC_2.17 ctime F
+GLIBC_2.17 ctime_r F
+GLIBC_2.17 cuserid F
+GLIBC_2.17 daemon F
+GLIBC_2.17 daylight D 0x4
+GLIBC_2.17 dcgettext F
+GLIBC_2.17 dcngettext F
+GLIBC_2.17 delete_module F
+GLIBC_2.17 des_setparity F
+GLIBC_2.17 dgettext F
+GLIBC_2.17 difftime F
+GLIBC_2.17 dirfd F
+GLIBC_2.17 dirname F
+GLIBC_2.17 div F
+GLIBC_2.17 dl_iterate_phdr F
+GLIBC_2.17 dngettext F
+GLIBC_2.17 dprintf F
+GLIBC_2.17 drand48 F
+GLIBC_2.17 drand48_r F
+GLIBC_2.17 dup F
+GLIBC_2.17 dup2 F
+GLIBC_2.17 dup3 F
+GLIBC_2.17 duplocale F
+GLIBC_2.17 dysize F
+GLIBC_2.17 eaccess F
+GLIBC_2.17 ecb_crypt F
+GLIBC_2.17 ecvt F
+GLIBC_2.17 ecvt_r F
+GLIBC_2.17 endaliasent F
+GLIBC_2.17 endfsent F
+GLIBC_2.17 endgrent F
+GLIBC_2.17 endhostent F
+GLIBC_2.17 endmntent F
+GLIBC_2.17 endnetent F
+GLIBC_2.17 endnetgrent F
+GLIBC_2.17 endprotoent F
+GLIBC_2.17 endpwent F
+GLIBC_2.17 endrpcent F
+GLIBC_2.17 endservent F
+GLIBC_2.17 endsgent F
+GLIBC_2.17 endspent F
+GLIBC_2.17 endttyent F
+GLIBC_2.17 endusershell F
+GLIBC_2.17 endutent F
+GLIBC_2.17 endutxent F
+GLIBC_2.17 environ D 0x8
+GLIBC_2.17 envz_add F
+GLIBC_2.17 envz_entry F
+GLIBC_2.17 envz_get F
+GLIBC_2.17 envz_merge F
+GLIBC_2.17 envz_remove F
+GLIBC_2.17 envz_strip F
+GLIBC_2.17 epoll_create F
+GLIBC_2.17 epoll_create1 F
+GLIBC_2.17 epoll_ctl F
+GLIBC_2.17 epoll_pwait F
+GLIBC_2.17 epoll_wait F
+GLIBC_2.17 erand48 F
+GLIBC_2.17 erand48_r F
+GLIBC_2.17 err F
+GLIBC_2.17 error F
+GLIBC_2.17 error_at_line F
+GLIBC_2.17 error_message_count D 0x4
+GLIBC_2.17 error_one_per_line D 0x4
+GLIBC_2.17 error_print_progname D 0x8
+GLIBC_2.17 errx F
+GLIBC_2.17 ether_aton F
+GLIBC_2.17 ether_aton_r F
+GLIBC_2.17 ether_hostton F
+GLIBC_2.17 ether_line F
+GLIBC_2.17 ether_ntoa F
+GLIBC_2.17 ether_ntoa_r F
+GLIBC_2.17 ether_ntohost F
+GLIBC_2.17 euidaccess F
+GLIBC_2.17 eventfd F
+GLIBC_2.17 eventfd_read F
+GLIBC_2.17 eventfd_write F
+GLIBC_2.17 execl F
+GLIBC_2.17 execle F
+GLIBC_2.17 execlp F
+GLIBC_2.17 execv F
+GLIBC_2.17 execve F
+GLIBC_2.17 execvp F
+GLIBC_2.17 execvpe F
+GLIBC_2.17 exit F
+GLIBC_2.17 faccessat F
+GLIBC_2.17 fallocate F
+GLIBC_2.17 fallocate64 F
+GLIBC_2.17 fanotify_init F
+GLIBC_2.17 fanotify_mark F
+GLIBC_2.17 fattach F
+GLIBC_2.17 fchdir F
+GLIBC_2.17 fchflags F
+GLIBC_2.17 fchmod F
+GLIBC_2.17 fchmodat F
+GLIBC_2.17 fchown F
+GLIBC_2.17 fchownat F
+GLIBC_2.17 fclose F
+GLIBC_2.17 fcloseall F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 fcvt F
+GLIBC_2.17 fcvt_r F
+GLIBC_2.17 fdatasync F
+GLIBC_2.17 fdetach F
+GLIBC_2.17 fdopen F
+GLIBC_2.17 fdopendir F
+GLIBC_2.17 feof F
+GLIBC_2.17 feof_unlocked F
+GLIBC_2.17 ferror F
+GLIBC_2.17 ferror_unlocked F
+GLIBC_2.17 fexecve F
+GLIBC_2.17 fflush F
+GLIBC_2.17 fflush_unlocked F
+GLIBC_2.17 ffs F
+GLIBC_2.17 ffsl F
+GLIBC_2.17 ffsll F
+GLIBC_2.17 fgetc F
+GLIBC_2.17 fgetc_unlocked F
+GLIBC_2.17 fgetgrent F
+GLIBC_2.17 fgetgrent_r F
+GLIBC_2.17 fgetpos F
+GLIBC_2.17 fgetpos64 F
+GLIBC_2.17 fgetpwent F
+GLIBC_2.17 fgetpwent_r F
+GLIBC_2.17 fgets F
+GLIBC_2.17 fgets_unlocked F
+GLIBC_2.17 fgetsgent F
+GLIBC_2.17 fgetsgent_r F
+GLIBC_2.17 fgetspent F
+GLIBC_2.17 fgetspent_r F
+GLIBC_2.17 fgetwc F
+GLIBC_2.17 fgetwc_unlocked F
+GLIBC_2.17 fgetws F
+GLIBC_2.17 fgetws_unlocked F
+GLIBC_2.17 fgetxattr F
+GLIBC_2.17 fileno F
+GLIBC_2.17 fileno_unlocked F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 flistxattr F
+GLIBC_2.17 flock F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fmemopen F
+GLIBC_2.17 fmtmsg F
+GLIBC_2.17 fnmatch F
+GLIBC_2.17 fopen F
+GLIBC_2.17 fopen64 F
+GLIBC_2.17 fopencookie F
+GLIBC_2.17 fork F
+GLIBC_2.17 fpathconf F
+GLIBC_2.17 fprintf F
+GLIBC_2.17 fputc F
+GLIBC_2.17 fputc_unlocked F
+GLIBC_2.17 fputs F
+GLIBC_2.17 fputs_unlocked F
+GLIBC_2.17 fputwc F
+GLIBC_2.17 fputwc_unlocked F
+GLIBC_2.17 fputws F
+GLIBC_2.17 fputws_unlocked F
+GLIBC_2.17 fread F
+GLIBC_2.17 fread_unlocked F
+GLIBC_2.17 free F
+GLIBC_2.17 freeaddrinfo F
+GLIBC_2.17 freeifaddrs F
+GLIBC_2.17 freelocale F
+GLIBC_2.17 fremovexattr F
+GLIBC_2.17 freopen F
+GLIBC_2.17 freopen64 F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 fscanf F
+GLIBC_2.17 fseek F
+GLIBC_2.17 fseeko F
+GLIBC_2.17 fseeko64 F
+GLIBC_2.17 fsetpos F
+GLIBC_2.17 fsetpos64 F
+GLIBC_2.17 fsetxattr F
+GLIBC_2.17 fstatfs F
+GLIBC_2.17 fstatfs64 F
+GLIBC_2.17 fstatvfs F
+GLIBC_2.17 fstatvfs64 F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftell F
+GLIBC_2.17 ftello F
+GLIBC_2.17 ftello64 F
+GLIBC_2.17 ftime F
+GLIBC_2.17 ftok F
+GLIBC_2.17 ftruncate F
+GLIBC_2.17 ftruncate64 F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 fts_children F
+GLIBC_2.17 fts_close F
+GLIBC_2.17 fts_open F
+GLIBC_2.17 fts_read F
+GLIBC_2.17 fts_set F
+GLIBC_2.17 ftw F
+GLIBC_2.17 ftw64 F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 futimens F
+GLIBC_2.17 futimes F
+GLIBC_2.17 futimesat F
+GLIBC_2.17 fwide F
+GLIBC_2.17 fwprintf F
+GLIBC_2.17 fwrite F
+GLIBC_2.17 fwrite_unlocked F
+GLIBC_2.17 fwscanf F
+GLIBC_2.17 gai_strerror F
+GLIBC_2.17 gcvt F
+GLIBC_2.17 get_avphys_pages F
+GLIBC_2.17 get_current_dir_name F
+GLIBC_2.17 get_kernel_syms F
+GLIBC_2.17 get_myaddress F
+GLIBC_2.17 get_nprocs F
+GLIBC_2.17 get_nprocs_conf F
+GLIBC_2.17 get_phys_pages F
+GLIBC_2.17 getaddrinfo F
+GLIBC_2.17 getaliasbyname F
+GLIBC_2.17 getaliasbyname_r F
+GLIBC_2.17 getaliasent F
+GLIBC_2.17 getaliasent_r F
+GLIBC_2.17 getauxval F
+GLIBC_2.17 getc F
+GLIBC_2.17 getc_unlocked F
+GLIBC_2.17 getchar F
+GLIBC_2.17 getchar_unlocked F
+GLIBC_2.17 getcontext F
+GLIBC_2.17 getcwd F
+GLIBC_2.17 getdate F
+GLIBC_2.17 getdate_err D 0x4
+GLIBC_2.17 getdate_r F
+GLIBC_2.17 getdelim F
+GLIBC_2.17 getdirentries F
+GLIBC_2.17 getdirentries64 F
+GLIBC_2.17 getdomainname F
+GLIBC_2.17 getdtablesize F
+GLIBC_2.17 getegid F
+GLIBC_2.17 getenv F
+GLIBC_2.17 geteuid F
+GLIBC_2.17 getfsent F
+GLIBC_2.17 getfsfile F
+GLIBC_2.17 getfsspec F
+GLIBC_2.17 getgid F
+GLIBC_2.17 getgrent F
+GLIBC_2.17 getgrent_r F
+GLIBC_2.17 getgrgid F
+GLIBC_2.17 getgrgid_r F
+GLIBC_2.17 getgrnam F
+GLIBC_2.17 getgrnam_r F
+GLIBC_2.17 getgrouplist F
+GLIBC_2.17 getgroups F
+GLIBC_2.17 gethostbyaddr F
+GLIBC_2.17 gethostbyaddr_r F
+GLIBC_2.17 gethostbyname F
+GLIBC_2.17 gethostbyname2 F
+GLIBC_2.17 gethostbyname2_r F
+GLIBC_2.17 gethostbyname_r F
+GLIBC_2.17 gethostent F
+GLIBC_2.17 gethostent_r F
+GLIBC_2.17 gethostid F
+GLIBC_2.17 gethostname F
+GLIBC_2.17 getifaddrs F
+GLIBC_2.17 getipv4sourcefilter F
+GLIBC_2.17 getitimer F
+GLIBC_2.17 getline F
+GLIBC_2.17 getloadavg F
+GLIBC_2.17 getlogin F
+GLIBC_2.17 getlogin_r F
+GLIBC_2.17 getmntent F
+GLIBC_2.17 getmntent_r F
+GLIBC_2.17 getmsg F
+GLIBC_2.17 getnameinfo F
+GLIBC_2.17 getnetbyaddr F
+GLIBC_2.17 getnetbyaddr_r F
+GLIBC_2.17 getnetbyname F
+GLIBC_2.17 getnetbyname_r F
+GLIBC_2.17 getnetent F
+GLIBC_2.17 getnetent_r F
+GLIBC_2.17 getnetgrent F
+GLIBC_2.17 getnetgrent_r F
+GLIBC_2.17 getnetname F
+GLIBC_2.17 getopt F
+GLIBC_2.17 getopt_long F
+GLIBC_2.17 getopt_long_only F
+GLIBC_2.17 getpagesize F
+GLIBC_2.17 getpass F
+GLIBC_2.17 getpeername F
+GLIBC_2.17 getpgid F
+GLIBC_2.17 getpgrp F
+GLIBC_2.17 getpid F
+GLIBC_2.17 getpmsg F
+GLIBC_2.17 getppid F
+GLIBC_2.17 getpriority F
+GLIBC_2.17 getprotobyname F
+GLIBC_2.17 getprotobyname_r F
+GLIBC_2.17 getprotobynumber F
+GLIBC_2.17 getprotobynumber_r F
+GLIBC_2.17 getprotoent F
+GLIBC_2.17 getprotoent_r F
+GLIBC_2.17 getpt F
+GLIBC_2.17 getpublickey F
+GLIBC_2.17 getpw F
+GLIBC_2.17 getpwent F
+GLIBC_2.17 getpwent_r F
+GLIBC_2.17 getpwnam F
+GLIBC_2.17 getpwnam_r F
+GLIBC_2.17 getpwuid F
+GLIBC_2.17 getpwuid_r F
+GLIBC_2.17 getresgid F
+GLIBC_2.17 getresuid F
+GLIBC_2.17 getrlimit F
+GLIBC_2.17 getrlimit64 F
+GLIBC_2.17 getrpcbyname F
+GLIBC_2.17 getrpcbyname_r F
+GLIBC_2.17 getrpcbynumber F
+GLIBC_2.17 getrpcbynumber_r F
+GLIBC_2.17 getrpcent F
+GLIBC_2.17 getrpcent_r F
+GLIBC_2.17 getrpcport F
+GLIBC_2.17 getrusage F
+GLIBC_2.17 gets F
+GLIBC_2.17 getsecretkey F
+GLIBC_2.17 getservbyname F
+GLIBC_2.17 getservbyname_r F
+GLIBC_2.17 getservbyport F
+GLIBC_2.17 getservbyport_r F
+GLIBC_2.17 getservent F
+GLIBC_2.17 getservent_r F
+GLIBC_2.17 getsgent F
+GLIBC_2.17 getsgent_r F
+GLIBC_2.17 getsgnam F
+GLIBC_2.17 getsgnam_r F
+GLIBC_2.17 getsid F
+GLIBC_2.17 getsockname F
+GLIBC_2.17 getsockopt F
+GLIBC_2.17 getsourcefilter F
+GLIBC_2.17 getspent F
+GLIBC_2.17 getspent_r F
+GLIBC_2.17 getspnam F
+GLIBC_2.17 getspnam_r F
+GLIBC_2.17 getsubopt F
+GLIBC_2.17 gettext F
+GLIBC_2.17 gettimeofday F
+GLIBC_2.17 getttyent F
+GLIBC_2.17 getttynam F
+GLIBC_2.17 getuid F
+GLIBC_2.17 getusershell F
+GLIBC_2.17 getutent F
+GLIBC_2.17 getutent_r F
+GLIBC_2.17 getutid F
+GLIBC_2.17 getutid_r F
+GLIBC_2.17 getutline F
+GLIBC_2.17 getutline_r F
+GLIBC_2.17 getutmp F
+GLIBC_2.17 getutmpx F
+GLIBC_2.17 getutxent F
+GLIBC_2.17 getutxid F
+GLIBC_2.17 getutxline F
+GLIBC_2.17 getw F
+GLIBC_2.17 getwc F
+GLIBC_2.17 getwc_unlocked F
+GLIBC_2.17 getwchar F
+GLIBC_2.17 getwchar_unlocked F
+GLIBC_2.17 getwd F
+GLIBC_2.17 getxattr F
+GLIBC_2.17 glob F
+GLIBC_2.17 glob64 F
+GLIBC_2.17 glob_pattern_p F
+GLIBC_2.17 globfree F
+GLIBC_2.17 globfree64 F
+GLIBC_2.17 gmtime F
+GLIBC_2.17 gmtime_r F
+GLIBC_2.17 gnu_dev_major F
+GLIBC_2.17 gnu_dev_makedev F
+GLIBC_2.17 gnu_dev_minor F
+GLIBC_2.17 gnu_get_libc_release F
+GLIBC_2.17 gnu_get_libc_version F
+GLIBC_2.17 grantpt F
+GLIBC_2.17 group_member F
+GLIBC_2.17 gsignal F
+GLIBC_2.17 gtty F
+GLIBC_2.17 h_errlist D 0x28
+GLIBC_2.17 h_nerr D 0x4
+GLIBC_2.17 hasmntopt F
+GLIBC_2.17 hcreate F
+GLIBC_2.17 hcreate_r F
+GLIBC_2.17 hdestroy F
+GLIBC_2.17 hdestroy_r F
+GLIBC_2.17 herror F
+GLIBC_2.17 host2netname F
+GLIBC_2.17 hsearch F
+GLIBC_2.17 hsearch_r F
+GLIBC_2.17 hstrerror F
+GLIBC_2.17 htonl F
+GLIBC_2.17 htons F
+GLIBC_2.17 iconv F
+GLIBC_2.17 iconv_close F
+GLIBC_2.17 iconv_open F
+GLIBC_2.17 if_freenameindex F
+GLIBC_2.17 if_indextoname F
+GLIBC_2.17 if_nameindex F
+GLIBC_2.17 if_nametoindex F
+GLIBC_2.17 imaxabs F
+GLIBC_2.17 imaxdiv F
+GLIBC_2.17 in6addr_any D 0x10
+GLIBC_2.17 in6addr_loopback D 0x10
+GLIBC_2.17 index F
+GLIBC_2.17 inet6_opt_append F
+GLIBC_2.17 inet6_opt_find F
+GLIBC_2.17 inet6_opt_finish F
+GLIBC_2.17 inet6_opt_get_val F
+GLIBC_2.17 inet6_opt_init F
+GLIBC_2.17 inet6_opt_next F
+GLIBC_2.17 inet6_opt_set_val F
+GLIBC_2.17 inet6_option_alloc F
+GLIBC_2.17 inet6_option_append F
+GLIBC_2.17 inet6_option_find F
+GLIBC_2.17 inet6_option_init F
+GLIBC_2.17 inet6_option_next F
+GLIBC_2.17 inet6_option_space F
+GLIBC_2.17 inet6_rth_add F
+GLIBC_2.17 inet6_rth_getaddr F
+GLIBC_2.17 inet6_rth_init F
+GLIBC_2.17 inet6_rth_reverse F
+GLIBC_2.17 inet6_rth_segments F
+GLIBC_2.17 inet6_rth_space F
+GLIBC_2.17 inet_addr F
+GLIBC_2.17 inet_aton F
+GLIBC_2.17 inet_lnaof F
+GLIBC_2.17 inet_makeaddr F
+GLIBC_2.17 inet_netof F
+GLIBC_2.17 inet_network F
+GLIBC_2.17 inet_nsap_addr F
+GLIBC_2.17 inet_nsap_ntoa F
+GLIBC_2.17 inet_ntoa F
+GLIBC_2.17 inet_ntop F
+GLIBC_2.17 inet_pton F
+GLIBC_2.17 init_module F
+GLIBC_2.17 initgroups F
+GLIBC_2.17 initstate F
+GLIBC_2.17 initstate_r F
+GLIBC_2.17 innetgr F
+GLIBC_2.17 inotify_add_watch F
+GLIBC_2.17 inotify_init F
+GLIBC_2.17 inotify_init1 F
+GLIBC_2.17 inotify_rm_watch F
+GLIBC_2.17 insque F
+GLIBC_2.17 ioctl F
+GLIBC_2.17 iruserok F
+GLIBC_2.17 iruserok_af F
+GLIBC_2.17 isalnum F
+GLIBC_2.17 isalnum_l F
+GLIBC_2.17 isalpha F
+GLIBC_2.17 isalpha_l F
+GLIBC_2.17 isascii F
+GLIBC_2.17 isastream F
+GLIBC_2.17 isatty F
+GLIBC_2.17 isblank F
+GLIBC_2.17 isblank_l F
+GLIBC_2.17 iscntrl F
+GLIBC_2.17 iscntrl_l F
+GLIBC_2.17 isctype F
+GLIBC_2.17 isdigit F
+GLIBC_2.17 isdigit_l F
+GLIBC_2.17 isfdtype F
+GLIBC_2.17 isgraph F
+GLIBC_2.17 isgraph_l F
+GLIBC_2.17 isinf F
+GLIBC_2.17 isinff F
+GLIBC_2.17 isinfl F
+GLIBC_2.17 islower F
+GLIBC_2.17 islower_l F
+GLIBC_2.17 isnan F
+GLIBC_2.17 isnanf F
+GLIBC_2.17 isnanl F
+GLIBC_2.17 isprint F
+GLIBC_2.17 isprint_l F
+GLIBC_2.17 ispunct F
+GLIBC_2.17 ispunct_l F
+GLIBC_2.17 isspace F
+GLIBC_2.17 isspace_l F
+GLIBC_2.17 isupper F
+GLIBC_2.17 isupper_l F
+GLIBC_2.17 iswalnum F
+GLIBC_2.17 iswalnum_l F
+GLIBC_2.17 iswalpha F
+GLIBC_2.17 iswalpha_l F
+GLIBC_2.17 iswblank F
+GLIBC_2.17 iswblank_l F
+GLIBC_2.17 iswcntrl F
+GLIBC_2.17 iswcntrl_l F
+GLIBC_2.17 iswctype F
+GLIBC_2.17 iswctype_l F
+GLIBC_2.17 iswdigit F
+GLIBC_2.17 iswdigit_l F
+GLIBC_2.17 iswgraph F
+GLIBC_2.17 iswgraph_l F
+GLIBC_2.17 iswlower F
+GLIBC_2.17 iswlower_l F
+GLIBC_2.17 iswprint F
+GLIBC_2.17 iswprint_l F
+GLIBC_2.17 iswpunct F
+GLIBC_2.17 iswpunct_l F
+GLIBC_2.17 iswspace F
+GLIBC_2.17 iswspace_l F
+GLIBC_2.17 iswupper F
+GLIBC_2.17 iswupper_l F
+GLIBC_2.17 iswxdigit F
+GLIBC_2.17 iswxdigit_l F
+GLIBC_2.17 isxdigit F
+GLIBC_2.17 isxdigit_l F
+GLIBC_2.17 jrand48 F
+GLIBC_2.17 jrand48_r F
+GLIBC_2.17 key_decryptsession F
+GLIBC_2.17 key_decryptsession_pk F
+GLIBC_2.17 key_encryptsession F
+GLIBC_2.17 key_encryptsession_pk F
+GLIBC_2.17 key_gendes F
+GLIBC_2.17 key_get_conv F
+GLIBC_2.17 key_secretkey_is_set F
+GLIBC_2.17 key_setnet F
+GLIBC_2.17 key_setsecret F
+GLIBC_2.17 kill F
+GLIBC_2.17 killpg F
+GLIBC_2.17 klogctl F
+GLIBC_2.17 l64a F
+GLIBC_2.17 labs F
+GLIBC_2.17 lchmod F
+GLIBC_2.17 lchown F
+GLIBC_2.17 lckpwdf F
+GLIBC_2.17 lcong48 F
+GLIBC_2.17 lcong48_r F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 ldiv F
+GLIBC_2.17 lfind F
+GLIBC_2.17 lgetxattr F
+GLIBC_2.17 link F
+GLIBC_2.17 linkat F
+GLIBC_2.17 listen F
+GLIBC_2.17 listxattr F
+GLIBC_2.17 llabs F
+GLIBC_2.17 lldiv F
+GLIBC_2.17 llistxattr F
+GLIBC_2.17 llseek F
+GLIBC_2.17 loc1 D 0x8
+GLIBC_2.17 loc2 D 0x8
+GLIBC_2.17 localeconv F
+GLIBC_2.17 localtime F
+GLIBC_2.17 localtime_r F
+GLIBC_2.17 lockf F
+GLIBC_2.17 lockf64 F
+GLIBC_2.17 locs D 0x8
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lrand48 F
+GLIBC_2.17 lrand48_r F
+GLIBC_2.17 lremovexattr F
+GLIBC_2.17 lsearch F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 lsetxattr F
+GLIBC_2.17 lutimes F
+GLIBC_2.17 madvise F
+GLIBC_2.17 makecontext F
+GLIBC_2.17 mallinfo F
+GLIBC_2.17 malloc F
+GLIBC_2.17 malloc_get_state F
+GLIBC_2.17 malloc_info F
+GLIBC_2.17 malloc_set_state F
+GLIBC_2.17 malloc_stats F
+GLIBC_2.17 malloc_trim F
+GLIBC_2.17 malloc_usable_size F
+GLIBC_2.17 mallopt F
+GLIBC_2.17 mallwatch D 0x8
+GLIBC_2.17 mblen F
+GLIBC_2.17 mbrlen F
+GLIBC_2.17 mbrtoc16 F
+GLIBC_2.17 mbrtoc32 F
+GLIBC_2.17 mbrtowc F
+GLIBC_2.17 mbsinit F
+GLIBC_2.17 mbsnrtowcs F
+GLIBC_2.17 mbsrtowcs F
+GLIBC_2.17 mbstowcs F
+GLIBC_2.17 mbtowc F
+GLIBC_2.17 mcheck F
+GLIBC_2.17 mcheck_check_all F
+GLIBC_2.17 mcheck_pedantic F
+GLIBC_2.17 memalign F
+GLIBC_2.17 memccpy F
+GLIBC_2.17 memchr F
+GLIBC_2.17 memcmp F
+GLIBC_2.17 memcpy F
+GLIBC_2.17 memfrob F
+GLIBC_2.17 memmem F
+GLIBC_2.17 memmove F
+GLIBC_2.17 mempcpy F
+GLIBC_2.17 memrchr F
+GLIBC_2.17 memset F
+GLIBC_2.17 mincore F
+GLIBC_2.17 mkdir F
+GLIBC_2.17 mkdirat F
+GLIBC_2.17 mkdtemp F
+GLIBC_2.17 mkfifo F
+GLIBC_2.17 mkfifoat F
+GLIBC_2.17 mkostemp F
+GLIBC_2.17 mkostemp64 F
+GLIBC_2.17 mkostemps F
+GLIBC_2.17 mkostemps64 F
+GLIBC_2.17 mkstemp F
+GLIBC_2.17 mkstemp64 F
+GLIBC_2.17 mkstemps F
+GLIBC_2.17 mkstemps64 F
+GLIBC_2.17 mktemp F
+GLIBC_2.17 mktime F
+GLIBC_2.17 mlock F
+GLIBC_2.17 mlockall F
+GLIBC_2.17 mmap F
+GLIBC_2.17 mmap64 F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 moncontrol F
+GLIBC_2.17 monstartup F
+GLIBC_2.17 mount F
+GLIBC_2.17 mprobe F
+GLIBC_2.17 mprotect F
+GLIBC_2.17 mrand48 F
+GLIBC_2.17 mrand48_r F
+GLIBC_2.17 mremap F
+GLIBC_2.17 msgctl F
+GLIBC_2.17 msgget F
+GLIBC_2.17 msgrcv F
+GLIBC_2.17 msgsnd F
+GLIBC_2.17 msync F
+GLIBC_2.17 mtrace F
+GLIBC_2.17 munlock F
+GLIBC_2.17 munlockall F
+GLIBC_2.17 munmap F
+GLIBC_2.17 muntrace F
+GLIBC_2.17 name_to_handle_at F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 netname2host F
+GLIBC_2.17 netname2user F
+GLIBC_2.17 newlocale F
+GLIBC_2.17 nfsservctl F
+GLIBC_2.17 nftw F
+GLIBC_2.17 nftw64 F
+GLIBC_2.17 ngettext F
+GLIBC_2.17 nice F
+GLIBC_2.17 nl_langinfo F
+GLIBC_2.17 nl_langinfo_l F
+GLIBC_2.17 nrand48 F
+GLIBC_2.17 nrand48_r F
+GLIBC_2.17 ntohl F
+GLIBC_2.17 ntohs F
+GLIBC_2.17 ntp_adjtime F
+GLIBC_2.17 ntp_gettime F
+GLIBC_2.17 ntp_gettimex F
+GLIBC_2.17 obstack_alloc_failed_handler D 0x8
+GLIBC_2.17 obstack_exit_failure D 0x4
+GLIBC_2.17 obstack_free F
+GLIBC_2.17 obstack_printf F
+GLIBC_2.17 obstack_vprintf F
+GLIBC_2.17 on_exit F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 open_by_handle_at F
+GLIBC_2.17 open_memstream F
+GLIBC_2.17 open_wmemstream F
+GLIBC_2.17 openat F
+GLIBC_2.17 openat64 F
+GLIBC_2.17 opendir F
+GLIBC_2.17 openlog F
+GLIBC_2.17 optarg D 0x8
+GLIBC_2.17 opterr D 0x4
+GLIBC_2.17 optind D 0x4
+GLIBC_2.17 optopt D 0x4
+GLIBC_2.17 parse_printf_format F
+GLIBC_2.17 passwd2des F
+GLIBC_2.17 pathconf F
+GLIBC_2.17 pause F
+GLIBC_2.17 pclose F
+GLIBC_2.17 perror F
+GLIBC_2.17 personality F
+GLIBC_2.17 pipe F
+GLIBC_2.17 pipe2 F
+GLIBC_2.17 pivot_root F
+GLIBC_2.17 pmap_getmaps F
+GLIBC_2.17 pmap_getport F
+GLIBC_2.17 pmap_rmtcall F
+GLIBC_2.17 pmap_set F
+GLIBC_2.17 pmap_unset F
+GLIBC_2.17 poll F
+GLIBC_2.17 popen F
+GLIBC_2.17 posix_fadvise F
+GLIBC_2.17 posix_fadvise64 F
+GLIBC_2.17 posix_fallocate F
+GLIBC_2.17 posix_fallocate64 F
+GLIBC_2.17 posix_madvise F
+GLIBC_2.17 posix_memalign F
+GLIBC_2.17 posix_openpt F
+GLIBC_2.17 posix_spawn F
+GLIBC_2.17 posix_spawn_file_actions_addclose F
+GLIBC_2.17 posix_spawn_file_actions_adddup2 F
+GLIBC_2.17 posix_spawn_file_actions_addopen F
+GLIBC_2.17 posix_spawn_file_actions_destroy F
+GLIBC_2.17 posix_spawn_file_actions_init F
+GLIBC_2.17 posix_spawnattr_destroy F
+GLIBC_2.17 posix_spawnattr_getflags F
+GLIBC_2.17 posix_spawnattr_getpgroup F
+GLIBC_2.17 posix_spawnattr_getschedparam F
+GLIBC_2.17 posix_spawnattr_getschedpolicy F
+GLIBC_2.17 posix_spawnattr_getsigdefault F
+GLIBC_2.17 posix_spawnattr_getsigmask F
+GLIBC_2.17 posix_spawnattr_init F
+GLIBC_2.17 posix_spawnattr_setflags F
+GLIBC_2.17 posix_spawnattr_setpgroup F
+GLIBC_2.17 posix_spawnattr_setschedparam F
+GLIBC_2.17 posix_spawnattr_setschedpolicy F
+GLIBC_2.17 posix_spawnattr_setsigdefault F
+GLIBC_2.17 posix_spawnattr_setsigmask F
+GLIBC_2.17 posix_spawnp F
+GLIBC_2.17 ppoll F
+GLIBC_2.17 prctl F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 preadv F
+GLIBC_2.17 preadv64 F
+GLIBC_2.17 printf F
+GLIBC_2.17 printf_size F
+GLIBC_2.17 printf_size_info F
+GLIBC_2.17 prlimit F
+GLIBC_2.17 prlimit64 F
+GLIBC_2.17 process_vm_readv F
+GLIBC_2.17 process_vm_writev F
+GLIBC_2.17 profil F
+GLIBC_2.17 program_invocation_name D 0x8
+GLIBC_2.17 program_invocation_short_name D 0x8
+GLIBC_2.17 pselect F
+GLIBC_2.17 psiginfo F
+GLIBC_2.17 psignal F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 ptrace F
+GLIBC_2.17 ptsname F
+GLIBC_2.17 ptsname_r F
+GLIBC_2.17 putc F
+GLIBC_2.17 putc_unlocked F
+GLIBC_2.17 putchar F
+GLIBC_2.17 putchar_unlocked F
+GLIBC_2.17 putenv F
+GLIBC_2.17 putgrent F
+GLIBC_2.17 putmsg F
+GLIBC_2.17 putpmsg F
+GLIBC_2.17 putpwent F
+GLIBC_2.17 puts F
+GLIBC_2.17 putsgent F
+GLIBC_2.17 putspent F
+GLIBC_2.17 pututline F
+GLIBC_2.17 pututxline F
+GLIBC_2.17 putw F
+GLIBC_2.17 putwc F
+GLIBC_2.17 putwc_unlocked F
+GLIBC_2.17 putwchar F
+GLIBC_2.17 putwchar_unlocked F
+GLIBC_2.17 pvalloc F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 pwritev F
+GLIBC_2.17 pwritev64 F
+GLIBC_2.17 qecvt F
+GLIBC_2.17 qecvt_r F
+GLIBC_2.17 qfcvt F
+GLIBC_2.17 qfcvt_r F
+GLIBC_2.17 qgcvt F
+GLIBC_2.17 qsort F
+GLIBC_2.17 qsort_r F
+GLIBC_2.17 query_module F
+GLIBC_2.17 quick_exit F
+GLIBC_2.17 quotactl F
+GLIBC_2.17 raise F
+GLIBC_2.17 rand F
+GLIBC_2.17 rand_r F
+GLIBC_2.17 random F
+GLIBC_2.17 random_r F
+GLIBC_2.17 rawmemchr F
+GLIBC_2.17 rcmd F
+GLIBC_2.17 rcmd_af F
+GLIBC_2.17 re_comp F
+GLIBC_2.17 re_compile_fastmap F
+GLIBC_2.17 re_compile_pattern F
+GLIBC_2.17 re_exec F
+GLIBC_2.17 re_match F
+GLIBC_2.17 re_match_2 F
+GLIBC_2.17 re_search F
+GLIBC_2.17 re_search_2 F
+GLIBC_2.17 re_set_registers F
+GLIBC_2.17 re_set_syntax F
+GLIBC_2.17 re_syntax_options D 0x8
+GLIBC_2.17 read F
+GLIBC_2.17 readahead F
+GLIBC_2.17 readdir F
+GLIBC_2.17 readdir64 F
+GLIBC_2.17 readdir64_r F
+GLIBC_2.17 readdir_r F
+GLIBC_2.17 readlink F
+GLIBC_2.17 readlinkat F
+GLIBC_2.17 readv F
+GLIBC_2.17 realloc F
+GLIBC_2.17 realpath F
+GLIBC_2.17 reboot F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmmsg F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 regcomp F
+GLIBC_2.17 regerror F
+GLIBC_2.17 regexec F
+GLIBC_2.17 regfree F
+GLIBC_2.17 register_printf_function F
+GLIBC_2.17 register_printf_modifier F
+GLIBC_2.17 register_printf_specifier F
+GLIBC_2.17 register_printf_type F
+GLIBC_2.17 registerrpc F
+GLIBC_2.17 remap_file_pages F
+GLIBC_2.17 remove F
+GLIBC_2.17 removexattr F
+GLIBC_2.17 remque F
+GLIBC_2.17 rename F
+GLIBC_2.17 renameat F
+GLIBC_2.17 revoke F
+GLIBC_2.17 rewind F
+GLIBC_2.17 rewinddir F
+GLIBC_2.17 rexec F
+GLIBC_2.17 rexec_af F
+GLIBC_2.17 rexecoptions D 0x4
+GLIBC_2.17 rindex F
+GLIBC_2.17 rmdir F
+GLIBC_2.17 rpc_createerr D 0x20
+GLIBC_2.17 rpmatch F
+GLIBC_2.17 rresvport F
+GLIBC_2.17 rresvport_af F
+GLIBC_2.17 rtime F
+GLIBC_2.17 ruserok F
+GLIBC_2.17 ruserok_af F
+GLIBC_2.17 ruserpass F
+GLIBC_2.17 sbrk F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 scandir F
+GLIBC_2.17 scandir64 F
+GLIBC_2.17 scandirat F
+GLIBC_2.17 scandirat64 F
+GLIBC_2.17 scanf F
+GLIBC_2.17 sched_get_priority_max F
+GLIBC_2.17 sched_get_priority_min F
+GLIBC_2.17 sched_getaffinity F
+GLIBC_2.17 sched_getcpu F
+GLIBC_2.17 sched_getparam F
+GLIBC_2.17 sched_getscheduler F
+GLIBC_2.17 sched_rr_get_interval F
+GLIBC_2.17 sched_setaffinity F
+GLIBC_2.17 sched_setparam F
+GLIBC_2.17 sched_setscheduler F
+GLIBC_2.17 sched_yield F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.17 seed48 F
+GLIBC_2.17 seed48_r F
+GLIBC_2.17 seekdir F
+GLIBC_2.17 select F
+GLIBC_2.17 semctl F
+GLIBC_2.17 semget F
+GLIBC_2.17 semop F
+GLIBC_2.17 semtimedop F
+GLIBC_2.17 send F
+GLIBC_2.17 sendfile F
+GLIBC_2.17 sendfile64 F
+GLIBC_2.17 sendmmsg F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 setaliasent F
+GLIBC_2.17 setbuf F
+GLIBC_2.17 setbuffer F
+GLIBC_2.17 setcontext F
+GLIBC_2.17 setdomainname F
+GLIBC_2.17 setegid F
+GLIBC_2.17 setenv F
+GLIBC_2.17 seteuid F
+GLIBC_2.17 setfsent F
+GLIBC_2.17 setfsgid F
+GLIBC_2.17 setfsuid F
+GLIBC_2.17 setgid F
+GLIBC_2.17 setgrent F
+GLIBC_2.17 setgroups F
+GLIBC_2.17 sethostent F
+GLIBC_2.17 sethostid F
+GLIBC_2.17 sethostname F
+GLIBC_2.17 setipv4sourcefilter F
+GLIBC_2.17 setitimer F
+GLIBC_2.17 setjmp F
+GLIBC_2.17 setlinebuf F
+GLIBC_2.17 setlocale F
+GLIBC_2.17 setlogin F
+GLIBC_2.17 setlogmask F
+GLIBC_2.17 setmntent F
+GLIBC_2.17 setnetent F
+GLIBC_2.17 setnetgrent F
+GLIBC_2.17 setns F
+GLIBC_2.17 setpgid F
+GLIBC_2.17 setpgrp F
+GLIBC_2.17 setpriority F
+GLIBC_2.17 setprotoent F
+GLIBC_2.17 setpwent F
+GLIBC_2.17 setregid F
+GLIBC_2.17 setresgid F
+GLIBC_2.17 setresuid F
+GLIBC_2.17 setreuid F
+GLIBC_2.17 setrlimit F
+GLIBC_2.17 setrlimit64 F
+GLIBC_2.17 setrpcent F
+GLIBC_2.17 setservent F
+GLIBC_2.17 setsgent F
+GLIBC_2.17 setsid F
+GLIBC_2.17 setsockopt F
+GLIBC_2.17 setsourcefilter F
+GLIBC_2.17 setspent F
+GLIBC_2.17 setstate F
+GLIBC_2.17 setstate_r F
+GLIBC_2.17 settimeofday F
+GLIBC_2.17 setttyent F
+GLIBC_2.17 setuid F
+GLIBC_2.17 setusershell F
+GLIBC_2.17 setutent F
+GLIBC_2.17 setutxent F
+GLIBC_2.17 setvbuf F
+GLIBC_2.17 setxattr F
+GLIBC_2.17 sgetsgent F
+GLIBC_2.17 sgetsgent_r F
+GLIBC_2.17 sgetspent F
+GLIBC_2.17 sgetspent_r F
+GLIBC_2.17 shmat F
+GLIBC_2.17 shmctl F
+GLIBC_2.17 shmdt F
+GLIBC_2.17 shmget F
+GLIBC_2.17 shutdown F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 sigaddset F
+GLIBC_2.17 sigaltstack F
+GLIBC_2.17 sigandset F
+GLIBC_2.17 sigblock F
+GLIBC_2.17 sigdelset F
+GLIBC_2.17 sigemptyset F
+GLIBC_2.17 sigfillset F
+GLIBC_2.17 siggetmask F
+GLIBC_2.17 sighold F
+GLIBC_2.17 sigignore F
+GLIBC_2.17 siginterrupt F
+GLIBC_2.17 sigisemptyset F
+GLIBC_2.17 sigismember F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 signal F
+GLIBC_2.17 signalfd F
+GLIBC_2.17 sigorset F
+GLIBC_2.17 sigpause F
+GLIBC_2.17 sigpending F
+GLIBC_2.17 sigprocmask F
+GLIBC_2.17 sigqueue F
+GLIBC_2.17 sigrelse F
+GLIBC_2.17 sigreturn F
+GLIBC_2.17 sigset F
+GLIBC_2.17 sigsetmask F
+GLIBC_2.17 sigstack F
+GLIBC_2.17 sigsuspend F
+GLIBC_2.17 sigtimedwait F
+GLIBC_2.17 sigvec F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 sigwaitinfo F
+GLIBC_2.17 sleep F
+GLIBC_2.17 snprintf F
+GLIBC_2.17 sockatmark F
+GLIBC_2.17 socket F
+GLIBC_2.17 socketpair F
+GLIBC_2.17 splice F
+GLIBC_2.17 sprintf F
+GLIBC_2.17 sprofil F
+GLIBC_2.17 srand F
+GLIBC_2.17 srand48 F
+GLIBC_2.17 srand48_r F
+GLIBC_2.17 srandom F
+GLIBC_2.17 srandom_r F
+GLIBC_2.17 sscanf F
+GLIBC_2.17 ssignal F
+GLIBC_2.17 sstk F
+GLIBC_2.17 statfs F
+GLIBC_2.17 statfs64 F
+GLIBC_2.17 statvfs F
+GLIBC_2.17 statvfs64 F
+GLIBC_2.17 stderr D 0x8
+GLIBC_2.17 stdin D 0x8
+GLIBC_2.17 stdout D 0x8
+GLIBC_2.17 step F
+GLIBC_2.17 stime F
+GLIBC_2.17 stpcpy F
+GLIBC_2.17 stpncpy F
+GLIBC_2.17 strcasecmp F
+GLIBC_2.17 strcasecmp_l F
+GLIBC_2.17 strcasestr F
+GLIBC_2.17 strcat F
+GLIBC_2.17 strchr F
+GLIBC_2.17 strchrnul F
+GLIBC_2.17 strcmp F
+GLIBC_2.17 strcoll F
+GLIBC_2.17 strcoll_l F
+GLIBC_2.17 strcpy F
+GLIBC_2.17 strcspn F
+GLIBC_2.17 strdup F
+GLIBC_2.17 strerror F
+GLIBC_2.17 strerror_l F
+GLIBC_2.17 strerror_r F
+GLIBC_2.17 strfmon F
+GLIBC_2.17 strfmon_l F
+GLIBC_2.17 strfry F
+GLIBC_2.17 strftime F
+GLIBC_2.17 strftime_l F
+GLIBC_2.17 strlen F
+GLIBC_2.17 strncasecmp F
+GLIBC_2.17 strncasecmp_l F
+GLIBC_2.17 strncat F
+GLIBC_2.17 strncmp F
+GLIBC_2.17 strncpy F
+GLIBC_2.17 strndup F
+GLIBC_2.17 strnlen F
+GLIBC_2.17 strpbrk F
+GLIBC_2.17 strptime F
+GLIBC_2.17 strptime_l F
+GLIBC_2.17 strrchr F
+GLIBC_2.17 strsep F
+GLIBC_2.17 strsignal F
+GLIBC_2.17 strspn F
+GLIBC_2.17 strstr F
+GLIBC_2.17 strtod F
+GLIBC_2.17 strtod_l F
+GLIBC_2.17 strtof F
+GLIBC_2.17 strtof_l F
+GLIBC_2.17 strtoimax F
+GLIBC_2.17 strtok F
+GLIBC_2.17 strtok_r F
+GLIBC_2.17 strtol F
+GLIBC_2.17 strtol_l F
+GLIBC_2.17 strtold F
+GLIBC_2.17 strtold_l F
+GLIBC_2.17 strtoll F
+GLIBC_2.17 strtoll_l F
+GLIBC_2.17 strtoq F
+GLIBC_2.17 strtoul F
+GLIBC_2.17 strtoul_l F
+GLIBC_2.17 strtoull F
+GLIBC_2.17 strtoull_l F
+GLIBC_2.17 strtoumax F
+GLIBC_2.17 strtouq F
+GLIBC_2.17 strverscmp F
+GLIBC_2.17 strxfrm F
+GLIBC_2.17 strxfrm_l F
+GLIBC_2.17 stty F
+GLIBC_2.17 svc_exit F
+GLIBC_2.17 svc_fdset D 0x80
+GLIBC_2.17 svc_getreq F
+GLIBC_2.17 svc_getreq_common F
+GLIBC_2.17 svc_getreq_poll F
+GLIBC_2.17 svc_getreqset F
+GLIBC_2.17 svc_max_pollfd D 0x4
+GLIBC_2.17 svc_pollfd D 0x8
+GLIBC_2.17 svc_register F
+GLIBC_2.17 svc_run F
+GLIBC_2.17 svc_sendreply F
+GLIBC_2.17 svc_unregister F
+GLIBC_2.17 svcauthdes_stats D 0x18
+GLIBC_2.17 svcerr_auth F
+GLIBC_2.17 svcerr_decode F
+GLIBC_2.17 svcerr_noproc F
+GLIBC_2.17 svcerr_noprog F
+GLIBC_2.17 svcerr_progvers F
+GLIBC_2.17 svcerr_systemerr F
+GLIBC_2.17 svcerr_weakauth F
+GLIBC_2.17 svcfd_create F
+GLIBC_2.17 svcraw_create F
+GLIBC_2.17 svctcp_create F
+GLIBC_2.17 svcudp_bufcreate F
+GLIBC_2.17 svcudp_create F
+GLIBC_2.17 svcudp_enablecache F
+GLIBC_2.17 svcunix_create F
+GLIBC_2.17 svcunixfd_create F
+GLIBC_2.17 swab F
+GLIBC_2.17 swapcontext F
+GLIBC_2.17 swapoff F
+GLIBC_2.17 swapon F
+GLIBC_2.17 swprintf F
+GLIBC_2.17 swscanf F
+GLIBC_2.17 symlink F
+GLIBC_2.17 symlinkat F
+GLIBC_2.17 sync F
+GLIBC_2.17 sync_file_range F
+GLIBC_2.17 syncfs F
+GLIBC_2.17 sys_errlist D 0x438
+GLIBC_2.17 sys_nerr D 0x4
+GLIBC_2.17 sys_sigabbrev D 0x208
+GLIBC_2.17 sys_siglist D 0x208
+GLIBC_2.17 syscall F
+GLIBC_2.17 sysconf F
+GLIBC_2.17 sysctl F
+GLIBC_2.17 sysinfo F
+GLIBC_2.17 syslog F
+GLIBC_2.17 system F
+GLIBC_2.17 sysv_signal F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 tcflow F
+GLIBC_2.17 tcflush F
+GLIBC_2.17 tcgetattr F
+GLIBC_2.17 tcgetpgrp F
+GLIBC_2.17 tcgetsid F
+GLIBC_2.17 tcsendbreak F
+GLIBC_2.17 tcsetattr F
+GLIBC_2.17 tcsetpgrp F
+GLIBC_2.17 tdelete F
+GLIBC_2.17 tdestroy F
+GLIBC_2.17 tee F
+GLIBC_2.17 telldir F
+GLIBC_2.17 tempnam F
+GLIBC_2.17 textdomain F
+GLIBC_2.17 tfind F
+GLIBC_2.17 time F
+GLIBC_2.17 timegm F
+GLIBC_2.17 timelocal F
+GLIBC_2.17 timerfd_create F
+GLIBC_2.17 timerfd_gettime F
+GLIBC_2.17 timerfd_settime F
+GLIBC_2.17 times F
+GLIBC_2.17 timespec_get F
+GLIBC_2.17 timezone D 0x8
+GLIBC_2.17 tmpfile F
+GLIBC_2.17 tmpfile64 F
+GLIBC_2.17 tmpnam F
+GLIBC_2.17 tmpnam_r F
+GLIBC_2.17 toascii F
+GLIBC_2.17 tolower F
+GLIBC_2.17 tolower_l F
+GLIBC_2.17 toupper F
+GLIBC_2.17 toupper_l F
+GLIBC_2.17 towctrans F
+GLIBC_2.17 towctrans_l F
+GLIBC_2.17 towlower F
+GLIBC_2.17 towlower_l F
+GLIBC_2.17 towupper F
+GLIBC_2.17 towupper_l F
+GLIBC_2.17 tr_break F
+GLIBC_2.17 truncate F
+GLIBC_2.17 truncate64 F
+GLIBC_2.17 tsearch F
+GLIBC_2.17 ttyname F
+GLIBC_2.17 ttyname_r F
+GLIBC_2.17 ttyslot F
+GLIBC_2.17 twalk F
+GLIBC_2.17 tzname D 0x10
+GLIBC_2.17 tzset F
+GLIBC_2.17 ualarm F
+GLIBC_2.17 ulckpwdf F
+GLIBC_2.17 ulimit F
+GLIBC_2.17 umask F
+GLIBC_2.17 umount F
+GLIBC_2.17 umount2 F
+GLIBC_2.17 uname F
+GLIBC_2.17 ungetc F
+GLIBC_2.17 ungetwc F
+GLIBC_2.17 unlink F
+GLIBC_2.17 unlinkat F
+GLIBC_2.17 unlockpt F
+GLIBC_2.17 unsetenv F
+GLIBC_2.17 unshare F
+GLIBC_2.17 updwtmp F
+GLIBC_2.17 updwtmpx F
+GLIBC_2.17 uselib F
+GLIBC_2.17 uselocale F
+GLIBC_2.17 user2netname F
+GLIBC_2.17 usleep F
+GLIBC_2.17 ustat F
+GLIBC_2.17 utime F
+GLIBC_2.17 utimensat F
+GLIBC_2.17 utimes F
+GLIBC_2.17 utmpname F
+GLIBC_2.17 utmpxname F
+GLIBC_2.17 valloc F
+GLIBC_2.17 vasprintf F
+GLIBC_2.17 vdprintf F
+GLIBC_2.17 verr F
+GLIBC_2.17 verrx F
+GLIBC_2.17 versionsort F
+GLIBC_2.17 versionsort64 F
+GLIBC_2.17 vfork F
+GLIBC_2.17 vfprintf F
+GLIBC_2.17 vfscanf F
+GLIBC_2.17 vfwprintf F
+GLIBC_2.17 vfwscanf F
+GLIBC_2.17 vhangup F
+GLIBC_2.17 vlimit F
+GLIBC_2.17 vmsplice F
+GLIBC_2.17 vprintf F
+GLIBC_2.17 vscanf F
+GLIBC_2.17 vsnprintf F
+GLIBC_2.17 vsprintf F
+GLIBC_2.17 vsscanf F
+GLIBC_2.17 vswprintf F
+GLIBC_2.17 vswscanf F
+GLIBC_2.17 vsyslog F
+GLIBC_2.17 vtimes F
+GLIBC_2.17 vwarn F
+GLIBC_2.17 vwarnx F
+GLIBC_2.17 vwprintf F
+GLIBC_2.17 vwscanf F
+GLIBC_2.17 wait F
+GLIBC_2.17 wait3 F
+GLIBC_2.17 wait4 F
+GLIBC_2.17 waitid F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 warn F
+GLIBC_2.17 warnx F
+GLIBC_2.17 wcpcpy F
+GLIBC_2.17 wcpncpy F
+GLIBC_2.17 wcrtomb F
+GLIBC_2.17 wcscasecmp F
+GLIBC_2.17 wcscasecmp_l F
+GLIBC_2.17 wcscat F
+GLIBC_2.17 wcschr F
+GLIBC_2.17 wcschrnul F
+GLIBC_2.17 wcscmp F
+GLIBC_2.17 wcscoll F
+GLIBC_2.17 wcscoll_l F
+GLIBC_2.17 wcscpy F
+GLIBC_2.17 wcscspn F
+GLIBC_2.17 wcsdup F
+GLIBC_2.17 wcsftime F
+GLIBC_2.17 wcsftime_l F
+GLIBC_2.17 wcslen F
+GLIBC_2.17 wcsncasecmp F
+GLIBC_2.17 wcsncasecmp_l F
+GLIBC_2.17 wcsncat F
+GLIBC_2.17 wcsncmp F
+GLIBC_2.17 wcsncpy F
+GLIBC_2.17 wcsnlen F
+GLIBC_2.17 wcsnrtombs F
+GLIBC_2.17 wcspbrk F
+GLIBC_2.17 wcsrchr F
+GLIBC_2.17 wcsrtombs F
+GLIBC_2.17 wcsspn F
+GLIBC_2.17 wcsstr F
+GLIBC_2.17 wcstod F
+GLIBC_2.17 wcstod_l F
+GLIBC_2.17 wcstof F
+GLIBC_2.17 wcstof_l F
+GLIBC_2.17 wcstoimax F
+GLIBC_2.17 wcstok F
+GLIBC_2.17 wcstol F
+GLIBC_2.17 wcstol_l F
+GLIBC_2.17 wcstold F
+GLIBC_2.17 wcstold_l F
+GLIBC_2.17 wcstoll F
+GLIBC_2.17 wcstoll_l F
+GLIBC_2.17 wcstombs F
+GLIBC_2.17 wcstoq F
+GLIBC_2.17 wcstoul F
+GLIBC_2.17 wcstoul_l F
+GLIBC_2.17 wcstoull F
+GLIBC_2.17 wcstoull_l F
+GLIBC_2.17 wcstoumax F
+GLIBC_2.17 wcstouq F
+GLIBC_2.17 wcswcs F
+GLIBC_2.17 wcswidth F
+GLIBC_2.17 wcsxfrm F
+GLIBC_2.17 wcsxfrm_l F
+GLIBC_2.17 wctob F
+GLIBC_2.17 wctomb F
+GLIBC_2.17 wctrans F
+GLIBC_2.17 wctrans_l F
+GLIBC_2.17 wctype F
+GLIBC_2.17 wctype_l F
+GLIBC_2.17 wcwidth F
+GLIBC_2.17 wmemchr F
+GLIBC_2.17 wmemcmp F
+GLIBC_2.17 wmemcpy F
+GLIBC_2.17 wmemmove F
+GLIBC_2.17 wmempcpy F
+GLIBC_2.17 wmemset F
+GLIBC_2.17 wordexp F
+GLIBC_2.17 wordfree F
+GLIBC_2.17 wprintf F
+GLIBC_2.17 write F
+GLIBC_2.17 writev F
+GLIBC_2.17 wscanf F
+GLIBC_2.17 xdecrypt F
+GLIBC_2.17 xdr_accepted_reply F
+GLIBC_2.17 xdr_array F
+GLIBC_2.17 xdr_authdes_cred F
+GLIBC_2.17 xdr_authdes_verf F
+GLIBC_2.17 xdr_authunix_parms F
+GLIBC_2.17 xdr_bool F
+GLIBC_2.17 xdr_bytes F
+GLIBC_2.17 xdr_callhdr F
+GLIBC_2.17 xdr_callmsg F
+GLIBC_2.17 xdr_char F
+GLIBC_2.17 xdr_cryptkeyarg F
+GLIBC_2.17 xdr_cryptkeyarg2 F
+GLIBC_2.17 xdr_cryptkeyres F
+GLIBC_2.17 xdr_des_block F
+GLIBC_2.17 xdr_double F
+GLIBC_2.17 xdr_enum F
+GLIBC_2.17 xdr_float F
+GLIBC_2.17 xdr_free F
+GLIBC_2.17 xdr_getcredres F
+GLIBC_2.17 xdr_hyper F
+GLIBC_2.17 xdr_int F
+GLIBC_2.17 xdr_int16_t F
+GLIBC_2.17 xdr_int32_t F
+GLIBC_2.17 xdr_int64_t F
+GLIBC_2.17 xdr_int8_t F
+GLIBC_2.17 xdr_key_netstarg F
+GLIBC_2.17 xdr_key_netstres F
+GLIBC_2.17 xdr_keybuf F
+GLIBC_2.17 xdr_keystatus F
+GLIBC_2.17 xdr_long F
+GLIBC_2.17 xdr_longlong_t F
+GLIBC_2.17 xdr_netnamestr F
+GLIBC_2.17 xdr_netobj F
+GLIBC_2.17 xdr_opaque F
+GLIBC_2.17 xdr_opaque_auth F
+GLIBC_2.17 xdr_pmap F
+GLIBC_2.17 xdr_pmaplist F
+GLIBC_2.17 xdr_pointer F
+GLIBC_2.17 xdr_quad_t F
+GLIBC_2.17 xdr_reference F
+GLIBC_2.17 xdr_rejected_reply F
+GLIBC_2.17 xdr_replymsg F
+GLIBC_2.17 xdr_rmtcall_args F
+GLIBC_2.17 xdr_rmtcallres F
+GLIBC_2.17 xdr_short F
+GLIBC_2.17 xdr_sizeof F
+GLIBC_2.17 xdr_string F
+GLIBC_2.17 xdr_u_char F
+GLIBC_2.17 xdr_u_hyper F
+GLIBC_2.17 xdr_u_int F
+GLIBC_2.17 xdr_u_long F
+GLIBC_2.17 xdr_u_longlong_t F
+GLIBC_2.17 xdr_u_quad_t F
+GLIBC_2.17 xdr_u_short F
+GLIBC_2.17 xdr_uint16_t F
+GLIBC_2.17 xdr_uint32_t F
+GLIBC_2.17 xdr_uint64_t F
+GLIBC_2.17 xdr_uint8_t F
+GLIBC_2.17 xdr_union F
+GLIBC_2.17 xdr_unixcred F
+GLIBC_2.17 xdr_vector F
+GLIBC_2.17 xdr_void F
+GLIBC_2.17 xdr_wrapstring F
+GLIBC_2.17 xdrmem_create F
+GLIBC_2.17 xdrrec_create F
+GLIBC_2.17 xdrrec_endofrecord F
+GLIBC_2.17 xdrrec_eof F
+GLIBC_2.17 xdrrec_skiprecord F
+GLIBC_2.17 xdrstdio_create F
+GLIBC_2.17 xencrypt F
+GLIBC_2.17 xprt_register F
+GLIBC_2.17 xprt_unregister F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.18 _mcount F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist
new file mode 100644
index 0000000000..58944b3d83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 crypt F
+GLIBC_2.17 crypt_r F
+GLIBC_2.17 encrypt F
+GLIBC_2.17 encrypt_r F
+GLIBC_2.17 fcrypt F
+GLIBC_2.17 setkey F
+GLIBC_2.17 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
new file mode 100644
index 0000000000..1b4b1f77ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 dladdr F
+GLIBC_2.17 dladdr1 F
+GLIBC_2.17 dlclose F
+GLIBC_2.17 dlerror F
+GLIBC_2.17 dlinfo F
+GLIBC_2.17 dlmopen F
+GLIBC_2.17 dlopen F
+GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist
new file mode 100644
index 0000000000..6266864ea7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -0,0 +1,462 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _LIB_VERSION D 0x4
+GLIBC_2.17 __acos_finite F
+GLIBC_2.17 __acosf_finite F
+GLIBC_2.17 __acosh_finite F
+GLIBC_2.17 __acoshf_finite F
+GLIBC_2.17 __acoshl_finite F
+GLIBC_2.17 __acosl_finite F
+GLIBC_2.17 __asin_finite F
+GLIBC_2.17 __asinf_finite F
+GLIBC_2.17 __asinl_finite F
+GLIBC_2.17 __atan2_finite F
+GLIBC_2.17 __atan2f_finite F
+GLIBC_2.17 __atan2l_finite F
+GLIBC_2.17 __atanh_finite F
+GLIBC_2.17 __atanhf_finite F
+GLIBC_2.17 __atanhl_finite F
+GLIBC_2.17 __clog10 F
+GLIBC_2.17 __clog10f F
+GLIBC_2.17 __clog10l F
+GLIBC_2.17 __cosh_finite F
+GLIBC_2.17 __coshf_finite F
+GLIBC_2.17 __coshl_finite F
+GLIBC_2.17 __exp10_finite F
+GLIBC_2.17 __exp10f_finite F
+GLIBC_2.17 __exp10l_finite F
+GLIBC_2.17 __exp2_finite F
+GLIBC_2.17 __exp2f_finite F
+GLIBC_2.17 __exp2l_finite F
+GLIBC_2.17 __exp_finite F
+GLIBC_2.17 __expf_finite F
+GLIBC_2.17 __expl_finite F
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __fmod_finite F
+GLIBC_2.17 __fmodf_finite F
+GLIBC_2.17 __fmodl_finite F
+GLIBC_2.17 __fpclassify F
+GLIBC_2.17 __fpclassifyf F
+GLIBC_2.17 __fpclassifyl F
+GLIBC_2.17 __gamma_r_finite F
+GLIBC_2.17 __gammaf_r_finite F
+GLIBC_2.17 __gammal_r_finite F
+GLIBC_2.17 __hypot_finite F
+GLIBC_2.17 __hypotf_finite F
+GLIBC_2.17 __hypotl_finite F
+GLIBC_2.17 __j0_finite F
+GLIBC_2.17 __j0f_finite F
+GLIBC_2.17 __j0l_finite F
+GLIBC_2.17 __j1_finite F
+GLIBC_2.17 __j1f_finite F
+GLIBC_2.17 __j1l_finite F
+GLIBC_2.17 __jn_finite F
+GLIBC_2.17 __jnf_finite F
+GLIBC_2.17 __jnl_finite F
+GLIBC_2.17 __lgamma_r_finite F
+GLIBC_2.17 __lgammaf_r_finite F
+GLIBC_2.17 __lgammal_r_finite F
+GLIBC_2.17 __log10_finite F
+GLIBC_2.17 __log10f_finite F
+GLIBC_2.17 __log10l_finite F
+GLIBC_2.17 __log2_finite F
+GLIBC_2.17 __log2f_finite F
+GLIBC_2.17 __log2l_finite F
+GLIBC_2.17 __log_finite F
+GLIBC_2.17 __logf_finite F
+GLIBC_2.17 __logl_finite F
+GLIBC_2.17 __pow_finite F
+GLIBC_2.17 __powf_finite F
+GLIBC_2.17 __powl_finite F
+GLIBC_2.17 __remainder_finite F
+GLIBC_2.17 __remainderf_finite F
+GLIBC_2.17 __remainderl_finite F
+GLIBC_2.17 __scalb_finite F
+GLIBC_2.17 __scalbf_finite F
+GLIBC_2.17 __scalbl_finite F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sinh_finite F
+GLIBC_2.17 __sinhf_finite F
+GLIBC_2.17 __sinhl_finite F
+GLIBC_2.17 __sqrt_finite F
+GLIBC_2.17 __sqrtf_finite F
+GLIBC_2.17 __sqrtl_finite F
+GLIBC_2.17 __y0_finite F
+GLIBC_2.17 __y0f_finite F
+GLIBC_2.17 __y0l_finite F
+GLIBC_2.17 __y1_finite F
+GLIBC_2.17 __y1f_finite F
+GLIBC_2.17 __y1l_finite F
+GLIBC_2.17 __yn_finite F
+GLIBC_2.17 __ynf_finite F
+GLIBC_2.17 __ynl_finite F
+GLIBC_2.17 acos F
+GLIBC_2.17 acosf F
+GLIBC_2.17 acosh F
+GLIBC_2.17 acoshf F
+GLIBC_2.17 acoshl F
+GLIBC_2.17 acosl F
+GLIBC_2.17 asin F
+GLIBC_2.17 asinf F
+GLIBC_2.17 asinh F
+GLIBC_2.17 asinhf F
+GLIBC_2.17 asinhl F
+GLIBC_2.17 asinl F
+GLIBC_2.17 atan F
+GLIBC_2.17 atan2 F
+GLIBC_2.17 atan2f F
+GLIBC_2.17 atan2l F
+GLIBC_2.17 atanf F
+GLIBC_2.17 atanh F
+GLIBC_2.17 atanhf F
+GLIBC_2.17 atanhl F
+GLIBC_2.17 atanl F
+GLIBC_2.17 cabs F
+GLIBC_2.17 cabsf F
+GLIBC_2.17 cabsl F
+GLIBC_2.17 cacos F
+GLIBC_2.17 cacosf F
+GLIBC_2.17 cacosh F
+GLIBC_2.17 cacoshf F
+GLIBC_2.17 cacoshl F
+GLIBC_2.17 cacosl F
+GLIBC_2.17 carg F
+GLIBC_2.17 cargf F
+GLIBC_2.17 cargl F
+GLIBC_2.17 casin F
+GLIBC_2.17 casinf F
+GLIBC_2.17 casinh F
+GLIBC_2.17 casinhf F
+GLIBC_2.17 casinhl F
+GLIBC_2.17 casinl F
+GLIBC_2.17 catan F
+GLIBC_2.17 catanf F
+GLIBC_2.17 catanh F
+GLIBC_2.17 catanhf F
+GLIBC_2.17 catanhl F
+GLIBC_2.17 catanl F
+GLIBC_2.17 cbrt F
+GLIBC_2.17 cbrtf F
+GLIBC_2.17 cbrtl F
+GLIBC_2.17 ccos F
+GLIBC_2.17 ccosf F
+GLIBC_2.17 ccosh F
+GLIBC_2.17 ccoshf F
+GLIBC_2.17 ccoshl F
+GLIBC_2.17 ccosl F
+GLIBC_2.17 ceil F
+GLIBC_2.17 ceilf F
+GLIBC_2.17 ceill F
+GLIBC_2.17 cexp F
+GLIBC_2.17 cexpf F
+GLIBC_2.17 cexpl F
+GLIBC_2.17 cimag F
+GLIBC_2.17 cimagf F
+GLIBC_2.17 cimagl F
+GLIBC_2.17 clog F
+GLIBC_2.17 clog10 F
+GLIBC_2.17 clog10f F
+GLIBC_2.17 clog10l F
+GLIBC_2.17 clogf F
+GLIBC_2.17 clogl F
+GLIBC_2.17 conj F
+GLIBC_2.17 conjf F
+GLIBC_2.17 conjl F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 cos F
+GLIBC_2.17 cosf F
+GLIBC_2.17 cosh F
+GLIBC_2.17 coshf F
+GLIBC_2.17 coshl F
+GLIBC_2.17 cosl F
+GLIBC_2.17 cpow F
+GLIBC_2.17 cpowf F
+GLIBC_2.17 cpowl F
+GLIBC_2.17 cproj F
+GLIBC_2.17 cprojf F
+GLIBC_2.17 cprojl F
+GLIBC_2.17 creal F
+GLIBC_2.17 crealf F
+GLIBC_2.17 creall F
+GLIBC_2.17 csin F
+GLIBC_2.17 csinf F
+GLIBC_2.17 csinh F
+GLIBC_2.17 csinhf F
+GLIBC_2.17 csinhl F
+GLIBC_2.17 csinl F
+GLIBC_2.17 csqrt F
+GLIBC_2.17 csqrtf F
+GLIBC_2.17 csqrtl F
+GLIBC_2.17 ctan F
+GLIBC_2.17 ctanf F
+GLIBC_2.17 ctanh F
+GLIBC_2.17 ctanhf F
+GLIBC_2.17 ctanhl F
+GLIBC_2.17 ctanl F
+GLIBC_2.17 drem F
+GLIBC_2.17 dremf F
+GLIBC_2.17 dreml F
+GLIBC_2.17 erf F
+GLIBC_2.17 erfc F
+GLIBC_2.17 erfcf F
+GLIBC_2.17 erfcl F
+GLIBC_2.17 erff F
+GLIBC_2.17 erfl F
+GLIBC_2.17 exp F
+GLIBC_2.17 exp10 F
+GLIBC_2.17 exp10f F
+GLIBC_2.17 exp10l F
+GLIBC_2.17 exp2 F
+GLIBC_2.17 exp2f F
+GLIBC_2.17 exp2l F
+GLIBC_2.17 expf F
+GLIBC_2.17 expl F
+GLIBC_2.17 expm1 F
+GLIBC_2.17 expm1f F
+GLIBC_2.17 expm1l F
+GLIBC_2.17 fabs F
+GLIBC_2.17 fabsf F
+GLIBC_2.17 fabsl F
+GLIBC_2.17 fdim F
+GLIBC_2.17 fdimf F
+GLIBC_2.17 fdiml F
+GLIBC_2.17 feclearexcept F
+GLIBC_2.17 fedisableexcept F
+GLIBC_2.17 feenableexcept F
+GLIBC_2.17 fegetenv F
+GLIBC_2.17 fegetexcept F
+GLIBC_2.17 fegetexceptflag F
+GLIBC_2.17 fegetround F
+GLIBC_2.17 feholdexcept F
+GLIBC_2.17 feraiseexcept F
+GLIBC_2.17 fesetenv F
+GLIBC_2.17 fesetexceptflag F
+GLIBC_2.17 fesetround F
+GLIBC_2.17 fetestexcept F
+GLIBC_2.17 feupdateenv F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 floor F
+GLIBC_2.17 floorf F
+GLIBC_2.17 floorl F
+GLIBC_2.17 fma F
+GLIBC_2.17 fmaf F
+GLIBC_2.17 fmal F
+GLIBC_2.17 fmax F
+GLIBC_2.17 fmaxf F
+GLIBC_2.17 fmaxl F
+GLIBC_2.17 fmin F
+GLIBC_2.17 fminf F
+GLIBC_2.17 fminl F
+GLIBC_2.17 fmod F
+GLIBC_2.17 fmodf F
+GLIBC_2.17 fmodl F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 gamma F
+GLIBC_2.17 gammaf F
+GLIBC_2.17 gammal F
+GLIBC_2.17 hypot F
+GLIBC_2.17 hypotf F
+GLIBC_2.17 hypotl F
+GLIBC_2.17 ilogb F
+GLIBC_2.17 ilogbf F
+GLIBC_2.17 ilogbl F
+GLIBC_2.17 j0 F
+GLIBC_2.17 j0f F
+GLIBC_2.17 j0l F
+GLIBC_2.17 j1 F
+GLIBC_2.17 j1f F
+GLIBC_2.17 j1l F
+GLIBC_2.17 jn F
+GLIBC_2.17 jnf F
+GLIBC_2.17 jnl F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 lgamma F
+GLIBC_2.17 lgamma_r F
+GLIBC_2.17 lgammaf F
+GLIBC_2.17 lgammaf_r F
+GLIBC_2.17 lgammal F
+GLIBC_2.17 lgammal_r F
+GLIBC_2.17 llrint F
+GLIBC_2.17 llrintf F
+GLIBC_2.17 llrintl F
+GLIBC_2.17 llround F
+GLIBC_2.17 llroundf F
+GLIBC_2.17 llroundl F
+GLIBC_2.17 log F
+GLIBC_2.17 log10 F
+GLIBC_2.17 log10f F
+GLIBC_2.17 log10l F
+GLIBC_2.17 log1p F
+GLIBC_2.17 log1pf F
+GLIBC_2.17 log1pl F
+GLIBC_2.17 log2 F
+GLIBC_2.17 log2f F
+GLIBC_2.17 log2l F
+GLIBC_2.17 logb F
+GLIBC_2.17 logbf F
+GLIBC_2.17 logbl F
+GLIBC_2.17 logf F
+GLIBC_2.17 logl F
+GLIBC_2.17 lrint F
+GLIBC_2.17 lrintf F
+GLIBC_2.17 lrintl F
+GLIBC_2.17 lround F
+GLIBC_2.17 lroundf F
+GLIBC_2.17 lroundl F
+GLIBC_2.17 matherr F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 nan F
+GLIBC_2.17 nanf F
+GLIBC_2.17 nanl F
+GLIBC_2.17 nearbyint F
+GLIBC_2.17 nearbyintf F
+GLIBC_2.17 nearbyintl F
+GLIBC_2.17 nextafter F
+GLIBC_2.17 nextafterf F
+GLIBC_2.17 nextafterl F
+GLIBC_2.17 nexttoward F
+GLIBC_2.17 nexttowardf F
+GLIBC_2.17 nexttowardl F
+GLIBC_2.17 pow F
+GLIBC_2.17 pow10 F
+GLIBC_2.17 pow10f F
+GLIBC_2.17 pow10l F
+GLIBC_2.17 powf F
+GLIBC_2.17 powl F
+GLIBC_2.17 remainder F
+GLIBC_2.17 remainderf F
+GLIBC_2.17 remainderl F
+GLIBC_2.17 remquo F
+GLIBC_2.17 remquof F
+GLIBC_2.17 remquol F
+GLIBC_2.17 rint F
+GLIBC_2.17 rintf F
+GLIBC_2.17 rintl F
+GLIBC_2.17 round F
+GLIBC_2.17 roundf F
+GLIBC_2.17 roundl F
+GLIBC_2.17 scalb F
+GLIBC_2.17 scalbf F
+GLIBC_2.17 scalbl F
+GLIBC_2.17 scalbln F
+GLIBC_2.17 scalblnf F
+GLIBC_2.17 scalblnl F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 signgam D 0x4
+GLIBC_2.17 significand F
+GLIBC_2.17 significandf F
+GLIBC_2.17 significandl F
+GLIBC_2.17 sin F
+GLIBC_2.17 sincos F
+GLIBC_2.17 sincosf F
+GLIBC_2.17 sincosl F
+GLIBC_2.17 sinf F
+GLIBC_2.17 sinh F
+GLIBC_2.17 sinhf F
+GLIBC_2.17 sinhl F
+GLIBC_2.17 sinl F
+GLIBC_2.17 sqrt F
+GLIBC_2.17 sqrtf F
+GLIBC_2.17 sqrtl F
+GLIBC_2.17 tan F
+GLIBC_2.17 tanf F
+GLIBC_2.17 tanh F
+GLIBC_2.17 tanhf F
+GLIBC_2.17 tanhl F
+GLIBC_2.17 tanl F
+GLIBC_2.17 tgamma F
+GLIBC_2.17 tgammaf F
+GLIBC_2.17 tgammal F
+GLIBC_2.17 trunc F
+GLIBC_2.17 truncf F
+GLIBC_2.17 truncl F
+GLIBC_2.17 y0 F
+GLIBC_2.17 y0f F
+GLIBC_2.17 y0l F
+GLIBC_2.17 y1 F
+GLIBC_2.17 y1f F
+GLIBC_2.17 y1l F
+GLIBC_2.17 yn F
+GLIBC_2.17 ynf F
+GLIBC_2.17 ynl F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist
new file mode 100644
index 0000000000..63d47aef79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __free_fdresult F
+GLIBC_2.17 __nis_default_access F
+GLIBC_2.17 __nis_default_group F
+GLIBC_2.17 __nis_default_owner F
+GLIBC_2.17 __nis_default_ttl F
+GLIBC_2.17 __nis_finddirectory F
+GLIBC_2.17 __nis_hash F
+GLIBC_2.17 __nisbind_connect F
+GLIBC_2.17 __nisbind_create F
+GLIBC_2.17 __nisbind_destroy F
+GLIBC_2.17 __nisbind_next F
+GLIBC_2.17 __yp_check F
+GLIBC_2.17 nis_add F
+GLIBC_2.17 nis_add_entry F
+GLIBC_2.17 nis_addmember F
+GLIBC_2.17 nis_checkpoint F
+GLIBC_2.17 nis_clone_directory F
+GLIBC_2.17 nis_clone_object F
+GLIBC_2.17 nis_clone_result F
+GLIBC_2.17 nis_creategroup F
+GLIBC_2.17 nis_destroy_object F
+GLIBC_2.17 nis_destroygroup F
+GLIBC_2.17 nis_dir_cmp F
+GLIBC_2.17 nis_domain_of F
+GLIBC_2.17 nis_domain_of_r F
+GLIBC_2.17 nis_first_entry F
+GLIBC_2.17 nis_free_directory F
+GLIBC_2.17 nis_free_object F
+GLIBC_2.17 nis_free_request F
+GLIBC_2.17 nis_freenames F
+GLIBC_2.17 nis_freeresult F
+GLIBC_2.17 nis_freeservlist F
+GLIBC_2.17 nis_freetags F
+GLIBC_2.17 nis_getnames F
+GLIBC_2.17 nis_getservlist F
+GLIBC_2.17 nis_ismember F
+GLIBC_2.17 nis_leaf_of F
+GLIBC_2.17 nis_leaf_of_r F
+GLIBC_2.17 nis_lerror F
+GLIBC_2.17 nis_list F
+GLIBC_2.17 nis_local_directory F
+GLIBC_2.17 nis_local_group F
+GLIBC_2.17 nis_local_host F
+GLIBC_2.17 nis_local_principal F
+GLIBC_2.17 nis_lookup F
+GLIBC_2.17 nis_mkdir F
+GLIBC_2.17 nis_modify F
+GLIBC_2.17 nis_modify_entry F
+GLIBC_2.17 nis_name_of F
+GLIBC_2.17 nis_name_of_r F
+GLIBC_2.17 nis_next_entry F
+GLIBC_2.17 nis_perror F
+GLIBC_2.17 nis_ping F
+GLIBC_2.17 nis_print_directory F
+GLIBC_2.17 nis_print_entry F
+GLIBC_2.17 nis_print_group F
+GLIBC_2.17 nis_print_group_entry F
+GLIBC_2.17 nis_print_link F
+GLIBC_2.17 nis_print_object F
+GLIBC_2.17 nis_print_result F
+GLIBC_2.17 nis_print_rights F
+GLIBC_2.17 nis_print_table F
+GLIBC_2.17 nis_read_obj F
+GLIBC_2.17 nis_remove F
+GLIBC_2.17 nis_remove_entry F
+GLIBC_2.17 nis_removemember F
+GLIBC_2.17 nis_rmdir F
+GLIBC_2.17 nis_servstate F
+GLIBC_2.17 nis_sperrno F
+GLIBC_2.17 nis_sperror F
+GLIBC_2.17 nis_sperror_r F
+GLIBC_2.17 nis_stats F
+GLIBC_2.17 nis_verifygroup F
+GLIBC_2.17 nis_write_obj F
+GLIBC_2.17 readColdStartFile F
+GLIBC_2.17 writeColdStartFile F
+GLIBC_2.17 xdr_cback_data F
+GLIBC_2.17 xdr_domainname F
+GLIBC_2.17 xdr_keydat F
+GLIBC_2.17 xdr_mapname F
+GLIBC_2.17 xdr_obj_p F
+GLIBC_2.17 xdr_peername F
+GLIBC_2.17 xdr_valdat F
+GLIBC_2.17 xdr_yp_buf F
+GLIBC_2.17 xdr_ypall F
+GLIBC_2.17 xdr_ypbind_binding F
+GLIBC_2.17 xdr_ypbind_resp F
+GLIBC_2.17 xdr_ypbind_resptype F
+GLIBC_2.17 xdr_ypbind_setdom F
+GLIBC_2.17 xdr_ypdelete_args F
+GLIBC_2.17 xdr_ypmap_parms F
+GLIBC_2.17 xdr_ypmaplist F
+GLIBC_2.17 xdr_yppush_status F
+GLIBC_2.17 xdr_yppushresp_xfr F
+GLIBC_2.17 xdr_ypreq_key F
+GLIBC_2.17 xdr_ypreq_nokey F
+GLIBC_2.17 xdr_ypreq_xfr F
+GLIBC_2.17 xdr_ypresp_all F
+GLIBC_2.17 xdr_ypresp_key_val F
+GLIBC_2.17 xdr_ypresp_maplist F
+GLIBC_2.17 xdr_ypresp_master F
+GLIBC_2.17 xdr_ypresp_order F
+GLIBC_2.17 xdr_ypresp_val F
+GLIBC_2.17 xdr_ypresp_xfr F
+GLIBC_2.17 xdr_ypstat F
+GLIBC_2.17 xdr_ypupdate_args F
+GLIBC_2.17 xdr_ypxfrstat F
+GLIBC_2.17 yp_all F
+GLIBC_2.17 yp_bind F
+GLIBC_2.17 yp_first F
+GLIBC_2.17 yp_get_default_domain F
+GLIBC_2.17 yp_maplist F
+GLIBC_2.17 yp_master F
+GLIBC_2.17 yp_match F
+GLIBC_2.17 yp_next F
+GLIBC_2.17 yp_order F
+GLIBC_2.17 yp_unbind F
+GLIBC_2.17 yp_update F
+GLIBC_2.17 ypbinderr_string F
+GLIBC_2.17 yperr_string F
+GLIBC_2.17 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
new file mode 100644
index 0000000000..0cf30ee02f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 __close F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pthread_cleanup_routine F
+GLIBC_2.17 __pthread_getspecific F
+GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_trylock F
+GLIBC_2.17 __pthread_mutex_unlock F
+GLIBC_2.17 __pthread_mutexattr_destroy F
+GLIBC_2.17 __pthread_mutexattr_init F
+GLIBC_2.17 __pthread_mutexattr_settype F
+GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_register_cancel F
+GLIBC_2.17 __pthread_register_cancel_defer F
+GLIBC_2.17 __pthread_rwlock_destroy F
+GLIBC_2.17 __pthread_rwlock_init F
+GLIBC_2.17 __pthread_rwlock_rdlock F
+GLIBC_2.17 __pthread_rwlock_tryrdlock F
+GLIBC_2.17 __pthread_rwlock_trywrlock F
+GLIBC_2.17 __pthread_rwlock_unlock F
+GLIBC_2.17 __pthread_rwlock_wrlock F
+GLIBC_2.17 __pthread_setspecific F
+GLIBC_2.17 __pthread_unregister_cancel F
+GLIBC_2.17 __pthread_unregister_cancel_restore F
+GLIBC_2.17 __pthread_unwind_next F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __read F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __send F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __write F
+GLIBC_2.17 _pthread_cleanup_pop F
+GLIBC_2.17 _pthread_cleanup_pop_restore F
+GLIBC_2.17 _pthread_cleanup_push F
+GLIBC_2.17 _pthread_cleanup_push_defer F
+GLIBC_2.17 accept F
+GLIBC_2.17 close F
+GLIBC_2.17 connect F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fork F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 msync F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 pause F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getaffinity_np F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getguardsize F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_getstack F
+GLIBC_2.17 pthread_attr_getstackaddr F
+GLIBC_2.17 pthread_attr_getstacksize F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setaffinity_np F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setguardsize F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_attr_setstack F
+GLIBC_2.17 pthread_attr_setstackaddr F
+GLIBC_2.17 pthread_attr_setstacksize F
+GLIBC_2.17 pthread_barrier_destroy F
+GLIBC_2.17 pthread_barrier_init F
+GLIBC_2.17 pthread_barrier_wait F
+GLIBC_2.17 pthread_barrierattr_destroy F
+GLIBC_2.17 pthread_barrierattr_getpshared F
+GLIBC_2.17 pthread_barrierattr_init F
+GLIBC_2.17 pthread_barrierattr_setpshared F
+GLIBC_2.17 pthread_cancel F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_getclock F
+GLIBC_2.17 pthread_condattr_getpshared F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_condattr_setclock F
+GLIBC_2.17 pthread_condattr_setpshared F
+GLIBC_2.17 pthread_create F
+GLIBC_2.17 pthread_detach F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getaffinity_np F
+GLIBC_2.17 pthread_getattr_np F
+GLIBC_2.17 pthread_getconcurrency F
+GLIBC_2.17 pthread_getcpuclockid F
+GLIBC_2.17 pthread_getname_np F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_getspecific F
+GLIBC_2.17 pthread_join F
+GLIBC_2.17 pthread_key_create F
+GLIBC_2.17 pthread_key_delete F
+GLIBC_2.17 pthread_kill F
+GLIBC_2.17 pthread_kill_other_threads_np F
+GLIBC_2.17 pthread_mutex_consistent F
+GLIBC_2.17 pthread_mutex_consistent_np F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_getprioceiling F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_setprioceiling F
+GLIBC_2.17 pthread_mutex_timedlock F
+GLIBC_2.17 pthread_mutex_trylock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_mutexattr_destroy F
+GLIBC_2.17 pthread_mutexattr_getkind_np F
+GLIBC_2.17 pthread_mutexattr_getprioceiling F
+GLIBC_2.17 pthread_mutexattr_getprotocol F
+GLIBC_2.17 pthread_mutexattr_getpshared F
+GLIBC_2.17 pthread_mutexattr_getrobust F
+GLIBC_2.17 pthread_mutexattr_getrobust_np F
+GLIBC_2.17 pthread_mutexattr_gettype F
+GLIBC_2.17 pthread_mutexattr_init F
+GLIBC_2.17 pthread_mutexattr_setkind_np F
+GLIBC_2.17 pthread_mutexattr_setprioceiling F
+GLIBC_2.17 pthread_mutexattr_setprotocol F
+GLIBC_2.17 pthread_mutexattr_setpshared F
+GLIBC_2.17 pthread_mutexattr_setrobust F
+GLIBC_2.17 pthread_mutexattr_setrobust_np F
+GLIBC_2.17 pthread_mutexattr_settype F
+GLIBC_2.17 pthread_once F
+GLIBC_2.17 pthread_rwlock_destroy F
+GLIBC_2.17 pthread_rwlock_init F
+GLIBC_2.17 pthread_rwlock_rdlock F
+GLIBC_2.17 pthread_rwlock_timedrdlock F
+GLIBC_2.17 pthread_rwlock_timedwrlock F
+GLIBC_2.17 pthread_rwlock_tryrdlock F
+GLIBC_2.17 pthread_rwlock_trywrlock F
+GLIBC_2.17 pthread_rwlock_unlock F
+GLIBC_2.17 pthread_rwlock_wrlock F
+GLIBC_2.17 pthread_rwlockattr_destroy F
+GLIBC_2.17 pthread_rwlockattr_getkind_np F
+GLIBC_2.17 pthread_rwlockattr_getpshared F
+GLIBC_2.17 pthread_rwlockattr_init F
+GLIBC_2.17 pthread_rwlockattr_setkind_np F
+GLIBC_2.17 pthread_rwlockattr_setpshared F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setaffinity_np F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setconcurrency F
+GLIBC_2.17 pthread_setname_np F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 pthread_setschedprio F
+GLIBC_2.17 pthread_setspecific F
+GLIBC_2.17 pthread_sigmask F
+GLIBC_2.17 pthread_sigqueue F
+GLIBC_2.17 pthread_spin_destroy F
+GLIBC_2.17 pthread_spin_init F
+GLIBC_2.17 pthread_spin_lock F
+GLIBC_2.17 pthread_spin_trylock F
+GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
+GLIBC_2.17 pthread_timedjoin_np F
+GLIBC_2.17 pthread_tryjoin_np F
+GLIBC_2.17 pthread_yield F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 raise F
+GLIBC_2.17 read F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_destroy F
+GLIBC_2.17 sem_getvalue F
+GLIBC_2.17 sem_init F
+GLIBC_2.17 sem_open F
+GLIBC_2.17 sem_post F
+GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_trywait F
+GLIBC_2.17 sem_unlink F
+GLIBC_2.17 sem_wait F
+GLIBC_2.17 send F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 system F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 vfork F
+GLIBC_2.17 wait F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
new file mode 100644
index 0000000000..cf278eedb3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __b64_ntop F
+GLIBC_2.17 __b64_pton F
+GLIBC_2.17 __dn_comp F
+GLIBC_2.17 __dn_count_labels F
+GLIBC_2.17 __dn_expand F
+GLIBC_2.17 __dn_skipname F
+GLIBC_2.17 __fp_nquery F
+GLIBC_2.17 __fp_query F
+GLIBC_2.17 __fp_resstat F
+GLIBC_2.17 __hostalias F
+GLIBC_2.17 __loc_aton F
+GLIBC_2.17 __loc_ntoa F
+GLIBC_2.17 __p_cdname F
+GLIBC_2.17 __p_cdnname F
+GLIBC_2.17 __p_class F
+GLIBC_2.17 __p_class_syms D 0xa8
+GLIBC_2.17 __p_fqname F
+GLIBC_2.17 __p_fqnname F
+GLIBC_2.17 __p_option F
+GLIBC_2.17 __p_query F
+GLIBC_2.17 __p_rcode F
+GLIBC_2.17 __p_secstodate F
+GLIBC_2.17 __p_time F
+GLIBC_2.17 __p_type F
+GLIBC_2.17 __p_type_syms D 0x450
+GLIBC_2.17 __putlong F
+GLIBC_2.17 __putshort F
+GLIBC_2.17 __res_close F
+GLIBC_2.17 __res_dnok F
+GLIBC_2.17 __res_hnok F
+GLIBC_2.17 __res_hostalias F
+GLIBC_2.17 __res_isourserver F
+GLIBC_2.17 __res_mailok F
+GLIBC_2.17 __res_mkquery F
+GLIBC_2.17 __res_nameinquery F
+GLIBC_2.17 __res_nmkquery F
+GLIBC_2.17 __res_nquery F
+GLIBC_2.17 __res_nquerydomain F
+GLIBC_2.17 __res_nsearch F
+GLIBC_2.17 __res_nsend F
+GLIBC_2.17 __res_ownok F
+GLIBC_2.17 __res_queriesmatch F
+GLIBC_2.17 __res_query F
+GLIBC_2.17 __res_querydomain F
+GLIBC_2.17 __res_search F
+GLIBC_2.17 __res_send F
+GLIBC_2.17 __sym_ntop F
+GLIBC_2.17 __sym_ntos F
+GLIBC_2.17 __sym_ston F
+GLIBC_2.17 _gethtbyaddr F
+GLIBC_2.17 _gethtbyname F
+GLIBC_2.17 _gethtbyname2 F
+GLIBC_2.17 _gethtent F
+GLIBC_2.17 _getlong F
+GLIBC_2.17 _getshort F
+GLIBC_2.17 _res_opcodes D 0x80
+GLIBC_2.17 _sethtent F
+GLIBC_2.17 inet_net_ntop F
+GLIBC_2.17 inet_net_pton F
+GLIBC_2.17 inet_neta F
+GLIBC_2.17 ns_datetosecs F
+GLIBC_2.17 ns_format_ttl F
+GLIBC_2.17 ns_get16 F
+GLIBC_2.17 ns_get32 F
+GLIBC_2.17 ns_initparse F
+GLIBC_2.17 ns_makecanon F
+GLIBC_2.17 ns_msg_getflag F
+GLIBC_2.17 ns_name_compress F
+GLIBC_2.17 ns_name_ntol F
+GLIBC_2.17 ns_name_ntop F
+GLIBC_2.17 ns_name_pack F
+GLIBC_2.17 ns_name_pton F
+GLIBC_2.17 ns_name_rollback F
+GLIBC_2.17 ns_name_skip F
+GLIBC_2.17 ns_name_uncompress F
+GLIBC_2.17 ns_name_unpack F
+GLIBC_2.17 ns_parse_ttl F
+GLIBC_2.17 ns_parserr F
+GLIBC_2.17 ns_put16 F
+GLIBC_2.17 ns_put32 F
+GLIBC_2.17 ns_samedomain F
+GLIBC_2.17 ns_samename F
+GLIBC_2.17 ns_skiprr F
+GLIBC_2.17 ns_sprintrr F
+GLIBC_2.17 ns_sprintrrf F
+GLIBC_2.17 ns_subdomain F
+GLIBC_2.17 res_gethostbyaddr F
+GLIBC_2.17 res_gethostbyname F
+GLIBC_2.17 res_gethostbyname2 F
+GLIBC_2.17 res_send_setqhook F
+GLIBC_2.17 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist
new file mode 100644
index 0000000000..523d22249a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -0,0 +1,36 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __mq_open_2 F
+GLIBC_2.17 aio_cancel F
+GLIBC_2.17 aio_cancel64 F
+GLIBC_2.17 aio_error F
+GLIBC_2.17 aio_error64 F
+GLIBC_2.17 aio_fsync F
+GLIBC_2.17 aio_fsync64 F
+GLIBC_2.17 aio_init F
+GLIBC_2.17 aio_read F
+GLIBC_2.17 aio_read64 F
+GLIBC_2.17 aio_return F
+GLIBC_2.17 aio_return64 F
+GLIBC_2.17 aio_suspend F
+GLIBC_2.17 aio_suspend64 F
+GLIBC_2.17 aio_write F
+GLIBC_2.17 aio_write64 F
+GLIBC_2.17 lio_listio F
+GLIBC_2.17 lio_listio64 F
+GLIBC_2.17 mq_close F
+GLIBC_2.17 mq_getattr F
+GLIBC_2.17 mq_notify F
+GLIBC_2.17 mq_open F
+GLIBC_2.17 mq_receive F
+GLIBC_2.17 mq_send F
+GLIBC_2.17 mq_setattr F
+GLIBC_2.17 mq_timedreceive F
+GLIBC_2.17 mq_timedsend F
+GLIBC_2.17 mq_unlink F
+GLIBC_2.17 shm_open F
+GLIBC_2.17 shm_unlink F
+GLIBC_2.17 timer_create F
+GLIBC_2.17 timer_delete F
+GLIBC_2.17 timer_getoverrun F
+GLIBC_2.17 timer_gettime F
+GLIBC_2.17 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist
new file mode 100644
index 0000000000..3e382bf79d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 td_init F
+GLIBC_2.17 td_log F
+GLIBC_2.17 td_symbol_list F
+GLIBC_2.17 td_ta_clear_event F
+GLIBC_2.17 td_ta_delete F
+GLIBC_2.17 td_ta_enable_stats F
+GLIBC_2.17 td_ta_event_addr F
+GLIBC_2.17 td_ta_event_getmsg F
+GLIBC_2.17 td_ta_get_nthreads F
+GLIBC_2.17 td_ta_get_ph F
+GLIBC_2.17 td_ta_get_stats F
+GLIBC_2.17 td_ta_map_id2thr F
+GLIBC_2.17 td_ta_map_lwp2thr F
+GLIBC_2.17 td_ta_new F
+GLIBC_2.17 td_ta_reset_stats F
+GLIBC_2.17 td_ta_set_event F
+GLIBC_2.17 td_ta_setconcurrency F
+GLIBC_2.17 td_ta_thr_iter F
+GLIBC_2.17 td_ta_tsd_iter F
+GLIBC_2.17 td_thr_clear_event F
+GLIBC_2.17 td_thr_dbresume F
+GLIBC_2.17 td_thr_dbsuspend F
+GLIBC_2.17 td_thr_event_enable F
+GLIBC_2.17 td_thr_event_getmsg F
+GLIBC_2.17 td_thr_get_info F
+GLIBC_2.17 td_thr_getfpregs F
+GLIBC_2.17 td_thr_getgregs F
+GLIBC_2.17 td_thr_getxregs F
+GLIBC_2.17 td_thr_getxregsize F
+GLIBC_2.17 td_thr_set_event F
+GLIBC_2.17 td_thr_setfpregs F
+GLIBC_2.17 td_thr_setgregs F
+GLIBC_2.17 td_thr_setprio F
+GLIBC_2.17 td_thr_setsigpending F
+GLIBC_2.17 td_thr_setxregs F
+GLIBC_2.17 td_thr_sigsetmask F
+GLIBC_2.17 td_thr_tls_get_addr F
+GLIBC_2.17 td_thr_tlsbase F
+GLIBC_2.17 td_thr_tsd F
+GLIBC_2.17 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
new file mode 100644
index 0000000000..9c075bc0bd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 forkpty F
+GLIBC_2.17 login F
+GLIBC_2.17 login_tty F
+GLIBC_2.17 logout F
+GLIBC_2.17 logwtmp F
+GLIBC_2.17 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data
new file mode 100644
index 0000000000..bb18ff9bb2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data
@@ -0,0 +1,20 @@
+# See scripts/check-localplt.awk for how this file is processed.
+# PLT use is required for the malloc family and for matherr because
+# users can define their own functions and have library internals call them.
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: matherr
+# The dynamic loader needs __tls_get_addr for TLS.
+ld.so: __tls_get_addr
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error
+ld.so: _dl_catch_error
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c
new file mode 100644
index 0000000000..f510f48e9f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c
@@ -0,0 +1,74 @@
+/* Create new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <stdarg.h>
+#include <stdint.h>
+#include <ucontext.h>
+
+
+/* makecontext sets up a stack and the registers for the
+   user context.  The stack looks like this:
+
+               +-----------------------+
+	       | padding as required   |
+               +-----------------------+
+    sp ->      | parameter 7-n         |
+               +-----------------------+
+
+   The registers are set up like this:
+     %x0 .. %x7: parameter 1 to 8
+     %x19   : uc_link
+     %sp    : stack pointer.
+*/
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __startcontext (void);
+  unsigned long int *sp;
+  va_list ap;
+  int i;
+
+  sp = (unsigned long int *)
+    ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+
+  /* Allocate stack arguments.  */
+  sp -= argc < 8 ? 0 : argc - 8;
+
+  /* Keep the stack aligned.  */
+  sp = (unsigned long int *) (((uintptr_t) sp) & -16L);
+
+  ucp->uc_mcontext.regs[19] = (uintptr_t) ucp->uc_link;
+  ucp->uc_mcontext.sp = (uintptr_t) sp;
+  ucp->uc_mcontext.pc = (uintptr_t) func;
+  ucp->uc_mcontext.regs[29] = (uintptr_t) 0;
+  ucp->uc_mcontext.regs[30] = (uintptr_t) &__startcontext;
+
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    if (i < 8)
+      ucp->uc_mcontext.regs[i] = va_arg (ap, unsigned long int);
+    else
+      sp[i - 8] = va_arg (ap, unsigned long int);
+
+  va_end (ap);
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h
new file mode 100644
index 0000000000..e7262cd1d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c
new file mode 100644
index 0000000000..abafb7ce73
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c
@@ -0,0 +1,54 @@
+/* vfork ABI-compatibility entry points for libpthread.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.  */
+
+#if HAVE_IFUNC
+# include <nptl/pt-vfork.c>
+#elif (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+       || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+/* Thankfully, on AArch64 we can rely on the compiler generating
+   a tail call here.  */
+
+extern void __libc_vfork (void);
+
+void
+vfork_compat (void)
+{
+  __libc_vfork ();
+}
+
+# if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+compat_symbol (libpthread, vfork_compat, vfork, GLIBC_2_0);
+# endif
+
+# if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (vfork_compat, vfork_compat2)
+compat_symbol (libpthread, vfork_compat2, __vfork, GLIBC_2_1_2);
+# endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c
new file mode 100644
index 0000000000..d932ff8021
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "../arm/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S
new file mode 100644
index 0000000000..3a82926ad3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S
@@ -0,0 +1,130 @@
+/* Set current context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/*  int __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+	.text
+
+ENTRY (__setcontext)
+	DELOUSE (0)
+	/* Save a copy of UCP.  */
+	mov	x9, x0
+
+	/* Set the signal mask with
+	   rt_sigprocmask (SIG_SETMASK, mask, NULL, _NSIG/8).  */
+	mov	x0, #SIG_SETMASK
+	add	x1, x9, #UCONTEXT_SIGMASK
+	mov	x2, #0
+	mov	x3, #_NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbz	x0, 1f
+	b	C_SYMBOL_NAME (__syscall_error)
+1:
+	/* Restore the general purpose registers.  */
+	mov	x0, x9
+	cfi_def_cfa (x0, 0)
+	cfi_offset (x18, oX0 + 18 * SZREG)
+	cfi_offset (x19, oX0 + 19 * SZREG)
+	cfi_offset (x20, oX0 + 20 * SZREG)
+	cfi_offset (x21, oX0 + 21 * SZREG)
+	cfi_offset (x22, oX0 + 22 * SZREG)
+	cfi_offset (x23, oX0 + 23 * SZREG)
+	cfi_offset (x24, oX0 + 24 * SZREG)
+	cfi_offset (x25, oX0 + 25 * SZREG)
+	cfi_offset (x26, oX0 + 26 * SZREG)
+	cfi_offset (x27, oX0 + 27 * SZREG)
+	cfi_offset (x28, oX0 + 28 * SZREG)
+	cfi_offset (x29, oX0 + 29 * SZREG)
+	cfi_offset (x30, oX0 + 30 * SZREG)
+
+	cfi_offset ( d8, oV0 + 8 * SZVREG)
+	cfi_offset ( d9, oV0 + 9 * SZVREG)
+	cfi_offset (d10, oV0 + 10 * SZVREG)
+	cfi_offset (d11, oV0 + 11 * SZVREG)
+	cfi_offset (d12, oV0 + 12 * SZVREG)
+	cfi_offset (d13, oV0 + 13 * SZVREG)
+	cfi_offset (d14, oV0 + 14 * SZVREG)
+	cfi_offset (d15, oV0 + 15 * SZVREG)
+	ldp	x18, x19, [x0, oX0 + 18 * SZREG]
+	ldp	x20, x21, [x0, oX0 + 20 * SZREG]
+	ldp	x22, x23, [x0, oX0 + 22 * SZREG]
+	ldp	x24, x25, [x0, oX0 + 24 * SZREG]
+	ldp	x26, x27, [x0, oX0 + 26 * SZREG]
+	ldp	x28, x29, [x0, oX0 + 28 * SZREG]
+	ldr     x30,      [x0, oX0 + 30 * SZREG]
+	ldr     x2, [x0, oSP]
+	mov	sp, x2
+
+	/* Check for FP SIMD context.  We don't support restoring
+	   contexts created by the kernel, so this context must have
+	   been created by getcontext.  Hence we can rely on the
+	   first extension block being the FP SIMD context.  */
+	add     x2, x0, #oEXTENSION
+
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	ldr	w1, [x2, #oHEAD + oMAGIC]
+	cmp	w1, w3
+	b.ne	2f
+
+	/* Restore the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	ldp	 q8,  q9, [x3], #2 * SZVREG
+	ldp	q10, q11, [x3], #2 * SZVREG
+	ldp	q12, q13, [x3], #2 * SZVREG
+	ldp	q14, q15, [x3], #2 * SZVREG
+
+	add	x3, x2, oFPSR
+
+	ldr	w4, [x3]
+	msr	fpsr, x4
+
+	ldr	w4, [x3, oFPCR - oFPSR]
+	msr	fpcr, x4
+
+2:
+	ldr     x16, [x0, oPC]
+	/* Restore arg registers.  */
+	ldp	x2, x3, [x0, oX0 + 2 * SZREG]
+	ldp	x4, x5, [x0, oX0 + 4 * SZREG]
+	ldp	x6, x7, [x0, oX0 + 6 * SZREG]
+	ldp	x0, x1, [x0, oX0 + 0 * SZREG]
+	/* Jump to the new pc value.  */
+	br	x16
+PSEUDO_END (__setcontext)
+weak_alias (__setcontext, setcontext)
+
+ENTRY (__startcontext)
+	mov	x0, x19
+	cbnz	x0, __setcontext
+1:	b       HIDDEN_JUMPTARGET (exit)
+END (__startcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions
new file mode 100644
index 0000000000..e1768a7361
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions
@@ -0,0 +1,7 @@
+DEFAULT			GLIBC_2.17
+
+%ifdef HAVE_AARCH64_BE
+ld=ld-linux-aarch64_be.so.1
+%else
+ld=ld-linux-aarch64.so.1
+%endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c
new file mode 100644
index 0000000000..7cbb056367
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c
@@ -0,0 +1,70 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#define SA_RESTORER	0x04000000
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+  struct kernel_sigaction kact;
+  struct kernel_sigaction koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+      if (kact.sa_flags & SA_RESTORER)
+	kact.sa_restorer = act->sa_restorer;
+#endif
+    }
+
+  result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+			   act ? &kact : NULL,
+			   oact ? &koact : NULL, _NSIG / 8);
+  if (result >= 0 || errno != ENOSYS)
+    {
+      if (oact && result >= 0)
+	{
+	  oact->sa_handler = koact.k_sa_handler;
+	  memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+	  oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+	  oact->sa_restorer = koact.sa_restorer;
+#endif
+	}
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
new file mode 100644
index 0000000000..b28ad5bdcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
@@ -0,0 +1,35 @@
+/* AArch64 definitions for signal handling calling conventions.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdint.h>
+#include <sys/ucontext.h>
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define GET_PC(ctx) ((void *) (uintptr_t) (ctx)->uc_mcontext.pc)
+
+/* There is no reliable way to get the sigcontext unless we use a
+   three-argument signal handler.  */
+#define __sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (__sigaction) (sig, act, oact); \
+})
+
+#define sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (sigaction) (sig, act, oact); \
+})
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
new file mode 100644
index 0000000000..429c179354
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
@@ -0,0 +1,101 @@
+/* Modify saved context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+
+	.text
+ENTRY(__swapcontext)
+	DELOUSE (0)
+	/* Set the value returned when swapcontext() returns in this context. */
+	str	xzr,      [x0, oX0 +  0 * SZREG]
+
+	stp	x18, x19, [x0, oX0 + 18 * SZREG]
+	stp	x20, x21, [x0, oX0 + 20 * SZREG]
+	stp	x22, x23, [x0, oX0 + 22 * SZREG]
+	stp	x24, x25, [x0, oX0 + 24 * SZREG]
+	stp	x26, x27, [x0, oX0 + 26 * SZREG]
+	stp	x28, x29, [x0, oX0 + 28 * SZREG]
+	str     x30,      [x0, oX0 + 30 * SZREG]
+	str     x30,      [x0, oPC]
+	mov	x2, sp
+	str     x2,       [x0, oSP]
+
+	/* Figure out where to place the first context extension
+	   block.  */
+	add     x2, x0, #oEXTENSION
+
+	/* Write the context extension fpsimd header.  */
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	str	w3, [x2, #oHEAD + oMAGIC]
+	mov	w3, #FPSIMD_CONTEXT_SIZE
+	str	w3, [x2, #oHEAD + oSIZE]
+
+	/* Fill in the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	stp	 q8,  q9, [x3], #2 * SZVREG
+	stp	q10, q11, [x3], #2 * SZVREG
+	stp	q12, q13, [x3], #2 * SZVREG
+	stp	q14, q15, [x3], #2 * SZVREG
+
+	add	x3, x2, #oFPSR
+
+	mrs	x4, fpsr
+	str	w4, [x3, #oFPSR - oFPSR]
+
+	mrs	x4, fpcr
+	str	w4, [x3, #oFPCR - oFPSR]
+
+	/* Write the termination context extension header.  */
+	add	x2, x2, #FPSIMD_CONTEXT_SIZE
+
+	str	xzr, [x2, #oHEAD + oMAGIC]
+	str	xzr, [x2, #oHEAD + oSIZE]
+
+	/* Preserve ucp.  */
+	mov	x21, x1
+
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask,
+			   _NSIG8) */
+	/* Grab the signal mask */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	add	x2, x0, #UCONTEXT_SIGMASK
+	mov	x0, SIG_BLOCK
+	mov	x1, 0
+	mov	x3, _NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbnz	x0, 1f
+
+	mov     x22, x30
+	mov	x0, x21
+	bl	JUMPTARGET (__setcontext)
+	mov     x30, x22
+	RET
+
+1:
+	b	C_SYMBOL_NAME(__syscall_error)
+PSEUDO_END (__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h
new file mode 100644
index 0000000000..1c7447440c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ELF_H
+#define _SYS_ELF_H	1
+
+#warning "This header is obsolete; use <sys/procfs.h> instead."
+
+#include <sys/procfs.h>
+
+#endif	/* sys/elf.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h
new file mode 100644
index 0000000000..7a7b1d0742
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h
@@ -0,0 +1,123 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   pt_regs' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_fpsimd_struct elf_fpregset_t;
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
new file mode 100644
index 0000000000..c8ca9e398e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
@@ -0,0 +1,207 @@
+/* `ptrace' debugger support interface.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process. */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  PTRACE_GET_THREAD_AREA = 22,
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Get all hardware breakpoint registers.  */
+  PTRACE_GETHBPREGS = 29,
+
+  /* Set all hardware breakpoint registers.  */
+  PTRACE_SETHBPREGS = 30,
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized trace.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
new file mode 100644
index 0000000000..16c7acf221
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
@@ -0,0 +1,59 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* System V/AArch64 ABI compliant context switching support.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+#ifdef __USE_MISC
+# include <sys/procfs.h>
+
+
+typedef elf_greg_t greg_t;
+
+/* Container for all general registers.  */
+typedef elf_gregset_t gregset_t;
+
+/* Structure to describe FPU registers.  */
+typedef elf_fpregset_t	fpregset_t;
+#endif
+
+/* Context to describe whole processor state.  This only describes
+   the core registers; coprocessor registers get saved elsewhere
+   (e.g. in uc_regspace, or somewhere unspecified on the stack
+   during non-RT signal handlers).  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    sigset_t uc_sigmask;
+    mcontext_t uc_mcontext;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h
new file mode 100644
index 0000000000..b003cdb2b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+struct user_regs_struct
+{
+  unsigned long long regs[31];
+  unsigned long long sp;
+  unsigned long long pc;
+  unsigned long long pstate;
+};
+
+struct user_fpsimd_struct
+{
+  __uint128_t  vregs[32];
+  unsigned int fpsr;
+  unsigned int fpcr;
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S
new file mode 100644
index 0000000000..d377db45ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S
@@ -0,0 +1,44 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* syscall (int nr, ...)
+
+   AArch64 system calls take between 0 and 7 arguments. On entry here nr
+   is in w0 and any other system call arguments are in register x1..x7.
+
+   For kernel entry we need to move the system call nr to x8 then
+   load the remaining arguments to register. */
+
+ENTRY (syscall)
+	uxtw	x8, w0
+	mov	x0, x1
+	mov	x1, x2
+	mov	x2, x3
+	mov	x3, x4
+	mov	x4, x5
+	mov	x5, x6
+	mov	x6, x7
+	svc	0x0
+	cmn	x0, #4095
+	b.cs	1f
+	RET
+1:
+	b	SYSCALL_ERROR
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
new file mode 100644
index 0000000000..4be2259878
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
@@ -0,0 +1,134 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+	.section ".text";						\
+ENTRY (__##syscall_name##_nocancel);					\
+.Lpseudo_nocancel:							\
+	DO_CALL (syscall_name, args);					\
+.Lpseudo_finish:							\
+	cmn	x0, 4095;						\
+	b.cs	.Lsyscall_error;					\
+	.subsection 2;							\
+	.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
+ENTRY (name);								\
+	SINGLE_THREAD_P(16);						\
+	cbz	w16, .Lpseudo_nocancel;					\
+	/* Setup common stack frame no matter the number of args.	\
+	   Also save the first arg, since it's basically free.  */	\
+	stp	x30, x0, [sp, -64]!;					\
+	cfi_adjust_cfa_offset (64);					\
+	cfi_rel_offset (x30, 0);					\
+	DOCARGS_##args;		/* save syscall args around CENABLE.  */ \
+	CENABLE;							\
+	mov	x16, x0;	/* save mask around syscall.  */	\
+	UNDOCARGS_##args;	/* restore syscall args.  */		\
+	DO_CALL (syscall_name, args);					\
+	str	x0, [sp, 8];	/* save result around CDISABLE.  */	\
+	mov	x0, x16;	/* restore mask for CDISABLE.  */	\
+	CDISABLE;							\
+	/* Break down the stack frame, restoring result at once.  */	\
+	ldp	x30, x0, [sp], 64;					\
+	cfi_adjust_cfa_offset (-64);					\
+	cfi_restore (x30);						\
+	b	.Lpseudo_finish;					\
+	cfi_endproc;							\
+	.size	name, .-name;						\
+	.previous
+
+# undef PSEUDO_END
+# define PSEUDO_END(name)						\
+	SYSCALL_ERROR_HANDLER;						\
+	cfi_endproc
+
+# define DOCARGS_0
+# define DOCARGS_1
+# define DOCARGS_2	str x1, [sp, 16]
+# define DOCARGS_3	stp x1, x2, [sp, 16]
+# define DOCARGS_4	DOCARGS_3; str x3, [sp, 32]
+# define DOCARGS_5	DOCARGS_3; stp x3, x4, [sp, 32]
+# define DOCARGS_6	DOCARGS_5; str x5, [sp, 48]
+
+# define UNDOCARGS_0
+# define UNDOCARGS_1	ldr x0, [sp, 8]
+# define UNDOCARGS_2	ldp x0, x1, [sp, 8]
+# define UNDOCARGS_3	UNDOCARGS_1; ldp x1, x2, [sp, 16]
+# define UNDOCARGS_4	UNDOCARGS_2; ldp x2, x3, [sp, 24]
+# define UNDOCARGS_5	UNDOCARGS_3; ldp x3, x4, [sp, 32]
+# define UNDOCARGS_6	UNDOCARGS_4; ldp x4, x5, [sp, 40]
+
+# if IS_IN (libpthread)
+#  define CENABLE	bl __pthread_enable_asynccancel
+#  define CDISABLE	bl __pthread_disable_asynccancel
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE	bl __libc_enable_asynccancel
+#  define CDISABLE	bl __libc_disable_asynccancel
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE	bl __librt_enable_asynccancel
+#  define CDISABLE	bl __librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(R)						\
+	adrp	x##R, __local_multiple_threads;				\
+	ldr	w##R, [x##R, :lo12:__local_multiple_threads]
+#  endif
+# else
+/*  There is no __local_multiple_threads for librt, so use the TCB.  */
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(R)						\
+	mrs     x##R, tpidr_el0;					\
+	sub	x##R, x##R, PTHREAD_SIZEOF;				\
+	ldr	w##R, [x##R, PTHREAD_MULTIPLE_THREADS_OFFSET]
+#  endif
+# endif
+
+#elif !defined __ASSEMBLER__
+
+/* For rtld, et cetera.  */
+# define SINGLE_THREAD_P 1
+# define NO_CANCELLATION 1
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c
new file mode 100644
index 0000000000..d9c995152f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+
+long __syscall_error (long err);
+hidden_proto (__syscall_error)
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  */
+long
+__syscall_error (long err)
+{
+  __set_errno (- err);
+  return -1;
+}
+hidden_def (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h
new file mode 100644
index 0000000000..4bb9112d62
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -0,0 +1,297 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_AARCH64_SYSDEP_H
+#define _LINUX_AARCH64_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/aarch64/sysdep.h>
+#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
+
+/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO.  */
+#include <dl-sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	(__NR_##syscall_name)
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in R0
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can safely
+   test with -4095.  */
+
+# undef	PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name);								      \
+    DO_CALL (syscall_name, args);					      \
+    cmn x0, #4095;							      \
+    b.cs .Lsyscall_error;
+
+# undef	PSEUDO_END
+# define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER							      \
+  END (name)
+
+# undef	PSEUDO_NOERRNO
+# define PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;								      \
+  ENTRY (name);								      \
+    DO_CALL (syscall_name, args);
+
+# undef	PSEUDO_END_NOERRNO
+# define PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
+# define ret_NOERRNO ret
+
+/* The function has to return the error code.  */
+# undef	PSEUDO_ERRVAL
+# define PSEUDO_ERRVAL(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    neg x0, x0
+
+# undef	PSEUDO_END_ERRVAL
+# define PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+# define ret_ERRVAL ret
+
+# if !IS_IN (libc)
+#  define SYSCALL_ERROR  .Lsyscall_error
+#  if RTLD_PRIVATE_ERRNO
+#   define SYSCALL_ERROR_HANDLER				\
+.Lsyscall_error:						\
+	adrp	x1, C_SYMBOL_NAME(rtld_errno);			\
+	neg     w0, w0;						\
+	str     w0, [x1, :lo12:C_SYMBOL_NAME(rtld_errno)];	\
+	mov	x0, -1;						\
+	RET;
+#  else
+
+#   define SYSCALL_ERROR_HANDLER				\
+.Lsyscall_error:						\
+	adrp	x1, :gottprel:errno;				\
+	neg	w2, w0;						\
+	ldr	PTR_REG(1), [x1, :gottprel_lo12:errno];		\
+	mrs	x3, tpidr_el0;					\
+	mov	x0, -1;						\
+	str	w2, [x1, x3];					\
+	RET;
+#  endif
+# else
+#  define SYSCALL_ERROR __syscall_error
+#  define SYSCALL_ERROR_HANDLER                                 \
+.Lsyscall_error:                                                \
+	b	__syscall_error;
+# endif
+
+/* Linux takes system call args in registers:
+	syscall number	x8
+	arg 1		x0
+	arg 2		x1
+	arg 3		x2
+	arg 4		x3
+	arg 5		x4
+	arg 6		x5
+	arg 7		x6
+
+   The compiler is going to form a call by coming here, through PSEUDO, with
+   arguments
+	syscall number	in the DO_CALL macro
+	arg 1		x0
+	arg 2		x1
+	arg 3		x2
+	arg 4		x3
+	arg 5		x4
+	arg 6		x5
+	arg 7		x6
+
+*/
+
+# undef	DO_CALL
+# define DO_CALL(syscall_name, args)		\
+    mov x8, SYS_ify (syscall_name);		\
+    svc 0
+
+#else /* not __ASSEMBLER__ */
+
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETRES_VSYSCALL	1
+# define HAVE_CLOCK_GETTIME_VSYSCALL	1
+# define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+/* Previously AArch64 used the generic version without the libc_hidden_def
+   which lead in a non existent __send symbol in libc.so.  */
+# undef HAVE_INTERNAL_SEND_SYMBOL
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)				\
+  ({ unsigned long _sys_result = INTERNAL_SYSCALL (name, , nr, args);	\
+     if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, ));		\
+	 _sys_result = (unsigned long) -1;				\
+       }								\
+     (long) _sys_result; })
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+# undef INTERNAL_SYSCALL_RAW
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...)		\
+  ({ long _sys_result;						\
+     {								\
+       LOAD_ARGS_##nr (args)					\
+       register long _x8 asm ("x8") = (name);			\
+       asm volatile ("svc	0	// syscall " # name     \
+		     : "=r" (_x0) : "r"(_x8) ASM_ARGS_##nr : "memory");	\
+       _sys_result = _x0;					\
+     }								\
+     _sys_result; })
+
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL(name, err, nr, args...)		\
+	INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+# undef INTERNAL_SYSCALL_AARCH64
+# define INTERNAL_SYSCALL_AARCH64(name, err, nr, args...)	\
+	INTERNAL_SYSCALL_RAW(__ARM_NR_##name, err, nr, args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned long) (val) >= (unsigned long) -4095)
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+# define LOAD_ARGS_0()				\
+  register long _x0 asm ("x0");
+# define LOAD_ARGS_1(x0)			\
+  long _x0tmp = (long) (x0);			\
+  LOAD_ARGS_0 ()				\
+  _x0 = _x0tmp;
+# define LOAD_ARGS_2(x0, x1)			\
+  long _x1tmp = (long) (x1);			\
+  LOAD_ARGS_1 (x0)				\
+  register long _x1 asm ("x1") = _x1tmp;
+# define LOAD_ARGS_3(x0, x1, x2)		\
+  long _x2tmp = (long) (x2);			\
+  LOAD_ARGS_2 (x0, x1)				\
+  register long _x2 asm ("x2") = _x2tmp;
+# define LOAD_ARGS_4(x0, x1, x2, x3)		\
+  long _x3tmp = (long) (x3);			\
+  LOAD_ARGS_3 (x0, x1, x2)			\
+  register long _x3 asm ("x3") = _x3tmp;
+# define LOAD_ARGS_5(x0, x1, x2, x3, x4)	\
+  long _x4tmp = (long) (x4);			\
+  LOAD_ARGS_4 (x0, x1, x2, x3)			\
+  register long _x4 asm ("x4") = _x4tmp;
+# define LOAD_ARGS_6(x0, x1, x2, x3, x4, x5)	\
+  long _x5tmp = (long) (x5);			\
+  LOAD_ARGS_5 (x0, x1, x2, x3, x4)		\
+  register long _x5 asm ("x5") = _x5tmp;
+# define LOAD_ARGS_7(x0, x1, x2, x3, x4, x5, x6)\
+  long _x6tmp = (long) (x6);			\
+  LOAD_ARGS_6 (x0, x1, x2, x3, x4, x5)		\
+  register long _x6 asm ("x6") = _x6tmp;
+
+# define ASM_ARGS_0
+# define ASM_ARGS_1	, "r" (_x0)
+# define ASM_ARGS_2	ASM_ARGS_1, "r" (_x1)
+# define ASM_ARGS_3	ASM_ARGS_2, "r" (_x2)
+# define ASM_ARGS_4	ASM_ARGS_3, "r" (_x3)
+# define ASM_ARGS_5	ASM_ARGS_4, "r" (_x4)
+# define ASM_ARGS_6	ASM_ARGS_5, "r" (_x5)
+# define ASM_ARGS_7	ASM_ARGS_6, "r" (_x6)
+
+# undef INTERNAL_SYSCALL_NCS
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)	\
+	INTERNAL_SYSCALL_RAW (number, err, nr, args)
+
+#endif	/* __ASSEMBLER__ */
+
+/* Pointer mangling is supported for AArch64.  */
+#if (IS_IN (rtld) || \
+     (!defined SHARED && (IS_IN (libc) \
+			  || IS_IN (libpthread))))
+# ifdef __ASSEMBLER__
+/* Note, dst, src, guard, and tmp are all register numbers rather than
+   register names so they will work with both ILP32 and LP64. */
+#  define PTR_MANGLE(dst, src, guard, tmp)                                \
+  LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
+  PTR_MANGLE2 (dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)\
+  eor x##dst, x##src, x##guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)\
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)\
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
+#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
+# endif
+#else
+# ifdef __ASSEMBLER__
+/* Note, dst, src, guard, and tmp are all register numbers rather than
+   register names so they will work with both ILP32 and LP64. */
+#  define PTR_MANGLE(dst, src, guard, tmp)                             \
+  LDST_GLOBAL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard));   \
+  PTR_MANGLE2 (dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)\
+  eor x##dst, x##src, x##guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)\
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)\
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard attribute_relro;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
+#  define PTR_DEMANGLE(var) PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* linux/aarch64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
new file mode 100644
index 0000000000..c4739c105d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SP_ALIGN_SIZE       15
+
+#define SP_ALIGN_MASK	   ~15
+
+/* Size of an X regiser in bytes. */
+#define SZREG                8
+
+/* Size of a V register in bytes. */
+#define SZVREG              16
+
+/* Number of integer parameter passing registers. */
+#define NUMXREGARGS          8
+
+/* Number of FP parameter passing registers. */
+#define NUMDREGARGS          8
+
+/* Size of named integer argument in bytes when passed on the
+   stack.  */
+#define SIZEOF_NAMED_INT     4
+
+/* Size of an anonymous integer argument in bytes when passed on the
+   stack.  */
+#define SIZEOF_ANONYMOUS_INT 8
+
+#define oX21 (oX0 + 21*8)
+#define oFP  (oX0 + 29*8)
+#define oLR  (oX0 + 30*8)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
new file mode 100644
index 0000000000..ab3930c173
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
@@ -0,0 +1,55 @@
+#include <inttypes.h>
+#include <signal.h>
+#include <stddef.h>
+#include <sys/ucontext.h>
+#include <asm/sigcontext.h>
+
+#include "kernel_rt_sigframe.h"
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8				(_NSIG / 8)
+
+-- Offsets of the fields in the kernel rt_sigframe_t structure.
+#define rt_sigframe(member)	offsetof (struct kernel_rt_sigframe, member)
+
+RT_SIGFRAME_UCONTEXT		rt_sigframe (uc)
+
+RT_SIGFRAME_SIZE		sizeof (struct kernel_rt_sigframe)
+FPSIMD_CONTEXT_SIZE             sizeof (struct fpsimd_context)
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define stack(member)		ucontext (uc_stack.member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+UCONTEXT_FLAGS			ucontext (uc_flags)
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+UCONTEXT_SIZE			sizeof (ucontext_t)
+
+STACK_SP			stack (ss_sp)
+STACK_SIZE			stack (ss_size)
+STACK_FLAGS			stack (ss_flags)
+
+oX0				mcontext (regs)
+oSP				mcontext (sp)
+oPC				mcontext (pc)
+oPSTATE				mcontext (pstate)
+oEXTENSION                      mcontext (__reserved)
+
+#define fpsimd_context(member)  offsetof (struct fpsimd_context, member)
+
+oHEAD                           fpsimd_context (head)
+oV0                             fpsimd_context (vregs)
+oFPSR                           fpsimd_context (fpsr)
+oFPCR                           fpsimd_context (fpcr)
+
+#define aarch64_ctx(member)  offsetof (struct _aarch64_ctx, member)
+
+oMAGIC                          aarch64_ctx (magic)
+oSIZE                           aarch64_ctx (size)
+
+FPSIMD_MAGIC
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S
new file mode 100644
index 0000000000..890bb3d14d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S
@@ -0,0 +1,42 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	mov	x0, #0x4111	/* CLONE_VM | CLONE_VFORK | SIGCHLD */
+	mov	x1, sp
+	DO_CALL (clone, 2)
+
+	cmn	x0, #4095
+	b.cs    .Lsyscall_error
+	RET
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/accept.c b/REORG.TODO/sysdeps/unix/sysv/linux/accept.c
new file mode 100644
index 0000000000..2fb59b7537
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/accept.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+int
+__libc_accept (int fd, __SOCKADDR_ARG addr, socklen_t *len)
+{
+#ifdef __ASSUME_ACCEPT_SYSCALL
+  return SYSCALL_CANCEL (accept, fd, addr.__sockaddr__, len);
+#elif defined __ASSUME_ACCEPT4_SYSCALL
+  return SYSCALL_CANCEL (accept4, fd, addr.__sockaddr__, len, 0);
+#else
+  return SOCKETCALL_CANCEL (accept, fd, addr.__sockaddr__, len);
+#endif
+}
+weak_alias (__libc_accept, accept)
+libc_hidden_def (accept)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/accept4.c b/REORG.TODO/sysdeps/unix/sysv/linux/accept4.c
new file mode 100644
index 0000000000..1590c021ad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/accept4.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <sys/socket.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+#include <socketcall.h>
+#include <kernel-features.h>
+
+int
+accept4 (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len, int flags)
+{
+#ifdef __ASSUME_ACCEPT4_SYSCALL
+  return SYSCALL_CANCEL (accept4, fd, addr.__sockaddr__, addr_len, flags);
+#else
+  return SOCKETCALL_CANCEL (accept4, fd, addr.__sockaddr__, addr_len, flags);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/access.c b/REORG.TODO/sysdeps/unix/sysv/linux/access.c
new file mode 100644
index 0000000000..67e69bd163
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/access.c
@@ -0,0 +1,47 @@
+/* Linux implementation for access function.
+   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 <fcntl.h>
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+int
+__access_noerrno (const char *file, int type)
+{
+  int res;
+  INTERNAL_SYSCALL_DECL (err);
+#ifdef __NR_access
+  res = INTERNAL_SYSCALL_CALL (access, err, file, type);
+#else
+  res = INTERNAL_SYSCALL_CALL (faccessat, err, AT_FDCWD, file, type);
+#endif
+  if (INTERNAL_SYSCALL_ERROR_P (res, err))
+    return INTERNAL_SYSCALL_ERRNO (res, err);
+  return 0;
+}
+
+int
+__access (const char *file, int type)
+{
+#ifdef __NR_access
+  return INLINE_SYSCALL_CALL (access, file, type);
+#else
+  return INLINE_SYSCALL_CALL (faccessat, AT_FDCWD, file, type);
+#endif
+}
+weak_alias (__access, access)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/adjtime.c b/REORG.TODO/sysdeps/unix/sysv/linux/adjtime.c
new file mode 100644
index 0000000000..d98d77064e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/adjtime.c
@@ -0,0 +1,92 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <limits.h>
+#include <sys/time.h>
+#include <sys/timex.h>
+
+#define MAX_SEC	(INT_MAX / 1000000L - 2)
+#define MIN_SEC	(INT_MIN / 1000000L + 2)
+
+#ifndef MOD_OFFSET
+#define modes mode
+#endif
+
+#ifndef TIMEVAL
+#define TIMEVAL timeval
+#endif
+
+#ifndef TIMEX
+#define TIMEX timex
+#endif
+
+#ifndef ADJTIME
+#define ADJTIME __adjtime
+#endif
+
+#ifndef ADJTIMEX
+#define NO_LOCAL_ADJTIME
+#define ADJTIMEX(x) __adjtimex (x)
+#endif
+
+#ifndef LINKAGE
+#define LINKAGE
+#endif
+
+LINKAGE int
+ADJTIME (const struct TIMEVAL *itv, struct TIMEVAL *otv)
+{
+  struct TIMEX tntx;
+
+  if (itv)
+    {
+      struct TIMEVAL tmp;
+
+      /* We will do some check here. */
+      tmp.tv_sec = itv->tv_sec + itv->tv_usec / 1000000L;
+      tmp.tv_usec = itv->tv_usec % 1000000L;
+      if (tmp.tv_sec > MAX_SEC || tmp.tv_sec < MIN_SEC)
+	return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+      tntx.offset = tmp.tv_usec + tmp.tv_sec * 1000000L;
+      tntx.modes = ADJ_OFFSET_SINGLESHOT;
+    }
+  else
+    tntx.modes = ADJ_OFFSET_SS_READ;
+
+  if (__glibc_unlikely (ADJTIMEX (&tntx) < 0))
+    return -1;
+
+  if (otv)
+    {
+      if (tntx.offset < 0)
+	{
+	  otv->tv_usec = -(-tntx.offset % 1000000);
+	  otv->tv_sec  = -(-tntx.offset / 1000000);
+	}
+      else
+	{
+	  otv->tv_usec = tntx.offset % 1000000;
+	  otv->tv_sec  = tntx.offset / 1000000;
+	}
+    }
+  return 0;
+}
+
+#ifdef NO_LOCAL_ADJTIME
+weak_alias (__adjtime, adjtime)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aio_misc.h b/REORG.TODO/sysdeps/unix/sysv/linux/aio_misc.h
new file mode 100644
index 0000000000..36141350ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aio_misc.h
@@ -0,0 +1,68 @@
+/* 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; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _AIO_MISC_H
+# include_next <aio_misc.h>
+# include <limits.h>
+# include <pthread.h>
+# include <signal.h>
+# include <sysdep.h>
+
+# define aio_start_notify_thread __aio_start_notify_thread
+# define aio_create_helper_thread __aio_create_helper_thread
+
+extern inline void
+__aio_start_notify_thread (void)
+{
+  sigset_t ss;
+  sigemptyset (&ss);
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, NULL, _NSIG / 8);
+}
+
+extern inline int
+__aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
+			    void *arg)
+{
+  pthread_attr_t attr;
+
+  /* Make sure the thread is created detached.  */
+  pthread_attr_init (&attr);
+  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+
+  /* The helper thread needs only very little resources.  */
+  (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
+
+  /* Block all signals in the helper thread.  To do this thoroughly we
+     temporarily have to block all signals here.  */
+  sigset_t ss;
+  sigset_t oss;
+  sigfillset (&ss);
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8);
+
+  int ret = pthread_create (threadp, &attr, tf, arg);
+
+  /* Restore the signal mask.  */
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &oss, NULL,
+		    _NSIG / 8);
+
+  (void) pthread_attr_destroy (&attr);
+  return ret;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aio_sigqueue.c b/REORG.TODO/sysdeps/unix/sysv/linux/aio_sigqueue.c
new file mode 100644
index 0000000000..714e9659df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aio_sigqueue.c
@@ -0,0 +1,52 @@
+/* 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 <aio.h>
+#include <errno.h>
+#include <signal.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <aio_misc.h>
+
+#ifdef __NR_rt_sigqueueinfo
+
+/* Return any pending signal or wait for one for the given time.  */
+int
+internal_function
+__aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
+{
+  siginfo_t info;
+
+  /* First, clear the siginfo_t structure, so that we don't pass our
+     stack content to other tasks.  */
+  memset (&info, 0, sizeof (siginfo_t));
+  /* We must pass the information about the data in a siginfo_t value.  */
+  info.si_signo = sig;
+  info.si_code = SI_ASYNCIO;
+  info.si_pid = caller_pid;
+  info.si_uid = getuid ();
+  info.si_value = val;
+
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
+}
+#else
+# include <rt/aio_sigqueue.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Implies
new file mode 100644
index 0000000000..fddb49e2c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Implies
@@ -0,0 +1,5 @@
+alpha/nptl
+unix/sysv/linux/wordsize-64
+# These supply the ABI compatibility for when long double was double.
+ieee754/ldbl-64-128
+ieee754/ldbl-opt
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Makefile
new file mode 100644
index 0000000000..47bd189f94
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Makefile
@@ -0,0 +1,46 @@
+ifeq ($(subdir),posix)
+sysdep_routines += oldglob
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext-offsets.sym
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += alpha/ptrace.h alpha/regdef.h sys/io.h
+
+sysdep_routines += ieee_get_fp_control ieee_set_fp_control \
+		   ioperm
+
+# Support old timeval32 entry points
+sysdep_routines += osf_gettimeofday osf_settimeofday \
+		   osf_getitimer osf_setitimer osf_utimes \
+		   osf_getrusage osf_wait4
+
+CFLAGS-ioperm.c = -Wa,-mev6
+endif
+
+ifeq ($(subdir),signal)
+sysdep_routines += rt_sigaction
+endif
+
+ifeq ($(subdir),math)
+# These 2 routines are normally in libgcc{.a,_s.so.1}.
+# However, alpha -mlong-double-128 libgcc relies on
+# glibc providing _Ots* routines and without these files
+# glibc relies on __multc3/__divtc3 only provided
+# by libgcc if configured with -mlong-double-128.
+# Provide these routines here as well.
+libm-routines += multc3 divtc3
+endif   # math
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
+libpthread-routines += sysdep sigprocmask rt_sigaction
+libpthread-shared-only-routines += sysdep sigprocmask rt_sigaction
+endif
+
+ifeq ($(subdir),conform)
+# For bug 21260.
+conformtest-xfail-conds += alpha-linux
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Versions
new file mode 100644
index 0000000000..29b82f999b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/Versions
@@ -0,0 +1,113 @@
+libc {
+  # The comment lines with "#errlist-compat" are magic; see
+  # sysdeps/gnu/errlist-compat.awk.
+  # When you get an error from errlist-compat.awk, you need to add a new
+  # version here.  Don't do this blindly, since this means changing the ABI
+  # for all GNU/Linux configurations.
+
+  GLIBC_2.0 {
+    #errlist-compat	131
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    # Unfortunately in wider use.
+    _inb; _inw; _inl; _outb; _outw; _outl; _bus_base; _bus_base_sparse;
+    _hae_shift;
+
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+
+    # b*
+    bus_base; bus_base_sparse;
+
+    # h*
+    hae_shift;
+
+    # i*
+    inb; inl; inw; ioperm; iopl;
+
+    # o*
+    outb; outl; outw;
+
+    # p*
+    pciconfig_read; pciconfig_write; sethae;
+  }
+  GLIBC_2.1 {
+    #errlist-compat	131
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    # Linux/Alpha 64-bit timeval functions.
+    __select; select;
+    adjtime; adjtimex; __adjtimex;
+    __gettimeofday;
+
+    # glob interface change
+    glob; globfree;
+
+    # limit type change
+    getrusage;
+
+    # time type change
+    gettimeofday; getitimer;
+
+    # i*
+    ieee_get_fp_control; ieee_set_fp_control;
+
+    # s*
+    setitimer; settimeofday;
+
+    # u*
+    utimes;
+
+    # w*
+    wait4;
+  }
+  GLIBC_2.1.4 {
+    pciconfig_iobase;
+  }
+  GLIBC_2.2.2 {
+    # w*
+    wordexp;
+  }
+  GLIBC_2.3 {
+    #errlist-compat	132
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.4 {
+    #errlist-compat	138
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.12 {
+    #errlist-compat	139
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.16 {
+    #errlist-compat	140
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_PRIVATE {
+    __libc_alpha_cache_shape;
+  }
+}
+ld {
+  GLIBC_PRIVATE {
+    __libc_alpha_cache_shape;
+  }
+}
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
+librt {
+  GLIBC_2.3 {
+    # AIO functions.
+    aio_cancel; aio_cancel64;
+  }
+  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/alpha/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
new file mode 100644
index 0000000000..b3063e59ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
@@ -0,0 +1,144 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <jmpbuf-offsets.h>
+
+
+	.section .rodata.str1.1,"aMS",@progbits,1
+	.type   longjmp_msg,@object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size   longjmp_msg, .-longjmp_msg
+
+
+/* Jump to the position specified by ENV, causing the
+   setjmp call there to return VAL, or 1 if VAL is 0.
+   void __longjmp (__jmp_buf env, int val).  */
+	.text
+	.align	4
+	.globl	____longjmp_chk
+	.type	____longjmp_chk, @function
+	.usepv	____longjmp_chk, std
+
+	cfi_startproc
+____longjmp_chk:
+	ldgp    gp, 0(pv)
+#ifdef PROF
+	.set noat
+	lda     AT, _mcount
+	jsr     AT, (AT), _mcount
+	.set at
+#endif
+
+	ldq     s2, JB_PC*8(a0)
+	mov	a0, s0
+	ldq     fp, JB_FP*8(a0)
+	mov     a1, s1
+	ldq     s3, JB_SP*8(a0)
+	cmoveq  s1, 1, s1
+
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE(s2, t1)
+	PTR_DEMANGLE2(s3, t1)
+	PTR_DEMANGLE2(fp, t1)
+#endif
+	/* ??? While this is a proper test for detecting a longjmp to an
+	   invalid frame within any given stack, the main thread stack is
+	   located *below* almost everything in the address space.  Which
+	   means that the test at Lfail vs the signal stack will almost
+	   certainly never pass.  We ought bounds check top and bottom of
+	   the current thread's stack.  */
+	cmpule	s3, sp, t1
+	bne	t1, $Lfail
+
+	.align	4
+$Lok:
+	mov	s0, a0
+	mov	s1, v0
+	mov	s3, t0
+	mov	s2, ra
+	cfi_remember_state
+	cfi_def_cfa(a0, 0)
+	cfi_register(sp, t0)
+	cfi_offset(s0, JB_S0*8)
+	cfi_offset(s1, JB_S1*8)
+	cfi_offset(s2, JB_S2*8)
+	cfi_offset(s3, JB_S3*8)
+	cfi_offset(s4, JB_S4*8)
+	cfi_offset(s5, JB_S5*8)
+	cfi_offset(s3, JB_S3*8)
+	cfi_offset($f2, JB_F2*8)
+	cfi_offset($f3, JB_F3*8)
+	cfi_offset($f4, JB_F4*8)
+	cfi_offset($f5, JB_F5*8)
+	cfi_offset($f6, JB_F6*8)
+	cfi_offset($f7, JB_F7*8)
+	cfi_offset($f8, JB_F8*8)
+	cfi_offset($f9, JB_F9*8)
+	ldq	s0, JB_S0*8(a0)
+	ldq	s1, JB_S1*8(a0)
+	ldq	s2, JB_S2*8(a0)
+	ldq	s3, JB_S3*8(a0)
+	ldq	s4, JB_S4*8(a0)
+	ldq	s5, JB_S5*8(a0)
+	ldt     $f2, JB_F2*8(a0)
+	ldt     $f3, JB_F3*8(a0)
+	ldt     $f4, JB_F4*8(a0)
+	ldt     $f5, JB_F5*8(a0)
+	ldt     $f6, JB_F6*8(a0)
+	ldt     $f7, JB_F7*8(a0)
+	ldt     $f8, JB_F8*8(a0)
+	ldt     $f9, JB_F9*8(a0)
+	mov     t0, sp
+	ret
+
+	.align	4
+$Lfail:
+	cfi_restore_state
+	lda	v0, __NR_sigaltstack
+	lda	a0, 0
+	lda	a1, -32(sp)
+	lda	sp, -32(sp)
+	cfi_adjust_cfa_offset(32)
+	callsys
+	ldq	t0, 0(sp)	/* ss_sp */
+	ldl	t1, 8(sp)	/* ss_flags */
+	ldq	t2, 16(sp)	/* ss_size */
+	lda	sp, 32(sp)
+	cfi_adjust_cfa_offset(-32)
+
+	/* Without working sigaltstack we cannot perform the test.  */
+	bne	a3, $Lok
+
+	addq	t0, t2, t0	/* t0 = ss_sp + ss_size */
+	subq	t0, s3, t0	/* t0 = (ss_sp + ss_size) - new_sp */
+	cmpule	t2, t0, t0	/* t0 = (t0 >= ss_size) */
+	and	t0, t1, t0	/* t0 = (t0 >= ss_size) & (ss_flags & SS_ONSTACK) */
+	bne	t0, $Lok
+
+	ldah	a0, longjmp_msg(gp)	!gprelhigh
+	lda	a0, longjmp_msg(a0)	!gprellow
+#ifdef PIC
+	jsr	ra, HIDDEN_JUMPTARGET(__fortify_fail)
+#else
+	bsr	ra, HIDDEN_JUMPTARGET(__fortify_fail)	!samegp
+#endif
+	bugchk
+
+	cfi_endproc
+	.size	____longjmp_chk, .-____longjmp_chk
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/a.out.h
new file mode 100644
index 0000000000..a7699f0fe0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/a.out.h
@@ -0,0 +1,197 @@
+#ifndef __A_OUT_GNU_H__
+#define __A_OUT_GNU_H__
+
+#include <bits/a.out.h>
+
+#define __GNU_EXEC_MACROS__
+
+/*
+ * OSF/1 ECOFF header structs.  ECOFF files consist of:
+ *      - a file header (struct filehdr),
+ *      - an a.out header (struct aouthdr),
+ *      - one or more section headers (struct scnhdr).
+ *        The filhdr's "f_nscns" field contains the
+ *        number of section headers.
+ */
+
+struct filehdr
+{
+  /* OSF/1 "file" header */
+  unsigned short f_magic, f_nscns;
+  unsigned int   f_timdat;
+  unsigned long  f_symptr;
+  unsigned int   f_nsyms;
+  unsigned short f_opthdr, f_flags;
+};
+
+struct aouthdr
+{
+  unsigned long info;		/* After that it looks quite normal..  */
+  unsigned long tsize;
+  unsigned long dsize;
+  unsigned long bsize;
+  unsigned long entry;
+  unsigned long text_start;	/* With a few additions that actually make sense.  */
+  unsigned long data_start;
+  unsigned long bss_start;
+  unsigned int  gprmask, fprmask; /* Bitmask of general & floating point regs used in binary.  */
+  unsigned long gpvalue;
+};
+
+struct scnhdr
+{
+  char           s_name[8];
+  unsigned long  s_paddr;
+  unsigned long  s_vaddr;
+  unsigned long  s_size;
+  unsigned long  s_scnptr;
+  unsigned long  s_relptr;
+  unsigned long  s_lnnoptr;
+  unsigned short s_nreloc;
+  unsigned short s_nlnno;
+  unsigned int   s_flags;
+};
+
+struct exec
+{
+  /* OSF/1 "file" header */
+  struct filehdr fh;
+  struct aouthdr ah;
+};
+
+#define a_info		ah.info
+#define a_text		ah.tsize
+#define a_data		ah.dsize
+#define a_bss		ah.bsize
+#define a_entry		ah.entry
+#define a_textstart	ah.text_start
+#define a_datastart	ah.data_start
+#define a_bssstart	ah.bss_start
+#define a_gprmask	ah.gprmask
+#define a_fprmask	ah.fprmask
+#define a_gpvalue	ah.gpvalue
+
+
+#define AOUTHSZ		sizeof(struct aouthdr)
+#define SCNHSZ		sizeof(struct scnhdr)
+#define SCNROUND	16
+
+enum machine_type
+{
+  M_OLDSUN2 = 0,
+  M_68010 = 1,
+  M_68020 = 2,
+  M_SPARC = 3,
+  M_386 = 100,
+  M_MIPS1 = 151,
+  M_MIPS2 = 152
+};
+
+#define N_MAGIC(exec)	((exec).a_info & 0xffff)
+#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
+#define N_FLAGS(exec)	(((exec).a_info >> 24) & 0xff)
+#define N_SET_INFO(exec, magic, type, flags) \
+  ((exec).a_info = ((magic) & 0xffff)					\
+   | (((int)(type) & 0xff) << 16)					\
+   | (((flags) & 0xff) << 24))
+#define N_SET_MAGIC(exec, magic) \
+  ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
+#define N_SET_MACHTYPE(exec, machtype) \
+  ((exec).a_info =							\
+   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
+#define N_SET_FLAGS(exec, flags) \
+  ((exec).a_info =							\
+   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
+
+/* Code indicating object file or impure executable.  */
+#define OMAGIC 0407
+/* Code indicating pure executable.  */
+#define NMAGIC 0410
+/* Code indicating demand-paged executable.  */
+#define ZMAGIC 0413
+/* This indicates a demand-paged executable with the header in the text.
+   The first page is unmapped to help trap NULL pointer references.  */
+#define QMAGIC 0314
+/* Code indicating core file.  */
+#define CMAGIC 0421
+
+#define N_TRSIZE(x)	0
+#define N_DRSIZE(x)	0
+#define N_SYMSIZE(x)	0
+#define N_BADMAG(x) \
+  (N_MAGIC(x) != OMAGIC	&& N_MAGIC(x) != NMAGIC				\
+   && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
+#define _N_HDROFF(x)	(1024 - sizeof (struct exec))
+#define N_TXTOFF(x) \
+  ((long) N_MAGIC(x) == ZMAGIC ? 0 :					\
+   (sizeof (struct exec) + (x).fh.f_nscns * SCNHSZ + SCNROUND - 1)	\
+   & ~(SCNROUND - 1))
+
+#define N_DATOFF(x)	(N_TXTOFF(x) + (x).a_text)
+#define N_TRELOFF(x)	(N_DATOFF(x) + (x).a_data)
+#define N_DRELOFF(x)	(N_TRELOFF(x) + N_TRSIZE(x))
+#define N_SYMOFF(x)	(N_DRELOFF(x) + N_DRSIZE(x))
+#define N_STROFF(x)	(N_SYMOFF(x) + N_SYMSIZE(x))
+
+/* Address of text segment in memory after it is loaded.  */
+#define N_TXTADDR(x)	((x).a_textstart)
+
+/* Address of data segment in memory after it is loaded.  */
+#define SEGMENT_SIZE	1024
+
+#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
+#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
+
+#define N_DATADDR(x)	((x).a_datastart)
+#define N_BSSADDR(x)	((x).a_bssstart)
+
+#if !defined (N_NLIST_DECLARED)
+struct nlist
+{
+  union
+    {
+      char *n_name;
+      struct nlist *n_next;
+      long n_strx;
+    } n_un;
+  unsigned char n_type;
+  char n_other;
+  short n_desc;
+  unsigned long n_value;
+};
+#endif /* no N_NLIST_DECLARED.  */
+
+#define N_UNDF	0
+#define N_ABS	2
+#define N_TEXT	4
+#define N_DATA	6
+#define N_BSS	8
+#define N_FN	15
+#define N_EXT	1
+#define N_TYPE	036
+#define N_STAB	0340
+#define N_INDR	0xa
+#define	N_SETA	0x14	/* Absolute set element symbol.  */
+#define	N_SETT	0x16	/* Text set element symbol.  */
+#define	N_SETD	0x18	/* Data set element symbol.  */
+#define	N_SETB	0x1A	/* Bss set element symbol.  */
+#define N_SETV	0x1C	/* Pointer to set vector in data area.  */
+
+#if !defined (N_RELOCATION_INFO_DECLARED)
+/* This structure describes a single relocation to be performed.
+   The text-relocation section of the file is a vector of these structures,
+   all of which apply to the text section.
+   Likewise, the data-relocation section applies to the data section.  */
+
+struct relocation_info
+{
+  int r_address;
+  unsigned int r_symbolnum:24;
+  unsigned int r_pcrel:1;
+  unsigned int r_length:2;
+  unsigned int r_extern:1;
+  unsigned int r_pad:4;
+};
+#endif /* no N_RELOCATION_INFO_DECLARED.  */
+
+#endif /* __A_OUT_GNU_H__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/adjtime.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/adjtime.c
new file mode 100644
index 0000000000..9ed0119a8f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/adjtime.c
@@ -0,0 +1,94 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include <sysdep.h>
+#include <sys/time.h>
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
+struct timeval32
+{
+    int tv_sec, tv_usec;
+};
+
+struct timex32 {
+	unsigned int modes;	/* mode selector */
+	long offset;		/* time offset (usec) */
+	long freq;		/* frequency offset (scaled ppm) */
+	long maxerror;		/* maximum error (usec) */
+	long esterror;		/* estimated error (usec) */
+	int status;		/* clock command/status */
+	long constant;		/* pll time constant */
+	long precision;		/* clock precision (usec) (read only) */
+	long tolerance;		/* clock frequency tolerance (ppm)
+				 * (read only)
+				 */
+	struct timeval32 time;	/* (read only) */
+	long tick;		/* (modified) usecs between clock ticks */
+
+	long ppsfreq;           /* pps frequency (scaled ppm) (ro) */
+	long jitter;            /* pps jitter (us) (ro) */
+	int shift;              /* interval duration (s) (shift) (ro) */
+	long stabil;            /* pps stability (scaled ppm) (ro) */
+	long jitcnt;            /* jitter limit exceeded (ro) */
+	long calcnt;            /* calibration intervals (ro) */
+	long errcnt;            /* calibration errors (ro) */
+	long stbcnt;            /* stability limit exceeded (ro) */
+
+	int  :32; int  :32; int  :32; int  :32;
+	int  :32; int  :32; int  :32; int  :32;
+	int  :32; int  :32; int  :32; int  :32;
+};
+
+#define TIMEVAL		timeval32
+#define TIMEX		timex32
+#define ADJTIME		attribute_compat_text_section __adjtime_tv32
+#define ADJTIMEX(x)	INLINE_SYSCALL (old_adjtimex, 1, x)
+#define ADJTIMEX32(x)	INLINE_SYSCALL (old_adjtimex, 1, x)
+
+#include <sysdeps/unix/sysv/linux/adjtime.c>
+
+int attribute_compat_text_section
+__adjtimex_tv32 (struct timex32 *tx) { return ADJTIMEX (tx); }
+
+strong_alias (__adjtimex_tv32, __adjtimex_tv32_1);
+strong_alias (__adjtimex_tv32, __adjtimex_tv32_2);
+compat_symbol (libc, __adjtimex_tv32_1, __adjtimex, GLIBC_2_0);
+compat_symbol (libc, __adjtimex_tv32_2, adjtimex, GLIBC_2_0);
+compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2_0);
+#endif /* SHLIB_COMPAT */
+
+#undef TIMEVAL
+#undef TIMEX
+#undef ADJTIME
+#undef ADJTIMEX
+#define TIMEVAL		timeval
+#define TIMEX		timex
+#define ADJTIMEX(x)	INLINE_SYSCALL (adjtimex, 1, x)
+
+#include <sysdeps/unix/sysv/linux/adjtime.c>
+
+int
+__adjtimex_tv64 (struct timex *tx) { return ADJTIMEX (tx); }
+
+libc_hidden_ver (__adjtimex_tv64, __adjtimex)
+strong_alias (__adjtimex_tv64, __adjtimex_tv64p);
+weak_alias (__adjtimex_tv64, ntp_adjtime);
+versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1);
+versioned_symbol (libc, __adjtimex_tv64p, adjtimex, GLIBC_2_1);
+versioned_symbol (libc, __adjtime, adjtime, GLIBC_2_1);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/aio_cancel.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
new file mode 100644
index 0000000000..0d6da82919
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
@@ -0,0 +1,33 @@
+#include <shlib-compat.h>
+
+#define aio_cancel64 XXX
+#include <aio.h>
+#undef aio_cancel64
+#include <errno.h>
+
+extern __typeof (aio_cancel) __new_aio_cancel;
+extern __typeof (aio_cancel) __old_aio_cancel;
+
+#define aio_cancel	__new_aio_cancel
+
+#include <sysdeps/pthread/aio_cancel.c>
+
+#undef aio_cancel
+strong_alias (__new_aio_cancel, __new_aio_cancel64);
+versioned_symbol (librt, __new_aio_cancel, aio_cancel, GLIBC_2_3);
+versioned_symbol (librt, __new_aio_cancel64, aio_cancel64, GLIBC_2_3);
+
+#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_3)
+
+#undef ECANCELED
+#define aio_cancel	__old_aio_cancel
+#define ECANCELED	125
+
+#include <sysdeps/pthread/aio_cancel.c>
+
+#undef aio_cancel
+strong_alias (__old_aio_cancel, __old_aio_cancel64);
+compat_symbol (librt, __old_aio_cancel, aio_cancel, GLIBC_2_1);
+compat_symbol (librt, __old_aio_cancel64, aio_cancel64, GLIBC_2_1);
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
new file mode 100644
index 0000000000..57b96d64db
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
@@ -0,0 +1,18 @@
+#ifndef __alpha_ptrace_h__
+#define __alpha_ptrace_h__
+
+/*
+ * Mostly for OSF/1 compatibility.
+ */
+
+#define REG_BASE        0
+#define NGP_REGS        32
+#define NFP_REGS        32
+
+#define GPR_BASE        REG_BASE
+#define FPR_BASE        (GPR_BASE+NGP_REGS)
+#define PC              (FPR_BASE+NFP_REGS)
+#define SPR_PS          (PC+1)
+#define NPTRC_REGS      (SPR_PS+1)
+
+#endif /* __alpha_ptrace_h__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
new file mode 100644
index 0000000000..142df9c4f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
@@ -0,0 +1,44 @@
+#ifndef __alpha_regdef_h__
+#define __alpha_regdef_h__
+
+#define v0	$0	/* function return value */
+
+#define t0	$1	/* temporary registers (caller-saved) */
+#define t1	$2
+#define t2	$3
+#define t3	$4
+#define t4	$5
+#define t5	$6
+#define t6	$7
+#define t7	$8
+
+#define	s0	$9	/* saved-registers (callee-saved registers) */
+#define	s1	$10
+#define	s2	$11
+#define	s3	$12
+#define	s4	$13
+#define	s5	$14
+#define	s6	$15
+#define	fp	s6	/* frame-pointer (s6 in frame-less procedures) */
+
+#define a0	$16	/* argument registers (caller-saved) */
+#define a1	$17
+#define a2	$18
+#define a3	$19
+#define a4	$20
+#define a5	$21
+
+#define t8	$22	/* more temps (caller-saved) */
+#define t9	$23
+#define t10	$24
+#define t11	$25
+#define ra	$26	/* return address register */
+#define t12	$27
+
+#define pv	t12	/* procedure-variable register */
+#define AT	$at	/* assembler temporary */
+#define gp	$29	/* global pointer */
+#define sp	$30	/* stack pointer */
+#define zero	$31	/* reads as zero, writes are noops */
+
+#endif /* __alpha_regdef_h__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
new file mode 100644
index 0000000000..0d7000dc2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
@@ -0,0 +1,2 @@
+# Override ldbl-opt with alpha specific routines.
+alpha/alphaev6/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
new file mode 100644
index 0000000000..617c388d2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
@@ -0,0 +1,2 @@
+# Override ldbl-opt with alpha specific routines.
+alpha/alphaev67/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/arch-fork.h
new file mode 100644
index 0000000000..4e4e26d7ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/arch-fork.h
@@ -0,0 +1,28 @@
+/* ARCH_FORK definition for Linux fork implementation.  Alpha version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK()							\
+  INLINE_SYSCALL (clone, 5,						\
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
+		  NULL, NULL, &THREAD_SELF->tid, NULL)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
new file mode 100644
index 0000000000..82a3dd4c0d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
@@ -0,0 +1,9 @@
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
new file mode 100644
index 0000000000..2ac7893af0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
@@ -0,0 +1,57 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_DIRENT_H
+#define _BITS_DIRENT_H	1
+
+struct dirent
+  {
+#ifdef __USE_FILE_OFFSET64
+    __ino64_t d_ino;
+#else
+    __ino_t d_ino;
+    int __pad;
+#endif
+    __off_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+
+#ifdef __USE_LARGEFILE64
+/* Note dirent64 is the same as dirent.  */
+struct dirent64
+  {
+    __ino64_t d_ino;
+    __off64_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+#endif
+
+#define d_fileno	d_ino	/* Backwards compatibility.  */
+
+#undef  _DIRENT_HAVE_D_NAMLEN
+#define _DIRENT_HAVE_D_RECLEN
+#define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_TYPE
+
+/* Inform libc code that these two types are effectively identical.  */
+#define _DIRENT_MATCHES_DIRENT64	1
+
+#endif /* bits/dirent.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
new file mode 100644
index 0000000000..e5aa4a0fbd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
@@ -0,0 +1,14 @@
+/* This file specifies the native word size of the machine, which indicates
+   the ELF file class used for executables and shared objects on this
+   machine.  */
+
+#ifndef _LINK_H
+# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#define __ELF_NATIVE_CLASS __WORDSIZE
+
+/* Linux/Alpha is exceptional as it has .hash section with 64 bit entries.  */
+typedef uint64_t Elf_Symndx;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/epoll.h
new file mode 100644
index 0000000000..18bc87522d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/epoll.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC  = 010000000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/errno.h
new file mode 100644
index 0000000000..3338621710
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/errno.h
@@ -0,0 +1,65 @@
+/* Error constants.  Linux/Alpha specific version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code.  */
+# define ENOTSUP EOPNOTSUPP
+
+# ifndef ECANCELED
+#  define ECANCELED	131
+# endif
+
+/* Support for error codes to support robust mutexes was added later, too.  */
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		136
+#  define ENOTRECOVERABLE	137
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		138
+# endif
+
+# ifndef EHWPOISON
+#  define EHWPOISON		139
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable.  */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#  if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value.  */
+#   define errno (*__errno_location ())
+#  endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough.  We must
+   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+   defined.  */
+# define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	116	/* Illegal byte sequence.  */
+# define ERANGE	34	/* Math result not representable.  */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h
new file mode 100644
index 0000000000..60e7d5e78f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
+#endif
+
+/* Flags for eventfd.  */
+enum
+  {
+    EFD_SEMAPHORE = 000000001,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
+    EFD_CLOEXEC   = 010000000,
+#define EFD_CLOEXEC EFD_CLOEXEC
+    EFD_NONBLOCK  = 000000004
+#define EFD_NONBLOCK EFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
new file mode 100644
index 0000000000..0db4643507
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -0,0 +1,87 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define O_CREAT		 01000	/* not fcntl */
+#define O_TRUNC		 02000	/* not fcntl */
+#define O_EXCL		 04000	/* not fcntl */
+#define O_NOCTTY	010000	/* not fcntl */
+
+#define O_NONBLOCK	 00004
+#define O_APPEND	 00010
+#define O_SYNC		020040000
+
+#define __O_DIRECTORY	0100000	/* Must be a directory.  */
+#define __O_NOFOLLOW	0200000	/* Do not follow links.  */
+#define __O_CLOEXEC	010000000 /* Set close_on_exec.  */
+
+#define __O_DIRECT	02000000 /* Direct disk access.  */
+#define __O_NOATIME	04000000 /* Do not set atime.  */
+#define __O_PATH	040000000 /* Resolve pathname but do not open file.  */
+#define __O_TMPFILE	0100100000 /* Atomically create nameless file.  */
+
+/* Not necessary, files are always with 64bit off_t.  */
+#define __O_LARGEFILE	0
+
+#define __O_DSYNC	040000	/* Synchronize data.  */
+
+#define F_GETLK		7	/* Get record locking info.  */
+#define F_SETLK		8	/* Set record locking info (non-blocking).  */
+#define F_SETLKW	9	/* Set record locking info (blocking).  */
+#define F_GETLK64	F_GETLK	/* Get record locking info.  */
+#define F_SETLK64	F_SETLK	/* Set record locking info (non-blocking).  */
+#define F_SETLKW64	F_SETLKW /* Set record locking info (blocking).  */
+
+#define __F_SETOWN	5	/* Get owner of socket (receiver of SIGIO).  */
+#define __F_GETOWN	6	/* Set owner of socket (receiver of SIGIO).  */
+
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf() */
+#define F_RDLCK		1	/* Read lock.  */
+#define F_WRLCK		2	/* Write lock.  */
+#define F_UNLCK		8	/* Remove lock.  */
+
+/* for old implementation of bsd flock () */
+#define F_EXLCK		16	/* or 3 */
+#define F_SHLCK		32	/* or 4 */
+
+/* We don't need to support __USE_FILE_OFFSET64.  */
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/inotify.h
new file mode 100644
index 0000000000..5597935f47
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/inotify.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
+#endif
+
+/* Flags for the parameter of inotify_init1.  */
+enum
+  {
+    IN_CLOEXEC  = 010000000,
+#define IN_CLOEXEC IN_CLOEXEC
+    IN_NONBLOCK = 000000004
+#define IN_NONBLOCK IN_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
new file mode 100644
index 0000000000..1626445574
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Use the definitions from the kernel header files.  */
+#include <asm/ioctls.h>
+
+/* Oh well, this is necessary since the kernel data structure is
+   different from the user-level version.  */
+#undef  TCGETS
+#undef  TCSETS
+#undef  TCSETSW
+#undef  TCSETSF
+#define TCGETS	_IOR ('t', 19, char[44])
+#define TCSETS	_IOW ('t', 20, char[44])
+#define TCSETSW	_IOW ('t', 21, char[44])
+#define TCSETSF	_IOW ('t', 22, char[44])
+
+#include <linux/sockios.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
new file mode 100644
index 0000000000..495e0fac3a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    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.  */
+    unsigned short int __pad1;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
new file mode 100644
index 0000000000..4bbd45d026
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/Alpha version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/mman.h
new file mode 100644
index 0000000000..5740188dac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/mman.h
@@ -0,0 +1,66 @@
+/* Definitions for POSIX memory map interface.  Linux/Alpha version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+#define __MAP_ANONYMOUS	  0x10		/* Don't use a file.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	  0x01000	/* Stack-like segment.  */
+# define MAP_DENYWRITE	  0x02000	/* ETXTBSY */
+# define MAP_EXECUTABLE	  0x04000	/* Mark it as an executable.  */
+# define MAP_LOCKED	  0x08000	/* Lock the mapping.  */
+# define MAP_NORESERVE	  0x10000	/* Don't check for reservations.  */
+# define MAP_POPULATE	  0x20000	/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	  0x40000	/* Do not block on IO.  */
+# define MAP_STACK	  0x80000	/* Allocation is for a stack.  */
+# define MAP_HUGETLB	  0x100000	/* Create huge page mapping.  */
+#endif
+
+/* Flags for `mlockall'.  */
+#define MCL_CURRENT	  8192
+#define MCL_FUTURE	  16384
+#define MCL_ONFAULT	  32768
+
+#include <bits/mman-linux.h>
+
+/* Values that differ from standard <mman-linux.h>.  For the most part newer
+   values are shared, but older values are skewed.  */
+
+#undef  MAP_FIXED
+#define MAP_FIXED	  0x100
+
+#undef  MS_SYNC
+#define MS_SYNC		  2
+#undef  MS_INVALIDATE
+#define MS_INVALIDATE	  4
+
+#ifdef __USE_MISC
+# undef  MADV_DONTNEED
+# define MADV_DONTNEED    6
+#endif
+#ifdef __USE_XOPEN2K
+# undef  POSIX_MADV_DONTNEED
+# define POSIX_MADV_DONTNEED	6
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/msq.h
new file mode 100644
index 0000000000..e7db7dc9a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/msq.h
@@ -0,0 +1,74 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+  __time_t msg_rtime;		/* time of last msgrcv command */
+  __time_t msg_ctime;		/* time of last change */
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/netdb.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
new file mode 100644
index 0000000000..f47af14907
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NETDB_H
+# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
+#endif
+
+
+/* Description of data base entry for a single network.  NOTE: here a
+   poor assumption is made.  The network number is expected to fit
+   into an unsigned long int variable.  */
+struct netent
+{
+  char *n_name;			/* Official name of network.  */
+  char **n_aliases;		/* Alias list.  */
+  int n_addrtype;		/* Net address type.  */
+  /* XXX We should probably use uint32_t for the field and ensure
+     compatibility by adding appropriate padding.  */
+  unsigned long	int n_net;	/* Network number.  */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/resource.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/resource.h
new file mode 100644
index 0000000000..e5d5bc82d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/resource.h
@@ -0,0 +1,265 @@
+/* Bit values & structures for resource limits.  Alpha/Linux version.
+   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_RESOURCE_H
+# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Transmute defines to enumerations.  The macro re-definitions are
+   necessary because some programs want to test for operating system
+   features with #ifdef RUSAGE_SELF.  In ISO C the reflexive
+   definition is a no-op.  */
+
+/* Kinds of resource limit.  */
+enum __rlimit_resource
+{
+  /* Per-process CPU limit, in seconds.  */
+  RLIMIT_CPU = 0,
+#define RLIMIT_CPU RLIMIT_CPU
+
+  /* Largest file that can be created, in bytes.  */
+  RLIMIT_FSIZE = 1,
+#define	RLIMIT_FSIZE RLIMIT_FSIZE
+
+  /* Maximum size of data segment, in bytes.  */
+  RLIMIT_DATA = 2,
+#define	RLIMIT_DATA RLIMIT_DATA
+
+  /* Maximum size of stack segment, in bytes.  */
+  RLIMIT_STACK = 3,
+#define	RLIMIT_STACK RLIMIT_STACK
+
+  /* Largest core file that can be created, in bytes.  */
+  RLIMIT_CORE = 4,
+#define	RLIMIT_CORE RLIMIT_CORE
+
+  /* Largest resident set size, in bytes.
+     This affects swapping; processes that are exceeding their
+     resident set size will be more likely to have physical memory
+     taken from them.  */
+  __RLIMIT_RSS = 5,
+#define	RLIMIT_RSS __RLIMIT_RSS
+
+  /* Number of open files.  */
+  RLIMIT_NOFILE = 6,
+  __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
+#define RLIMIT_NOFILE RLIMIT_NOFILE
+#define RLIMIT_OFILE __RLIMIT_OFILE
+
+  /* Address space limit (?) */
+  RLIMIT_AS = 7,
+#define RLIMIT_AS RLIMIT_AS
+
+  /* Number of processes.  */
+  __RLIMIT_NPROC = 8,
+#define RLIMIT_NPROC __RLIMIT_NPROC
+
+  /* Locked-in-memory address space.  */
+  __RLIMIT_MEMLOCK = 9,
+#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
+
+  /* Maximum number of file locks.  */
+  __RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS __RLIMIT_LOCKS
+
+  /* Maximum number of pending signals.  */
+  __RLIMIT_SIGPENDING = 11,
+#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
+
+  /* Maximum bytes in POSIX message queues.  */
+  __RLIMIT_MSGQUEUE = 12,
+#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
+
+  /* Maximum nice priority allowed to raise to.
+     Nice levels 19 .. -20 correspond to 0 .. 39
+     values of this resource limit.  */
+  __RLIMIT_NICE = 13,
+#define RLIMIT_NICE __RLIMIT_NICE
+
+  /* Maximum realtime priority allowed for non-priviledged
+     processes.  */
+  __RLIMIT_RTPRIO = 14,
+#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
+
+  /* Maximum CPU time in µs that a process scheduled under a real-time
+     scheduling policy may consume without making a blocking system
+     call before being forcibly descheduled.  */
+  __RLIMIT_RTTIME = 15,
+#define RLIMIT_RTTIME __RLIMIT_RTTIME
+
+  __RLIMIT_NLIMITS = 16,
+  __RLIM_NLIMITS = __RLIMIT_NLIMITS
+#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
+#define RLIM_NLIMITS __RLIM_NLIMITS
+};
+
+/* Value to indicate that there is no limit.  */
+#ifndef __USE_FILE_OFFSET64
+# define RLIM_INFINITY ((long int)(~0UL >> 1))
+#else
+# define RLIM_INFINITY 0x7fffffffffffffffLL
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define RLIM64_INFINITY 0x7fffffffffffffffLL
+#endif
+
+/* We can represent all limits.  */
+#define RLIM_SAVED_MAX	RLIM_INFINITY
+#define RLIM_SAVED_CUR	RLIM_INFINITY
+
+
+/* Type for resource quantity measurement.  */
+#ifndef __USE_FILE_OFFSET64
+typedef __rlim_t rlim_t;
+#else
+typedef __rlim64_t rlim_t;
+#endif
+#ifdef __USE_LARGEFILE64
+typedef __rlim64_t rlim64_t;
+#endif
+
+struct rlimit
+  {
+    /* The current (soft) limit.  */
+    rlim_t rlim_cur;
+    /* The hard limit.  */
+    rlim_t rlim_max;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct rlimit64
+  {
+    /* The current (soft) limit.  */
+    rlim64_t rlim_cur;
+    /* The hard limit.  */
+    rlim64_t rlim_max;
+ };
+#endif
+
+/* Whose usage statistics do you want?  */
+enum __rusage_who
+{
+  /* The calling process.  */
+  RUSAGE_SELF = 0,
+#define RUSAGE_SELF RUSAGE_SELF
+
+  /* All of its terminated child processes.  */
+  RUSAGE_CHILDREN = -1
+#define RUSAGE_CHILDREN RUSAGE_CHILDREN
+
+#ifdef __USE_GNU
+  ,
+  /* The calling thread.  */
+  RUSAGE_THREAD = 1
+# define RUSAGE_THREAD RUSAGE_THREAD
+  /* Name for the same functionality on Solaris.  */
+# define RUSAGE_LWP RUSAGE_THREAD
+#endif
+};
+
+#include <bits/types/struct_timeval.h>
+
+/* Structure which says how much of each resource has been used.  */
+struct rusage
+  {
+    /* Total amount of user time used.  */
+    struct timeval ru_utime;
+    /* Total amount of system time used.  */
+    struct timeval ru_stime;
+    /* Maximum resident set size (in kilobytes).  */
+    long int ru_maxrss;
+    /* Amount of sharing of text segment memory
+       with other processes (kilobyte-seconds).  */
+    long int ru_ixrss;
+    /* Amount of data segment memory used (kilobyte-seconds).  */
+    long int ru_idrss;
+    /* Amount of stack memory used (kilobyte-seconds).  */
+    long int ru_isrss;
+    /* Number of soft page faults (i.e. those serviced by reclaiming
+       a page from the list of pages awaiting reallocation.  */
+    long int ru_minflt;
+    /* Number of hard page faults (i.e. those that required I/O).  */
+    long int ru_majflt;
+    /* Number of times a process was swapped out of physical memory.  */
+    long int ru_nswap;
+    /* Number of input operations via the file system.  Note: This
+       and `ru_oublock' do not include operations with the cache.  */
+    long int ru_inblock;
+    /* Number of output operations via the file system.  */
+    long int ru_oublock;
+    /* Number of IPC messages sent.  */
+    long int ru_msgsnd;
+    /* Number of IPC messages received.  */
+    long int ru_msgrcv;
+    /* Number of signals delivered.  */
+    long int ru_nsignals;
+    /* Number of voluntary context switches, i.e. because the process
+       gave up the process before it had to (usually to wait for some
+       resource to be available).  */
+    long int ru_nvcsw;
+    /* Number of involuntary context switches, i.e. a higher priority process
+       became runnable or the current process used up its time slice.  */
+    long int ru_nivcsw;
+  };
+
+/* Priority limits.  */
+#define PRIO_MIN	-20	/* Minimum priority a process can have.  */
+#define PRIO_MAX	20	/* Maximum priority a process can have.  */
+
+/* The type of the WHICH argument to `getpriority' and `setpriority',
+   indicating what flavor of entity the WHO argument specifies.  */
+enum __priority_which
+{
+  PRIO_PROCESS = 0,		/* WHO is a process ID.  */
+#define PRIO_PROCESS PRIO_PROCESS
+  PRIO_PGRP = 1,		/* WHO is a process group ID.  */
+#define PRIO_PGRP PRIO_PGRP
+  PRIO_USER = 2			/* WHO is a user ID.  */
+#define PRIO_USER PRIO_USER
+};
+
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically.  */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+		    const struct rlimit *__new_limit,
+		    struct rlimit *__old_limit) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+				     enum __rlimit_resource __resource,
+				     const struct rlimit *__new_limit,
+				     struct rlimit *__old_limit), prlimit64);
+#  else
+#   define prlimit prlimit64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+		      const struct rlimit64 *__new_limit,
+		      struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sem.h
new file mode 100644
index 0000000000..36de4390e8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sem.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
new file mode 100644
index 0000000000..3038a26155
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
@@ -0,0 +1,33 @@
+/* Machine-specific POSIX semaphore type layouts.  Alpha version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SEMAPHORE_H
+# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
+#endif
+
+# define __SIZEOF_SEM_T	32
+
+/* Value returned if `sem_open' failed.  */
+#define SEM_FAILED      ((sem_t *) 0)
+
+
+typedef union
+{
+  char __size[__SIZEOF_SEM_T];
+  long int __align;
+} sem_t;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/shm.h
new file mode 100644
index 0000000000..d628dcf37c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/shm.h
@@ -0,0 +1,100 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    __time_t shm_dtime;			/* time of last shmdt() */
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
new file mode 100644
index 0000000000..42eaa818a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
@@ -0,0 +1,75 @@
+/* The proper definitions for Linux/Alpha sigaction.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* Special flags.  */
+    int sa_flags;
+  };
+
+/* Bits in `sa_flags'.  */
+#define	SA_NOCLDSTOP  0x00000004 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  0x00000020 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    0x00000040 /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x00000008 /* Don't automatically block the signal
+				    when its handler is being executed.  */
+# define SA_RESETHAND 0x00000010 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define	SIG_BLOCK     1		 /* Block signals.  */
+#define	SIG_UNBLOCK   2		 /* Unblock signals.  */
+#define	SIG_SETMASK   3		 /* Set the set of blocked signals.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
new file mode 100644
index 0000000000..cca91f281b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC  = 010000000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 000000004
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signum.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signum.h
new file mode 100644
index 0000000000..e5cc5218e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/signum.h
@@ -0,0 +1,81 @@
+/* Signal number definitions.  Linux/Alpha version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* Fake signal functions.  */
+#define SIG_ERR ((__sighandler_t) -1) /* Error return.  */
+#define SIG_DFL ((__sighandler_t) 0) /* Default action.  */
+#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
+#endif
+
+/*
+ * Linux/AXP has different signal numbers that Linux/i386: I'm trying
+ * to make it OSF/1 binary compatible, at least for normal binaries.
+ */
+#define SIGHUP		 1
+#define SIGINT		 2
+#define SIGQUIT		 3
+#define SIGILL		 4
+#define SIGTRAP		 5
+#define SIGABRT		 6
+#define SIGEMT		 7
+#define SIGFPE		 8
+#define SIGKILL		 9
+#define SIGBUS		10
+#define SIGSEGV		11
+#define SIGSYS		12
+#define SIGPIPE		13
+#define SIGALRM		14
+#define SIGTERM		15
+#define SIGURG		16
+#define SIGSTOP		17
+#define SIGTSTP		18
+#define SIGCONT		19
+#define SIGCHLD		20
+#define SIGCLD          SIGCHLD
+#define SIGTTIN		21
+#define SIGTTOU		22
+#define SIGIO		23
+#define SIGXCPU		24
+#define SIGXFSZ		25
+#define SIGVTALRM	26
+#define SIGPROF		27
+#define SIGWINCH	28
+#define SIGINFO		29
+#define SIGUSR1		30
+#define SIGUSR2		31
+
+#define SIGPOLL	SIGIO
+#define SIGPWR	SIGINFO
+#define SIGIOT	SIGABRT
+
+#define	_NSIG		65	/* Biggest signal number + 1.  */
+
+#define SIGRTMIN	(__libc_current_sigrtmin ())
+#define SIGRTMAX	(__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+#define __SIGRTMIN	32
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
new file mode 100644
index 0000000000..9a30c9d9d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   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 _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	4096
+
+/* System default stack size.  */
+#define SIGSTKSZ	16384
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h
new file mode 100644
index 0000000000..aa83fbaaf7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h
@@ -0,0 +1,55 @@
+/* Define enum __socket_type for Linux/Alpha.
+   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/>.  */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_STREAM = 1,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_DGRAM = 2,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_DCCP = 6,		/* Datagram Congestion Control Protocol.  */
+#define SOCK_DCCP SOCK_DCCP
+  SOCK_PACKET = 10,		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 010000000,	/* Atomically set close-on-exec flag for the
+				   new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 0x40000000	/* Atomically mark descriptor(s) as
+				   non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/stat.h
new file mode 100644
index 0000000000..83e78bc1f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/stat.h
@@ -0,0 +1,160 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_KERNEL	0
+#define _STAT_VER_GLIBC2	1
+#define _STAT_VER_GLIBC2_1	2
+#define _STAT_VER_KERNEL64	3
+#define _STAT_VER_GLIBC2_3_4	3
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	0
+
+
+/* Nanosecond resolution timestamps are stored in a format equivalent to
+   'struct timespec'.  This is the type used whenever possible but the
+   Unix namespace rules do not allow the identifier 'timespec' to appear
+   in the <sys/stat.h> header.  Therefore we have to handle the use of
+   this header in strictly standard-compliant sources special.
+
+   Use neat tidy anonymous unions and structures when possible.  */
+
+#ifdef __USE_XOPEN2K8
+# if __GNUC_PREREQ(3,3)
+#  define __ST_TIME(X)				\
+	__extension__ union {			\
+	    struct timespec st_##X##tim;	\
+	    struct {				\
+		__time_t st_##X##time;		\
+		unsigned long st_##X##timensec;	\
+	    };					\
+	}
+# else
+#  define __ST_TIME(X) struct timespec st_##X##tim
+#  define st_atime st_atim.tv_sec
+#  define st_mtime st_mtim.tv_sec
+#  define st_ctime st_ctim.tv_sec
+# endif
+#else
+# define __ST_TIME(X)				\
+	__time_t st_##X##time;			\
+	unsigned long st_##X##timensec
+#endif
+
+
+struct stat
+  {
+    __dev_t st_dev;		/* Device.  */
+#ifdef __USE_FILE_OFFSET64
+    __ino64_t st_ino;		/* File serial number.  */
+#else
+    __ino_t st_ino;		/* File serial number.	*/
+    int __pad0;			/* 64-bit st_ino.  */
+#endif
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+#ifdef __USE_FILE_OFFSET64
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+#else
+    __blkcnt_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    int __pad1;			/* 64-bit st_blocks.  */
+#endif
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    int __pad2;			/* Real padding.  */
+    __ST_TIME(a);		/* Time of last access.  */
+    __ST_TIME(m);		/* Time of last modification.  */
+    __ST_TIME(c);		/* Time of last status change.  */
+    long __glibc_reserved[3];
+  };
+
+#ifdef __USE_LARGEFILE64
+/* Note stat64 is the same shape as stat.  */
+struct stat64
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino64_t st_ino;		/* File serial number.  */
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    int __pad0;			/* Real padding.  */
+    __ST_TIME(a);		/* Time of last access.  */
+    __ST_TIME(m);		/* Time of last modification.  */
+    __ST_TIME(c);		/* Time of last status change.  */
+    long __glibc_reserved[3];
+  };
+#endif
+
+#undef __ST_TIME
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif /* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/statfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
new file mode 100644
index 0000000000..185e82bf5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
@@ -0,0 +1,68 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATFS_H
+# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
+#endif
+
+#include <bits/types.h>  /* for __fsid_t and __fsblkcnt_t.  */
+
+struct statfs
+  {
+    int f_type;
+    int f_bsize;
+#ifndef __USE_FILE_OFFSET64
+    __fsblkcnt_t f_blocks;
+    __fsblkcnt_t f_bfree;
+    __fsblkcnt_t f_bavail;
+    __fsfilcnt_t f_files;
+    __fsfilcnt_t f_ffree;
+#else
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+#endif
+    __fsid_t f_fsid;
+    int f_namelen;
+    int f_frsize;
+    int f_flags;
+    int f_spare[4];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct statfs64
+  {
+    int f_type;
+    int f_bsize;
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsid_t f_fsid;
+    int f_namelen;
+    int f_frsize;
+    int f_flags;
+    int f_spare[4];
+  };
+#endif
+
+/* Tell code we have this member.  */
+#define _STATFS_F_NAMELEN
+#define _STATFS_F_FRSIZE
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/termios.h
new file mode 100644
index 0000000000..19f717bba6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -0,0 +1,223 @@
+/* termios type and macro definitions.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 32
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[NCCS];		/* control characters */
+    cc_t c_line;		/* line discipline (== c_cc[33]) */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
+  };
+
+/* c_cc characters */
+#define VEOF 0
+#define VEOL 1
+#define VEOL2 2
+#define VERASE 3
+#define VWERASE 4
+#define VKILL 5
+#define VREPRINT 6
+#define VSWTC 7
+#define VINTR 8
+#define VQUIT 9
+#define VSUSP 10
+#define VSTART 12
+#define VSTOP 13
+#define VLNEXT 14
+#define VDISCARD 15
+#define VMIN 16
+#define VTIME 17
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IXON	0001000
+#define IXOFF	0002000
+#define IXANY	0004000
+#define IUCLC	0010000
+#define IMAXBEL	0020000
+#define IUTF8	0040000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	00001400
+# define   NL0	00000000
+# define   NL1	00000400
+# if defined __USE_MISC
+#  define   NL2	00001000
+#  define   NL3	00001400
+# endif
+# define TABDLY	00006000
+# define   TAB0	00000000
+# define   TAB1	00002000
+# define   TAB2	00004000
+# define   TAB3	00006000
+# define CRDLY	00030000
+# define   CR0	00000000
+# define   CR1	00010000
+# define   CR2	00020000
+# define   CR3	00030000
+# define FFDLY	00040000
+# define   FF0	00000000
+# define   FF1	00040000
+# define BSDLY	00100000
+# define   BS0	00000000
+# define   BS1	00100000
+#endif
+
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+
+#ifdef __USE_MISC
+# define XTABS	01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */
+#endif
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0000037
+#endif
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+# define CBAUDEX 0000000
+#endif
+#define  B57600   00020
+#define  B115200  00021
+#define  B230400  00022
+#define  B460800  00023
+#define  B500000  00024
+#define  B576000  00025
+#define  B921600  00026
+#define  B1000000 00027
+#define  B1152000 00030
+#define  B1500000 00031
+#define  B2000000 00032
+#define  B2500000 00033
+#define  B3000000 00034
+#define  B3500000 00035
+#define  B4000000 00036
+
+#define __MAX_BAUD B4000000
+
+#define CSIZE	00001400
+#define   CS5	00000000
+#define   CS6	00000400
+#define   CS7	00001000
+#define   CS8	00001400
+
+#define CSTOPB	00002000
+#define CREAD	00004000
+#define PARENB	00010000
+#define PARODD	00020000
+#define HUPCL	00040000
+
+#define CLOCAL	00100000
+#ifdef __USE_MISC
+# define CMSPAR	  010000000000		/* mark or space (stick) parity */
+# define CRTSCTS  020000000000		/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0x00000080
+#define ICANON	0x00000100
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0x00004000
+#endif
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000040
+# define ECHOPRT	0x00000020
+# define ECHOKE	0x00000001
+# define FLUSHO	0x00800000
+# define PENDIN	0x20000000
+#endif
+#define IEXTEN	0x00000400
+
+/* Values for the ACTION argument to `tcflow'.  */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+
+#define _IOT_termios /* Hurd ioctl type field.  */ \
+  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h
new file mode 100644
index 0000000000..5344b9f358
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
+#endif
+
+/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
+enum
+  {
+    TFD_CLOEXEC  = 010000000,
+#define TFD_CLOEXEC TFD_CLOEXEC
+    TFD_NONBLOCK = 000000004
+#define TFD_NONBLOCK TFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
new file mode 100644
index 0000000000..d7e170c9a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
@@ -0,0 +1,76 @@
+/* bits/typesizes.h -- underlying types for *_t.  Linux/Alpha version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef	_BITS_TYPESIZES_H
+#define	_BITS_TYPESIZES_H	1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+#define __DEV_T_TYPE		__U64_TYPE
+#define __UID_T_TYPE		__U32_TYPE
+#define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__U32_TYPE
+#define __INO64_T_TYPE		__U64_TYPE
+#define __MODE_T_TYPE		__U32_TYPE
+#define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
+#define __OFF64_T_TYPE		__S64_TYPE
+#define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
+#define __RLIM64_T_TYPE		__U64_TYPE
+#define	__BLKCNT_T_TYPE		__U32_TYPE
+#define	__BLKCNT64_T_TYPE	__U64_TYPE
+#define	__FSBLKCNT_T_TYPE	__S32_TYPE
+#define	__FSBLKCNT64_T_TYPE	__S64_TYPE
+#define	__FSFILCNT_T_TYPE	__U32_TYPE
+#define	__FSFILCNT64_T_TYPE	__U64_TYPE
+#define	__ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
+#define __USECONDS_T_TYPE	__U32_TYPE
+#define __SUSECONDS_T_TYPE	__S64_TYPE
+#define __DADDR_T_TYPE		__S32_TYPE
+#define __KEY_T_TYPE		__S32_TYPE
+#define __CLOCKID_T_TYPE	__S32_TYPE
+#define __TIMER_T_TYPE		void *
+#define __BLKSIZE_T_TYPE	__U32_TYPE
+#define __FSID_T_TYPE		struct { int __val[2]; }
+#define __SSIZE_T_TYPE		__SWORD_TYPE
+#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
+#define __FSWORD_T_TYPE		__S32_TYPE
+
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+#define __OFF_T_MATCHES_OFF64_T	1
+
+/* And for __rlim_t and __rlim64_t.  */
+#define __RLIM_T_MATCHES_RLIM64_T 1
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define	__FD_SETSIZE		1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
new file mode 100644
index 0000000000..76c5c47c28
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
@@ -0,0 +1,19 @@
+/* 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 __WORDSIZE	64
+#define __WORDSIZE_TIME64_COMPAT32	0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/brk.S
new file mode 100644
index 0000000000..ef55339a09
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/brk.S
@@ -0,0 +1,84 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Brendan Kehoe <brendan@zen.org>, 1993.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 3
+	.globl __curbrk
+__curbrk: .skip 8
+	.type __curbrk,@object
+	.size __curbrk,8
+#else
+.comm __curbrk, 8
+#endif
+
+	.text
+	.align	4
+	.globl	__brk
+	.ent	__brk
+	.usepv	__brk, std
+
+	cfi_startproc
+__brk:
+	ldgp	gp, 0(t12)
+	subq	sp, 16, sp
+	cfi_adjust_cfa_offset (16)
+#ifdef PROF
+	.set noat
+	lda	AT, _mcount
+	jsr	AT, (AT), _mcount
+	.set at
+#endif
+
+	/* Save the requested brk across the system call.  */
+	stq	a0, 0(sp)
+
+	ldiq	v0, __NR_brk
+	call_pal PAL_callsys
+
+	ldq	a0, 0(sp)
+	addq	sp, 16, sp
+	cfi_adjust_cfa_offset (-16)
+
+	/* Be prepared for an OSF-style brk.  */
+	bne	a3, SYSCALL_ERROR_LABEL
+	beq	v0, $ok
+
+	/* Correctly handle the brk(0) query case.  */
+	cmoveq	a0, v0, a0
+	xor	a0, v0, t0
+	lda	v0, ENOMEM
+	bne	t0, SYSCALL_ERROR_LABEL
+
+	/* Update __curbrk and return cleanly.  */
+	lda	v0, 0
+$ok:	stq	a0, __curbrk
+	ret
+
+PSEUDO_END(__brk)
+	cfi_endproc
+
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/c++-types.data
new file mode 100644
index 0000000000..f264ed84ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:m
+blkcnt_t:j
+blksize_t:j
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:m
+fd_mask:l
+fsblkcnt64_t:l
+fsblkcnt_t:i
+fsfilcnt64_t:m
+fsfilcnt_t:j
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:m
+ino_t:j
+int16_t:s
+int32_t:i
+int64_t:l
+int8_t:a
+intptr_t:l
+key_t:i
+loff_t:l
+mode_t:j
+nlink_t:j
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/clone.S
new file mode 100644
index 0000000000..20ae361c6b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/clone.S
@@ -0,0 +1,120 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson <rth@tamu.edu>, 1996.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM	0x00000100
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags,
+	     void *arg, pid_t *ptid, void *tls, pid_t *ctid);
+
+   Note that everything past ARG is technically optional, based
+   on FLAGS, and that CTID is arg 7, and thus is on the stack.
+   However, since a load from top-of-stack better be legal always,
+   we don't bother checking FLAGS.  */
+
+        .text
+	.align	4
+	.globl	__clone
+	.ent	__clone
+	.usepv	__clone, USEPV_PROF
+
+	cfi_startproc
+__clone:
+#ifdef PROF
+	ldgp	gp,0(pv)
+	lda	AT, _mcount
+	jsr	AT, (AT), _mcount
+#endif
+
+	/* Sanity check arguments.  */
+	ldiq	v0, EINVAL
+	beq	a0, SYSCALL_ERROR_LABEL	/* no NULL function pointers */
+	beq	a1, SYSCALL_ERROR_LABEL	/* no NULL stack pointers */
+
+	/* Save the fn ptr and arg on the new stack.  */
+	subq	a1, 32, a1
+	stq	a0, 0(a1)
+	stq	a3, 8(a1)
+	stq	a2, 16(a1)
+
+	/* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
+	   Shift the flags, ptid, ctid, tls arguments into place; the
+	   child_stack argument is already correct.  */
+	mov	a2, a0
+	mov	a4, a2
+	ldq	a3, 0(sp)
+	mov	a5, a4
+
+	/* Do the system call.  */
+	ldiq	v0, __NR_clone
+	call_pal PAL_callsys
+
+	bne	a3, SYSCALL_ERROR_LABEL
+	beq	v0, thread_start
+
+	/* Successful return from the parent.  */
+	ret
+
+PSEUDO_END(__clone)
+	cfi_endproc
+
+/* Load up the arguments to the function.  Put this block of code in
+   its own function so that we can terminate the stack trace with our
+   debug info.  */
+
+	.align	4
+	.ent thread_start
+	cfi_startproc
+thread_start:
+	mov	0, fp
+	cfi_def_cfa_register(fp)
+	cfi_undefined(ra)
+
+	/* Load up the arguments.  */
+	ldq	pv, 0(sp)
+	ldq	a0, 8(sp)
+	addq	sp, 32, sp
+
+	/* Call the user's function.  */
+	jsr	ra, (pv)
+	ldgp	gp, 0(ra)
+
+	/* Call _exit rather than doing it inline for breakpoint purposes.  */
+	mov	v0, a0
+#ifdef PIC
+	bsr	ra, HIDDEN_JUMPTARGET(_exit)	!samegp
+#else
+	jsr	ra, HIDDEN_JUMPTARGET(_exit)
+#endif
+
+	/* Die horribly.  */
+	.align	4
+	halt
+
+	.align	4
+	cfi_endproc
+	.end thread_start
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure
new file mode 100644
index 0000000000..9afb5874cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure
@@ -0,0 +1,5 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/alpha
+
+# We did historically export the unwinder from glibc.
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure.ac
new file mode 100644
index 0000000000..a8b6996657
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/configure.ac
@@ -0,0 +1,5 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/alpha
+
+# We did historically export the unwinder from glibc.
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
new file mode 100644
index 0000000000..4be51e9264
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
@@ -0,0 +1,35 @@
+/* Auxiliary vector processing for Linux/Alpha.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Scan the Aux Vector for the cache shape entries.  */
+
+extern long __libc_alpha_cache_shape[4];
+
+#define DL_PLATFORM_AUXV				\
+      case AT_L1I_CACHESHAPE:				\
+	__libc_alpha_cache_shape[0] = av->a_un.a_val;	\
+	break;						\
+      case AT_L1D_CACHESHAPE:				\
+	__libc_alpha_cache_shape[1] = av->a_un.a_val;	\
+	break;						\
+      case AT_L2_CACHESHAPE:				\
+	__libc_alpha_cache_shape[2] = av->a_un.a_val;	\
+	break;						\
+      case AT_L3_CACHESHAPE:				\
+	__libc_alpha_cache_shape[3] = av->a_un.a_val;	\
+	break;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-brk.S
new file mode 100644
index 0000000000..eeb96544e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c
new file mode 100644
index 0000000000..330b33f7c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c
@@ -0,0 +1 @@
+#include "fxstatat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-support.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-support.c
new file mode 100644
index 0000000000..290217671c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-support.c
@@ -0,0 +1,2 @@
+#include "dl-auxv.h"
+#include <elf/dl-support.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
new file mode 100644
index 0000000000..5d0867a100
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
@@ -0,0 +1,5 @@
+#include "dl-auxv.h"
+
+long __libc_alpha_cache_shape[4] = { -2, -2, -2, -2 };
+
+#include <sysdeps/unix/sysv/linux/dl-sysdep.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fpu/Implies
new file mode 100644
index 0000000000..d76f511c2e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fpu/Implies
@@ -0,0 +1,2 @@
+# Override ldbl-opt with alpha specific routines.
+alpha/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S
new file mode 100644
index 0000000000..0d5a1e88c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S
@@ -0,0 +1,58 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "kernel_sysinfo.h"
+
+
+	.text
+
+ENTRY(__feraiseexcept)
+	cfi_startproc
+	PSEUDO_PROLOGUE
+
+	lda	sp, -16(sp)
+	cfi_adjust_cfa_offset(16)
+
+	ldi	v0, __NR_osf_setsysinfo
+	stq	a0, 0(sp)
+	mov	sp, a1
+	ldi	a0, SSI_IEEE_RAISE_EXCEPTION
+	call_pal PAL_callsys
+
+	lda	sp, 16(sp)
+	cfi_adjust_cfa_offset(-16)
+
+	/* Here in libm we can't use SYSCALL_ERROR_LABEL.  Nor is it clear
+	   that we'd want to set errno anyway.  All we're required to do is
+	   return non-zero on error.  Which is exactly A3.  */
+	mov	a3, v0
+	ret
+
+END(__feraiseexcept)
+	cfi_endproc
+
+#if IS_IN (libm)
+# include <shlib-compat.h>
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
+strong_alias (__feraiseexcept, __old_feraiseexcept)
+compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
+# endif
+libm_hidden_def (__feraiseexcept)
+libm_hidden_ver (__feraiseexcept, feraiseexcept)
+versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatfs64.c
new file mode 100644
index 0000000000..5639959adb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatfs64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/fstatfs64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs.c
new file mode 100644
index 0000000000..92e772347b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/fstatvfs.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c
new file mode 100644
index 0000000000..0f1e71027a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/fstatvfs64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstat.c
new file mode 100644
index 0000000000..7f98c9b4ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstat.c
@@ -0,0 +1,58 @@
+/* fxstat using old-style Unix stat system call.
+   Copyright (C) 2004-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 __fxstat64 __fxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <xstatconv.h>
+
+#undef __fxstat64
+
+
+/* Get information about the file NAME in BUF.  */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int result;
+  struct kernel_stat kbuf;
+
+  if (vers == _STAT_VER_KERNEL64)
+    {
+      result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf);
+      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+	return result;
+      __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+      return -1;
+    }
+
+  result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf);
+  if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return __xstat_conv (vers, &kbuf, buf);
+  __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+  return -1;
+}
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+strong_alias (__fxstat, __fxstat64);
+hidden_ver (__fxstat, __fxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstatat.c
new file mode 100644
index 0000000000..98a23639da
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/fxstatat.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define __fxstatat64 __fxstatat64_disable
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <xstatconv.h>
+
+#undef __fxstatat64
+
+/* Get information about the file NAME in BUF.  */
+int
+__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int result, errno_out;
+
+  /* ??? The __fxstatat entry point is new enough that it must be using
+     vers == _STAT_VER_KERNEL64.  For the benefit of dl-fxstatat64.c, we
+     cannot actually check this, lest the compiler not optimize the rest
+     of the function away.  */
+
+  result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, st, flag);
+  if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return result;
+  errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
+  __set_errno (errno_out);
+  return -1;
+}
+libc_hidden_def (__fxstatat)
+strong_alias (__fxstatat, __fxstatat64);
+libc_hidden_ver(__fxstatat, __fxstatat64);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getclktck.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getclktck.c
new file mode 100644
index 0000000000..6636bbe689
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getclktck.c
@@ -0,0 +1,2 @@
+#define SYSTEM_CLK_TCK	1024
+#include <sysdeps/unix/sysv/linux/getclktck.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getcontext.S
new file mode 100644
index 0000000000..b1a1f532cc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getcontext.S
@@ -0,0 +1,187 @@
+/* Save current context.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <ucontext-offsets.h>
+
+/* ??? Should be a better place for this that's asm friendly.  */
+#define SIG_BLOCK     1
+
+
+ENTRY (__getcontext)
+#ifdef PROF
+	ldgp    gp, 0(pv)
+	.set noat
+	lda     AT, _mcount
+	jsr     AT, (AT), _mcount
+	.set at
+	.prologue 1
+#else
+	.prologue 0
+#endif
+
+	bsr	$0, __getcontext_x
+	mov	$31, $0
+	ret
+
+END(__getcontext)
+weak_alias (__getcontext, getcontext)
+
+
+/* An internal routine used by getcontext and setcontext.
+   The incomming return address register is $0.  */
+
+	.align	4
+	.globl	__getcontext_x
+	.hidden	__getcontext_x
+	.usepv	__getcontext_x, no
+
+	cfi_startproc
+	cfi_return_column (64)
+__getcontext_x:
+	cfi_register (64, 0)
+
+	.set noat
+
+	/* Return value of getcontext.  $0 is the only register
+	   whose value is not preserved. */
+	stq	$31, UC_SIGCTX+SC_REGS($16)
+
+	/* Store all registers into the context.  */
+	stq	$1, UC_SIGCTX+SC_REGS+1*8($16)
+	stq	$2, UC_SIGCTX+SC_REGS+2*8($16)
+	stq	$3, UC_SIGCTX+SC_REGS+3*8($16)
+	stq	$4, UC_SIGCTX+SC_REGS+4*8($16)
+	stq	$5, UC_SIGCTX+SC_REGS+5*8($16)
+	stq	$6, UC_SIGCTX+SC_REGS+6*8($16)
+	stq	$7, UC_SIGCTX+SC_REGS+7*8($16)
+	stq	$8, UC_SIGCTX+SC_REGS+8*8($16)
+	stq	$9, UC_SIGCTX+SC_REGS+9*8($16)
+	stq	$10, UC_SIGCTX+SC_REGS+10*8($16)
+	stq	$11, UC_SIGCTX+SC_REGS+11*8($16)
+	stq	$12, UC_SIGCTX+SC_REGS+12*8($16)
+	stq	$13, UC_SIGCTX+SC_REGS+13*8($16)
+	stq	$14, UC_SIGCTX+SC_REGS+14*8($16)
+	stq	$15, UC_SIGCTX+SC_REGS+15*8($16)
+	stq	$16, UC_SIGCTX+SC_REGS+16*8($16)
+	stq	$17, UC_SIGCTX+SC_REGS+17*8($16)
+	stq	$18, UC_SIGCTX+SC_REGS+18*8($16)
+	stq	$19, UC_SIGCTX+SC_REGS+19*8($16)
+	stq	$20, UC_SIGCTX+SC_REGS+20*8($16)
+	stq	$21, UC_SIGCTX+SC_REGS+21*8($16)
+	stq	$22, UC_SIGCTX+SC_REGS+22*8($16)
+	stq	$23, UC_SIGCTX+SC_REGS+23*8($16)
+	stq	$24, UC_SIGCTX+SC_REGS+24*8($16)
+	stq	$25, UC_SIGCTX+SC_REGS+25*8($16)
+	stq	$26, UC_SIGCTX+SC_REGS+26*8($16)
+	stq	$27, UC_SIGCTX+SC_REGS+27*8($16)
+	stq	$28, UC_SIGCTX+SC_REGS+28*8($16)
+	stq	$29, UC_SIGCTX+SC_REGS+29*8($16)
+	stq	$30, UC_SIGCTX+SC_REGS+30*8($16)
+	stq	$31, UC_SIGCTX+SC_REGS+31*8($16)
+
+	stt	$f0, UC_SIGCTX+SC_FPREGS+0*8($16)
+	stt	$f1, UC_SIGCTX+SC_FPREGS+1*8($16)
+	stt	$f2, UC_SIGCTX+SC_FPREGS+2*8($16)
+	stt	$f3, UC_SIGCTX+SC_FPREGS+3*8($16)
+	stt	$f4, UC_SIGCTX+SC_FPREGS+4*8($16)
+	stt	$f5, UC_SIGCTX+SC_FPREGS+5*8($16)
+	stt	$f6, UC_SIGCTX+SC_FPREGS+6*8($16)
+	stt	$f7, UC_SIGCTX+SC_FPREGS+7*8($16)
+	stt	$f8, UC_SIGCTX+SC_FPREGS+8*8($16)
+	stt	$f9, UC_SIGCTX+SC_FPREGS+9*8($16)
+	stt	$f10, UC_SIGCTX+SC_FPREGS+10*8($16)
+	stt	$f11, UC_SIGCTX+SC_FPREGS+11*8($16)
+	stt	$f12, UC_SIGCTX+SC_FPREGS+12*8($16)
+	stt	$f13, UC_SIGCTX+SC_FPREGS+13*8($16)
+	stt	$f14, UC_SIGCTX+SC_FPREGS+14*8($16)
+	stt	$f15, UC_SIGCTX+SC_FPREGS+15*8($16)
+	stt	$f16, UC_SIGCTX+SC_FPREGS+16*8($16)
+	stt	$f17, UC_SIGCTX+SC_FPREGS+17*8($16)
+	stt	$f18, UC_SIGCTX+SC_FPREGS+18*8($16)
+	stt	$f19, UC_SIGCTX+SC_FPREGS+19*8($16)
+	stt	$f20, UC_SIGCTX+SC_FPREGS+20*8($16)
+	stt	$f21, UC_SIGCTX+SC_FPREGS+21*8($16)
+	stt	$f22, UC_SIGCTX+SC_FPREGS+22*8($16)
+	stt	$f23, UC_SIGCTX+SC_FPREGS+23*8($16)
+	stt	$f24, UC_SIGCTX+SC_FPREGS+24*8($16)
+	stt	$f25, UC_SIGCTX+SC_FPREGS+25*8($16)
+	stt	$f26, UC_SIGCTX+SC_FPREGS+26*8($16)
+	stt	$f27, UC_SIGCTX+SC_FPREGS+27*8($16)
+	stt	$f28, UC_SIGCTX+SC_FPREGS+28*8($16)
+	stt	$f29, UC_SIGCTX+SC_FPREGS+29*8($16)
+	stt	$f30, UC_SIGCTX+SC_FPREGS+30*8($16)
+	stt	$f31, UC_SIGCTX+SC_FPREGS+31*8($16)
+
+	mf_fpcr $f0
+	lda	$1, 8
+	stt	$f0, UC_SIGCTX+SC_FPCR($16)
+
+	/* The return address of getcontext is the restart pc.  */
+	stq	$26, UC_SIGCTX+SC_PC($16)
+
+	/* Userlevel always has a processor status word of 8.  */
+	stq	$1, UC_SIGCTX+SC_PS($16)
+
+	/* Save registers around the syscall.  We preserve $17
+	   for the benefit of swapcontext.  */
+	subq	$30, 4*8, $30
+	cfi_adjust_cfa_offset(4*8)
+	stq	$0, 0($30)
+	cfi_rel_offset(64, 0)
+	stq	$16, 8($30)
+	stq	$17, 16($30)
+
+	/* Save the current signal mask.  Whee, there are three
+	   copies of this in the alpha ucontext_t.  */
+	lda	$16, SIG_BLOCK
+	lda	$17, 0
+	lda	$0, __NR_osf_sigprocmask
+	callsys
+
+	ldq	$16, 8($30)
+	ldq	$17, 16($30)
+
+	stq	$0, UC_OSF_SIGMASK($16)
+	stq	$0, UC_SIGCTX+SC_MASK($16)
+	stq	$0, UC_SIGMASK($16)
+	stq	$31, UC_SIGMASK + 1*8($16)
+	stq	$31, UC_SIGMASK + 2*8($16)
+	stq	$31, UC_SIGMASK + 3*8($16)
+	stq	$31, UC_SIGMASK + 4*8($16)
+	stq	$31, UC_SIGMASK + 5*8($16)
+	stq	$31, UC_SIGMASK + 6*8($16)
+	stq	$31, UC_SIGMASK + 7*8($16)
+	stq	$31, UC_SIGMASK + 8*8($16)
+	stq	$31, UC_SIGMASK + 9*8($16)
+	stq	$31, UC_SIGMASK +10*8($16)
+	stq	$31, UC_SIGMASK +11*8($16)
+	stq	$31, UC_SIGMASK +12*8($16)
+	stq	$31, UC_SIGMASK +13*8($16)
+	stq	$31, UC_SIGMASK +14*8($16)
+	stq	$31, UC_SIGMASK +15*8($16)
+
+	ldq	$0, 0($30)
+	addq	$30, 4*8, $30
+	cfi_register (64, 0)
+	cfi_adjust_cfa_offset(-4*8)
+	ret	$31, ($0), 1
+
+	cfi_endproc
+	.size	__getcontext_x, .-__getcontext_x
+	.type	__getcontext_x, @function
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents.c
new file mode 100644
index 0000000000..dfecfef924
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents.c
@@ -0,0 +1,3 @@
+#define DIRENT_SET_DP_INO(dp, value) \
+  do { (dp)->d_ino = (value); (dp)->__pad = 0; } while (0)
+#include <sysdeps/unix/sysv/linux/getdents.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents64.c
new file mode 100644
index 0000000000..50f1368b74
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/gethostname.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/gethostname.c
new file mode 100644
index 0000000000..a1b97ea6bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/gethostname.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2001
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+int
+__gethostname (char *name, size_t len)
+{
+  int result;
+
+  result = INLINE_SYSCALL (gethostname, 2, name, len);
+
+  if (result == 0
+      /* See whether the string is terminated.  If not we will return
+	 an error.  */
+      && memchr (name, '\0', len) == NULL)
+    {
+      __set_errno (EOVERFLOW);
+      result = -1;
+    }
+
+  return result;
+}
+
+weak_alias (__gethostname, gethostname)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getsysstats.c
new file mode 100644
index 0000000000..14dc2bb8ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/getsysstats.c
@@ -0,0 +1,57 @@
+/* Determine various system internal values, Linux/Alpha version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@suse.de>
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* We need to define a special parser for /proc/cpuinfo.  */
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)	   \
+  do									   \
+    {									   \
+      /* Find the line that contains the information about the number of   \
+	 active cpus.  We don't have to fear extremely long lines since	   \
+	 the kernel will not generate them.  8192 bytes are really enough. \
+	 If there is no "CPUs ..." line then we are on a UP system.  */	   \
+      char *l;								   \
+      (RESULT) = 1;							   \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)  \
+	if ((sscanf (BUFFER, "cpus active : %d", &(RESULT)) == 1)	   \
+	    || (sscanf (BUFFER, "CPUs probed %*d active %d",		   \
+			&(RESULT)) == 1))  				   \
+	  break;							   \
+    }									   \
+  while (0)
+
+
+/* On the Alpha we can distinguish between the number of configured and
+   active cpus.  */
+#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT)			   \
+  do									   \
+    {									   \
+      /* Find the line that contains the information about the number of   \
+	 probed cpus.  We don't have to fear extremely long lines since	   \
+	 the kernel will not generate them.  8192 bytes are really enough. \
+	 If there is no "CPUs ..." line then we are on a UP system.  */	   \
+      (RESULT) = 1;							   \
+      while (__fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL)   \
+	if ((sscanf (buffer, "cpus detected : %d", &(RESULT)) == 1)	   \
+	    || (sscanf (buffer, "CPUs probed %d", &(RESULT)) == 1))	   \
+	  break;							   \
+    }									   \
+  while (0)
+
+#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/glob.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/glob.c
new file mode 100644
index 0000000000..2d7d287a25
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/glob.c
@@ -0,0 +1,51 @@
+/* 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/>.  */
+
+#define glob64 __no_glob64_decl
+#define globfree64 __no_globfree64_decl
+
+#include <sys/types.h>
+#include <glob.h>
+#include <shlib-compat.h>
+
+/* For Linux/Alpha we have to make the glob symbols versioned.  */
+#define glob(pattern, flags, errfunc, pglob) \
+  __new_glob (pattern, flags, errfunc, pglob)
+#define globfree(pglob) \
+  __new_globfree (pglob)
+
+/* We need prototypes for these new names.  */
+extern int __new_glob (const char *__pattern, int __flags,
+		       int (*__errfunc) (const char *, int),
+		       glob_t *__pglob);
+extern void __new_globfree (glob_t *__pglob);
+
+#include <posix/glob.c>
+
+#undef glob
+#undef globfree
+#undef glob64
+#undef globfree64
+
+versioned_symbol (libc, __new_glob, glob, GLIBC_2_1);
+versioned_symbol (libc, __new_globfree, globfree, GLIBC_2_1);
+libc_hidden_ver (__new_glob, glob)
+libc_hidden_ver (__new_globfree, globfree)
+
+weak_alias (__new_glob, glob64)
+weak_alias (__new_globfree, globfree64)
+libc_hidden_ver (__new_globfree, globfree64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
new file mode 100644
index 0000000000..30e75e5140
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
@@ -0,0 +1,50 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "kernel_sysinfo.h"
+
+
+	.text
+
+ENTRY(__ieee_get_fp_control)
+	cfi_startproc
+	PSEUDO_PROLOGUE
+
+	lda	sp, -16(sp)
+	cfi_adjust_cfa_offset(16)
+
+	mov	sp, a1
+	ldi	a0, GSI_IEEE_FP_CONTROL
+	ldi	v0, __NR_osf_getsysinfo
+	call_pal PAL_callsys
+
+	ldq	t0, 0(sp)
+	lda	sp, 16(sp)
+	cfi_adjust_cfa_offset(-16)
+
+	bne	a3, SYSCALL_ERROR_LABEL
+
+	mov	t0, v0
+	ret
+
+PSEUDO_END(__ieee_get_fp_control)
+	cfi_endproc
+
+libc_hidden_def(__ieee_get_fp_control)
+weak_alias (__ieee_get_fp_control, ieee_get_fp_control)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
new file mode 100644
index 0000000000..c51350b83d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
@@ -0,0 +1,46 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "kernel_sysinfo.h"
+
+
+ENTRY(__ieee_set_fp_control)
+	cfi_startproc
+	PSEUDO_PROLOGUE
+
+	lda	sp, -16(sp)
+	cfi_adjust_cfa_offset(16)
+
+	ldi	v0, __NR_osf_setsysinfo
+	stq	a0, 0(sp)
+	mov	sp, a1
+	ldi	a0, SSI_IEEE_FP_CONTROL
+	call_pal PAL_callsys
+
+	lda	sp, 16(sp)
+	cfi_adjust_cfa_offset(-16)
+
+	bne	a3, SYSCALL_ERROR_LABEL
+	ret
+
+PSEUDO_END(__ieee_set_fp_control)
+	cfi_endproc
+
+libc_hidden_def(__ieee_set_fp_control)
+weak_alias (__ieee_set_fp_control, ieee_set_fp_control)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c
new file mode 100644
index 0000000000..81d18f7bb2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/internal_statvfs64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ioperm.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ioperm.c
new file mode 100644
index 0000000000..ccbef3bd28
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ioperm.c
@@ -0,0 +1,882 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* I/O access is restricted to ISA port space (ports 0..65535).
+   Modern devices hopefully are sane enough not to put any performance
+   critical registers in i/o space.
+
+   On the first call to ioperm, the entire (E)ISA port space is mapped
+   into the virtual address space at address io.base.  mprotect calls
+   are then used to enable/disable access to ports.  Per page, there
+   are PAGE_SIZE>>IO_SHIFT I/O ports (e.g., 256 ports on a Low Cost Alpha
+   based system using 8KB pages).
+
+   Keep in mind that this code should be able to run in a 32bit address
+   space.  It is therefore unreasonable to expect mmap'ing the entire
+   sparse address space would work (e.g., the Low Cost Alpha chip has an
+   I/O address space that's 512MB large!).  */
+
+/* Make sure the ldbu/stb asms below are not expaneded to macros.  */
+#ifndef __alpha_bwx__
+asm(".arch ev56");
+#endif
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <sys/io.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#define PATH_ALPHA_SYSTYPE	"/etc/alpha_systype"
+#define PATH_CPUINFO		"/proc/cpuinfo"
+
+#define MAX_PORT	0x10000
+#define vip		volatile int *
+#define vuip		volatile unsigned int *
+#define vusp		volatile unsigned short *
+#define vucp		volatile unsigned char *
+
+#define JENSEN_IO_BASE		(0x300000000UL)
+#define JENSEN_SPARSE_MEM	(0x200000000UL)
+
+/* With respect to the I/O architecture, APECS and LCA are identical,
+   so the following defines apply to LCA as well.  */
+#define APECS_IO_BASE		(0x1c0000000UL)
+#define APECS_SPARSE_MEM	(0x200000000UL)
+#define APECS_DENSE_MEM		(0x300000000UL)
+
+/* The same holds for CIA and PYXIS, except for PYXIS we prefer BWX.  */
+#define CIA_IO_BASE		(0x8580000000UL)
+#define CIA_SPARSE_MEM		(0x8000000000UL)
+#define CIA_DENSE_MEM		(0x8600000000UL)
+
+#define PYXIS_IO_BASE		(0x8900000000UL)
+#define PYXIS_DENSE_MEM		(0x8800000000UL)
+
+/* SABLE is EV4, GAMMA is EV5 */
+#define T2_IO_BASE		(0x3a0000000UL)
+#define T2_SPARSE_MEM		(0x200000000UL)
+#define T2_DENSE_MEM		(0x3c0000000UL)
+
+#define GAMMA_IO_BASE		(0x83a0000000UL)
+#define GAMMA_SPARSE_MEM	(0x8200000000UL)
+#define GAMMA_DENSE_MEM		(0x83c0000000UL)
+
+/* NOTE: these are hardwired to PCI bus 0 addresses!!! */
+#define MCPCIA_IO_BASE		(0xf980000000UL)
+#define MCPCIA_SPARSE_MEM	(0xf800000000UL)
+#define MCPCIA_DENSE_MEM	(0xf900000000UL)
+
+/* Tsunami and Irongate use the same offsets, at least for hose 0.  */
+#define TSUNAMI_IO_BASE		(0x801fc000000UL)
+#define TSUNAMI_DENSE_MEM	(0x80000000000UL)
+
+/* Polaris has SPARSE space, but we prefer to use only DENSE
+   because of some idiosyncracies in actually using SPARSE.  */
+#define POLARIS_IO_BASE		(0xf9fc000000UL)
+#define POLARIS_DENSE_MEM	(0xf900000000UL)
+
+typedef enum {
+  IOSYS_UNKNOWN, IOSYS_JENSEN, IOSYS_APECS, IOSYS_CIA, IOSYS_PYXIS, IOSYS_T2,
+  IOSYS_TSUNAMI, IOSYS_MCPCIA, IOSYS_GAMMA, IOSYS_POLARIS,
+  IOSYS_CPUDEP, IOSYS_PCIDEP
+} iosys_t;
+
+typedef enum {
+  IOSWIZZLE_JENSEN, IOSWIZZLE_SPARSE, IOSWIZZLE_DENSE
+} ioswizzle_t;
+
+static struct io_system {
+  unsigned long	int bus_memory_base;
+  unsigned long	int sparse_bus_mem_base;
+  unsigned long	int bus_io_base;
+} io_system[] = { /* NOTE! must match iosys_t enumeration */
+/* UNKNOWN */	{0, 0, 0},
+/* JENSEN */	{0, JENSEN_SPARSE_MEM, JENSEN_IO_BASE},
+/* APECS */	{APECS_DENSE_MEM, APECS_SPARSE_MEM, APECS_IO_BASE},
+/* CIA */	{CIA_DENSE_MEM, CIA_SPARSE_MEM, CIA_IO_BASE},
+/* PYXIS */	{PYXIS_DENSE_MEM, 0, PYXIS_IO_BASE},
+/* T2 */	{T2_DENSE_MEM, T2_SPARSE_MEM, T2_IO_BASE},
+/* TSUNAMI */	{TSUNAMI_DENSE_MEM, 0, TSUNAMI_IO_BASE},
+/* MCPCIA */	{MCPCIA_DENSE_MEM, MCPCIA_SPARSE_MEM, MCPCIA_IO_BASE},
+/* GAMMA */	{GAMMA_DENSE_MEM, GAMMA_SPARSE_MEM, GAMMA_IO_BASE},
+/* POLARIS */	{POLARIS_DENSE_MEM, 0, POLARIS_IO_BASE},
+/* CPUDEP */	{0, 0, 0}, /* for platforms dependent on CPU type */
+/* PCIDEP */	{0, 0, 0}, /* for platforms dependent on core logic */
+};
+
+static struct platform {
+  const char	   *name;
+  iosys_t	    io_sys;
+} platform[] = {
+  {"Alcor",	IOSYS_CIA},
+  {"Avanti",	IOSYS_APECS},
+  {"Cabriolet",	IOSYS_APECS},
+  {"EB164",	IOSYS_PCIDEP},
+  {"EB64+",	IOSYS_APECS},
+  {"EB66",	IOSYS_APECS},
+  {"EB66P",	IOSYS_APECS},
+  {"Jensen",	IOSYS_JENSEN},
+  {"Miata",	IOSYS_PYXIS},
+  {"Mikasa",	IOSYS_CPUDEP},
+  {"Nautilus",	IOSYS_TSUNAMI},
+  {"Noname",	IOSYS_APECS},
+  {"Noritake",	IOSYS_CPUDEP},
+  {"Rawhide",	IOSYS_MCPCIA},
+  {"Ruffian",	IOSYS_PYXIS},
+  {"Sable",	IOSYS_CPUDEP},
+  {"Takara",	IOSYS_CIA},
+  {"Tsunami",	IOSYS_TSUNAMI},
+  {"XL",	IOSYS_APECS},
+};
+
+struct ioswtch {
+  void		(*sethae)(unsigned long int addr);
+  void		(*outb)(unsigned char b, unsigned long int port);
+  void		(*outw)(unsigned short b, unsigned long int port);
+  void		(*outl)(unsigned int b, unsigned long int port);
+  unsigned int	(*inb)(unsigned long int port);
+  unsigned int	(*inw)(unsigned long int port);
+  unsigned int	(*inl)(unsigned long int port);
+};
+
+static struct {
+  unsigned long int hae_cache;
+  unsigned long int	base;
+  struct ioswtch *	swp;
+  unsigned long int	bus_memory_base;
+  unsigned long int	sparse_bus_memory_base;
+  unsigned long int	io_base;
+  ioswizzle_t		swiz;
+} io;
+
+static inline void
+stb_mb(unsigned char val, unsigned long addr)
+{
+  __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
+}
+
+static inline void
+stw_mb(unsigned short val, unsigned long addr)
+{
+  __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
+}
+
+static inline void
+stl_mb(unsigned int val, unsigned long addr)
+{
+  __asm__("stl %1,%0; mb" : "=m"(*(vip)addr) : "r"(val));
+}
+
+/* No need to examine error -- sethae never fails.  */
+static inline void
+__sethae(unsigned long value)
+{
+  register unsigned long r16 __asm__("$16") = value;
+  register unsigned long r0 __asm__("$0") = __NR_sethae;
+  __asm__ __volatile__ ("callsys"
+			: "=r"(r0)
+			: "0"(r0), "r" (r16)
+			: inline_syscall_clobbers, "$19");
+}
+
+extern long __pciconfig_iobase(enum __pciconfig_iobase_which __which,
+			       unsigned long int __bus,
+			       unsigned long int __dfn);
+
+static inline unsigned long int
+port_to_cpu_addr (unsigned long int port, ioswizzle_t ioswiz, int size)
+{
+  if (ioswiz == IOSWIZZLE_SPARSE)
+    return io.base + (port << 5) + ((size - 1) << 3);
+  else if (ioswiz == IOSWIZZLE_DENSE)
+    return port + io.base;
+  else
+    return io.base + (port << 7) + ((size - 1) << 5);
+}
+
+static inline __attribute__((always_inline)) void
+inline_sethae (unsigned long int addr, ioswizzle_t ioswiz)
+{
+  if (ioswiz == IOSWIZZLE_SPARSE)
+    {
+      unsigned long int msb;
+
+      /* no need to set hae if msb is 0: */
+      msb = addr & 0xf8000000;
+      if (msb && msb != io.hae_cache)
+	{
+	  io.hae_cache = msb;
+	  __sethae (msb);
+	}
+    }
+  else if (ioswiz == IOSWIZZLE_JENSEN)
+    {
+      /* HAE on the Jensen is bits 31:25 shifted right.  */
+      addr >>= 25;
+      if (addr != io.hae_cache)
+	{
+	  io.hae_cache = addr;
+	  __sethae (addr);
+	}
+    }
+}
+
+static inline void
+inline_outb (unsigned char b, unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned int w;
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 1);
+
+  asm ("insbl %2,%1,%0" : "=r" (w) : "ri" (port & 0x3), "r" (b));
+  stl_mb(w, addr);
+}
+
+
+static inline void
+inline_outw (unsigned short int b, unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned long w;
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 2);
+
+  asm ("inswl %2,%1,%0" : "=r" (w) : "ri" (port & 0x3), "r" (b));
+  stl_mb(w, addr);
+}
+
+
+static inline void
+inline_outl (unsigned int b, unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 4);
+
+  stl_mb(b, addr);
+}
+
+
+static inline unsigned int
+inline_inb (unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 1);
+  int result;
+
+  result = *(vip) addr;
+  result >>= (port & 3) * 8;
+  return 0xffUL & result;
+}
+
+
+static inline unsigned int
+inline_inw (unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 2);
+  int result;
+
+  result = *(vip) addr;
+  result >>= (port & 3) * 8;
+  return 0xffffUL & result;
+}
+
+
+static inline unsigned int
+inline_inl (unsigned long int port, ioswizzle_t ioswiz)
+{
+  unsigned long int addr = port_to_cpu_addr (port, ioswiz, 4);
+
+  return *(vuip) addr;
+}
+
+/*
+ * Now define the inline functions for CPUs supporting byte/word insns,
+ * and whose core logic supports I/O space accesses utilizing them.
+ *
+ * These routines could be used by MIATA, for example, because it has
+ * and EV56 plus PYXIS, but it currently uses SPARSE anyway. This is
+ * also true of RX164 which used POLARIS, but we will choose to use
+ * these routines in that case instead of SPARSE.
+ *
+ * These routines are necessary for TSUNAMI/TYPHOON based platforms,
+ * which will have (at least) EV6.
+ */
+
+static inline unsigned long int
+dense_port_to_cpu_addr (unsigned long int port)
+{
+  return port + io.base;
+}
+
+static inline void
+inline_bwx_outb (unsigned char b, unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+  stb_mb (b, addr);
+}
+
+static inline void
+inline_bwx_outw (unsigned short int b, unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+  stw_mb (b, addr);
+}
+
+static inline void
+inline_bwx_outl (unsigned int b, unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+  stl_mb (b, addr);
+}
+
+static inline unsigned int
+inline_bwx_inb (unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+  unsigned char r;
+
+  __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
+  return r;
+}
+
+static inline unsigned int
+inline_bwx_inw (unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+  unsigned short r;
+
+  __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
+  return r;
+}
+
+static inline unsigned int
+inline_bwx_inl (unsigned long int port)
+{
+  unsigned long int addr = dense_port_to_cpu_addr (port);
+
+  return *(vuip) addr;
+}
+
+/* macros to define routines with appropriate names and functions */
+
+/* these do either SPARSE or JENSEN swizzle */
+
+#define DCL_SETHAE(name, ioswiz)                        \
+static void                                             \
+name##_sethae (unsigned long int addr)                  \
+{                                                       \
+  inline_sethae (addr, IOSWIZZLE_##ioswiz);             \
+}
+
+#define DCL_OUT(name, func, type, ioswiz)		\
+static void						\
+name##_##func (unsigned type b, unsigned long int addr)	\
+{							\
+  inline_##func (b, addr, IOSWIZZLE_##ioswiz);		\
+}
+
+#define DCL_IN(name, func, ioswiz)			\
+static unsigned int					\
+name##_##func (unsigned long int addr)			\
+{							\
+  return inline_##func (addr, IOSWIZZLE_##ioswiz);	\
+}
+
+/* these do DENSE, so no swizzle is needed */
+
+#define DCL_OUT_BWX(name, func, type)			\
+static void						\
+name##_##func (unsigned type b, unsigned long int addr)	\
+{							\
+  inline_bwx_##func (b, addr);				\
+}
+
+#define DCL_IN_BWX(name, func)				\
+static unsigned int					\
+name##_##func (unsigned long int addr)			\
+{							\
+  return inline_bwx_##func (addr);			\
+}
+
+/* now declare/define the necessary routines */
+
+DCL_SETHAE(jensen, JENSEN)
+DCL_OUT(jensen, outb, char,  JENSEN)
+DCL_OUT(jensen, outw, short int, JENSEN)
+DCL_OUT(jensen, outl, int,   JENSEN)
+DCL_IN(jensen, inb, JENSEN)
+DCL_IN(jensen, inw, JENSEN)
+DCL_IN(jensen, inl, JENSEN)
+
+DCL_SETHAE(sparse, SPARSE)
+DCL_OUT(sparse, outb, char,  SPARSE)
+DCL_OUT(sparse, outw, short int, SPARSE)
+DCL_OUT(sparse, outl, int,   SPARSE)
+DCL_IN(sparse, inb, SPARSE)
+DCL_IN(sparse, inw, SPARSE)
+DCL_IN(sparse, inl, SPARSE)
+
+DCL_SETHAE(dense, DENSE)
+DCL_OUT_BWX(dense, outb, char)
+DCL_OUT_BWX(dense, outw, short int)
+DCL_OUT_BWX(dense, outl, int)
+DCL_IN_BWX(dense, inb)
+DCL_IN_BWX(dense, inw)
+DCL_IN_BWX(dense, inl)
+
+/* define the "swizzle" switch */
+static struct ioswtch ioswtch[] = {
+  {
+    jensen_sethae,
+    jensen_outb, jensen_outw, jensen_outl,
+    jensen_inb, jensen_inw, jensen_inl
+  },
+  {
+    sparse_sethae,
+    sparse_outb, sparse_outw, sparse_outl,
+    sparse_inb, sparse_inw, sparse_inl
+  },
+  {
+    dense_sethae,
+    dense_outb, dense_outw, dense_outl,
+    dense_inb, dense_inw, dense_inl
+  }
+};
+
+#undef DEBUG_IOPERM
+
+/* Routine to process the /proc/cpuinfo information into the fields
+   that are required for correctly determining the platform parameters.  */
+
+struct cpuinfo_data
+{
+  char systype[256];		/* system type field */
+  char sysvari[256];		/* system variation field */
+  char cpumodel[256];		/* cpu model field */
+};
+
+static inline int
+process_cpuinfo(struct cpuinfo_data *data)
+{
+  int got_type, got_vari, got_model;
+  char dummy[256];
+  FILE * fp;
+  int n;
+
+  data->systype[0] = 0;
+  data->sysvari[0] = 0;
+  data->cpumodel[0] = 0;
+
+  /* If there's an /etc/alpha_systype link, we're intending to override
+     whatever's in /proc/cpuinfo.  */
+  n = __readlink (PATH_ALPHA_SYSTYPE, data->systype, 256 - 1);
+  if (n > 0)
+    {
+      data->systype[n] = '\0';
+      return 1;
+    }
+
+  fp = fopen (PATH_CPUINFO, "rce");
+  if (!fp)
+    return 0;
+
+  got_type = got_vari = got_model = 0;
+
+  while (1)
+    {
+      if (fgets_unlocked (dummy, 256, fp) == NULL)
+	break;
+      if (!got_type &&
+	  sscanf (dummy, "system type : %256[^\n]\n", data->systype) == 1)
+	got_type = 1;
+      if (!got_vari &&
+	  sscanf (dummy, "system variation : %256[^\n]\n", data->sysvari) == 1)
+	got_vari = 1;
+      if (!got_model &&
+	  sscanf (dummy, "cpu model : %256[^\n]\n", data->cpumodel) == 1)
+	got_model = 1;
+    }
+
+  fclose (fp);
+
+#ifdef DEBUG_IOPERM
+  fprintf(stderr, "system type: `%s'\n", data->systype);
+  fprintf(stderr, "system vari: `%s'\n", data->sysvari);
+  fprintf(stderr, "cpu model: `%s'\n", data->cpumodel);
+#endif
+
+  return got_type + got_vari + got_model;
+}
+
+
+/*
+ * Initialize I/O system.
+ */
+static int
+init_iosys (void)
+{
+  long addr;
+  int i, olderrno = errno;
+  struct cpuinfo_data data;
+
+  /* First try the pciconfig_iobase syscall added to 2.2.15 and 2.3.99.  */
+
+#ifdef __NR_pciconfig_iobase
+  addr = __pciconfig_iobase (IOBASE_DENSE_MEM, 0, 0);
+  if (addr != -1)
+    {
+      ioswizzle_t io_swiz;
+
+      if (addr == 0)
+        {
+	  /* Only Jensen doesn't have dense mem space.  */
+	  io.sparse_bus_memory_base
+	    = io_system[IOSYS_JENSEN].sparse_bus_mem_base;
+	  io.io_base = io_system[IOSYS_JENSEN].bus_io_base;
+	  io_swiz = IOSWIZZLE_JENSEN;
+	}
+      else
+	{
+	  io.bus_memory_base = addr;
+
+	  addr = __pciconfig_iobase (IOBASE_DENSE_IO, 0, 0);
+	  if (addr != 0)
+	    {
+	      /* The X server uses _bus_base_sparse == 0 to know that
+		 BWX access are supported to dense mem space.  This is
+		 true of every system that supports dense io space, so
+	         never fill in io.sparse_bus_memory_base in this case.  */
+	      io_swiz = IOSWIZZLE_DENSE;
+              io.io_base = addr;
+	    }
+	  else
+	    {
+	      io.sparse_bus_memory_base
+		= __pciconfig_iobase (IOBASE_SPARSE_MEM, 0, 0);
+	      io.io_base = __pciconfig_iobase (IOBASE_SPARSE_IO, 0, 0);
+	      io_swiz = IOSWIZZLE_SPARSE;
+	    }
+	}
+
+      io.swiz = io_swiz;
+      io.swp = &ioswtch[io_swiz];
+
+      return 0;
+    }
+#endif
+
+  /* Second, collect the contents of /etc/alpha_systype or /proc/cpuinfo.  */
+
+  if (process_cpuinfo(&data) == 0)
+    {
+      /* This can happen if the format of /proc/cpuinfo changes.  */
+      fprintf (stderr,
+	       "ioperm.init_iosys: Unable to determine system type.\n"
+	       "\t(May need " PATH_ALPHA_SYSTYPE " symlink?)\n");
+      __set_errno (ENODEV);
+      return -1;
+    }
+
+  /* Translate systype name into i/o system.  */
+  for (i = 0; i < sizeof (platform) / sizeof (platform[0]); ++i)
+    {
+      if (strcmp (platform[i].name, data.systype) == 0)
+	{
+	  iosys_t io_sys = platform[i].io_sys;
+
+	  /* Some platforms can have either EV4 or EV5 CPUs.  */
+	  if (io_sys == IOSYS_CPUDEP)
+	    {
+	      /* SABLE or MIKASA or NORITAKE so far.  */
+	      if (strcmp (platform[i].name, "Sable") == 0)
+		{
+		  if (strncmp (data.cpumodel, "EV4", 3) == 0)
+		    io_sys = IOSYS_T2;
+		  else if (strncmp (data.cpumodel, "EV5", 3) == 0)
+		    io_sys = IOSYS_GAMMA;
+		}
+	      else
+		{
+		  /* This covers MIKASA/NORITAKE.  */
+		  if (strncmp (data.cpumodel, "EV4", 3) == 0)
+		    io_sys = IOSYS_APECS;
+		  else if (strncmp (data.cpumodel, "EV5", 3) == 0)
+		    io_sys = IOSYS_CIA;
+		}
+	      if (io_sys == IOSYS_CPUDEP)
+		{
+		  /* This can happen if the format of /proc/cpuinfo changes.*/
+		  fprintf (stderr, "ioperm.init_iosys: Unable to determine"
+			   " CPU model.\n");
+		  __set_errno (ENODEV);
+		  return -1;
+		}
+	    }
+	  /* Some platforms can have different core logic chipsets */
+	  if (io_sys == IOSYS_PCIDEP)
+	    {
+	      /* EB164 so far */
+	      if (strcmp (data.systype, "EB164") == 0)
+		{
+		  if (strncmp (data.sysvari, "RX164", 5) == 0)
+		    io_sys = IOSYS_POLARIS;
+		  else if (strncmp (data.sysvari, "LX164", 5) == 0
+			   || strncmp (data.sysvari, "SX164", 5) == 0)
+		    io_sys = IOSYS_PYXIS;
+		  else
+		    io_sys = IOSYS_CIA;
+		}
+	      if (io_sys == IOSYS_PCIDEP)
+		{
+		  /* This can happen if the format of /proc/cpuinfo changes.*/
+		  fprintf (stderr, "ioperm.init_iosys: Unable to determine"
+			   " core logic chipset.\n");
+		  __set_errno (ENODEV);
+		  return -1;
+		}
+	    }
+	  io.bus_memory_base = io_system[io_sys].bus_memory_base;
+	  io.sparse_bus_memory_base = io_system[io_sys].sparse_bus_mem_base;
+	  io.io_base = io_system[io_sys].bus_io_base;
+
+	  if (io_sys == IOSYS_JENSEN)
+	    io.swiz = IOSWIZZLE_JENSEN;
+	  else if (io_sys == IOSYS_TSUNAMI
+		   || io_sys == IOSYS_POLARIS
+		   || io_sys == IOSYS_PYXIS)
+	    io.swiz = IOSWIZZLE_DENSE;
+	  else
+	    io.swiz = IOSWIZZLE_SPARSE;
+	  io.swp = &ioswtch[io.swiz];
+
+	  __set_errno (olderrno);
+	  return 0;
+	}
+    }
+
+  __set_errno (ENODEV);
+  fprintf(stderr, "ioperm.init_iosys: Platform not recognized.\n"
+	  "\t(May need " PATH_ALPHA_SYSTYPE " symlink?)\n");
+  return -1;
+}
+
+
+int
+_ioperm (unsigned long int from, unsigned long int num, int turn_on)
+{
+  unsigned long int addr, len, pagesize = __getpagesize();
+  int prot;
+
+  if (!io.swp && init_iosys() < 0)
+    {
+#ifdef DEBUG_IOPERM
+      fprintf(stderr, "ioperm: init_iosys() failed (%m)\n");
+#endif
+      return -1;
+    }
+
+  /* This test isn't as silly as it may look like; consider overflows! */
+  if (from >= MAX_PORT || from + num > MAX_PORT)
+    {
+      __set_errno (EINVAL);
+#ifdef DEBUG_IOPERM
+      fprintf(stderr, "ioperm: from/num out of range\n");
+#endif
+      return -1;
+    }
+
+#ifdef DEBUG_IOPERM
+  fprintf(stderr, "ioperm: turn_on %d io.base %ld\n", turn_on, io.base);
+#endif
+
+  if (turn_on)
+    {
+      if (!io.base)
+	{
+	  int fd;
+
+	  io.hae_cache = 0;
+	  if (io.swiz != IOSWIZZLE_DENSE)
+	    {
+	      /* Synchronize with hw.  */
+	      __sethae (0);
+	    }
+
+	  fd = __open ("/dev/mem", O_RDWR);
+	  if (fd < 0)
+	    {
+#ifdef DEBUG_IOPERM
+	      fprintf(stderr, "ioperm: /dev/mem open failed (%m)\n");
+#endif
+	      return -1;
+	    }
+
+	  addr = port_to_cpu_addr (0, io.swiz, 1);
+	  len = port_to_cpu_addr (MAX_PORT, io.swiz, 1) - addr;
+	  io.base =
+	    (unsigned long int) __mmap (0, len, PROT_NONE, MAP_SHARED,
+					fd, io.io_base);
+	  __close (fd);
+#ifdef DEBUG_IOPERM
+	  fprintf(stderr, "ioperm: mmap of len 0x%lx  returned 0x%lx\n",
+		  len, io.base);
+#endif
+	  if ((long) io.base == -1)
+	    return -1;
+	}
+      prot = PROT_READ | PROT_WRITE;
+    }
+  else
+    {
+      if (!io.base)
+	return 0;	/* never was turned on... */
+
+      /* turnoff access to relevant pages: */
+      prot = PROT_NONE;
+    }
+  addr = port_to_cpu_addr (from, io.swiz, 1);
+  addr &= ~(pagesize - 1);
+  len = port_to_cpu_addr (from + num, io.swiz, 1) - addr;
+  return __mprotect ((void *) addr, len, prot);
+}
+
+
+int
+_iopl (int level)
+{
+  switch (level)
+    {
+    case 0:
+      return 0;
+
+    case 1: case 2: case 3:
+      return _ioperm (0, MAX_PORT, 1);
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+}
+
+
+void
+_sethae (unsigned long int addr)
+{
+  if (!io.swp && init_iosys () < 0)
+    return;
+
+  io.swp->sethae (addr);
+}
+
+
+void
+_outb (unsigned char b, unsigned long int port)
+{
+  if (port >= MAX_PORT)
+    return;
+
+  io.swp->outb (b, port);
+}
+
+
+void
+_outw (unsigned short b, unsigned long int port)
+{
+  if (port >= MAX_PORT)
+    return;
+
+  io.swp->outw (b, port);
+}
+
+
+void
+_outl (unsigned int b, unsigned long int port)
+{
+  if (port >= MAX_PORT)
+    return;
+
+  io.swp->outl (b, port);
+}
+
+
+unsigned int
+_inb (unsigned long int port)
+{
+  return io.swp->inb (port);
+}
+
+
+unsigned int
+_inw (unsigned long int port)
+{
+  return io.swp->inw (port);
+}
+
+
+unsigned int
+_inl (unsigned long int port)
+{
+  return io.swp->inl (port);
+}
+
+
+unsigned long int
+_bus_base(void)
+{
+  if (!io.swp && init_iosys () < 0)
+    return -1;
+  return io.bus_memory_base;
+}
+
+unsigned long int
+_bus_base_sparse(void)
+{
+  if (!io.swp && init_iosys () < 0)
+    return -1;
+  return io.sparse_bus_memory_base;
+}
+
+int
+_hae_shift(void)
+{
+  if (!io.swp && init_iosys () < 0)
+    return -1;
+  if (io.swiz == IOSWIZZLE_JENSEN)
+    return 7;
+  if (io.swiz == IOSWIZZLE_SPARSE)
+    return 5;
+  return 0;
+}
+
+weak_alias (_sethae, sethae);
+weak_alias (_ioperm, ioperm);
+weak_alias (_iopl, iopl);
+weak_alias (_inb, inb);
+weak_alias (_inw, inw);
+weak_alias (_inl, inl);
+weak_alias (_outb, outb);
+weak_alias (_outw, outw);
+weak_alias (_outl, outl);
+weak_alias (_bus_base, bus_base);
+weak_alias (_bus_base_sparse, bus_base_sparse);
+weak_alias (_hae_shift, hae_shift);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
new file mode 100644
index 0000000000..c8b946a38b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
@@ -0,0 +1,32 @@
+/* Old SysV permission definition for Linux.  Alpha 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	0x100
+
+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.  */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel-features.h
new file mode 100644
index 0000000000..53f7611f93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel-features.h
@@ -0,0 +1,38 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2010-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 _KERNEL_FEATURES_H
+#define _KERNEL_FEATURES_H 1
+
+#include_next <kernel-features.h>
+
+#undef __ASSUME_ST_INO_64_BIT
+#define __ASSUME_ST_INO_64_BIT 0
+
+/* There never has been support for fstat64.  */
+#undef __ASSUME_STATFS64
+#define __ASSUME_STATFS64 0
+
+/* Alpha defines SysV ipc shmat syscall with a different name.  */
+#define __NR_shmat __NR_osf_shmat
+
+#define __ASSUME_RECV_SYSCALL	1
+#define __ASSUME_SEND_SYSCALL	1
+
+#endif /* _KERNEL_FEATURES_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
new file mode 100644
index 0000000000..4c35d969cf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
@@ -0,0 +1,15 @@
+/* This is the sigaction struction from the Linux 2.1.20 kernel.  */
+
+struct old_kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_mask;
+	unsigned int sa_flags;
+};
+
+/* This is the sigaction structure from the Linux 2.1.68 kernel.  */
+
+struct kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned int sa_flags;
+	sigset_t sa_mask;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
new file mode 100644
index 0000000000..d637e099cf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
@@ -0,0 +1,89 @@
+/* Definition of `struct stat' used in the kernel.  */
+struct kernel_stat
+  {
+    unsigned int st_dev;
+    unsigned int st_ino;
+    unsigned int st_mode;
+    unsigned int st_nlink;
+    unsigned int st_uid;
+    unsigned int st_gid;
+    unsigned int st_rdev;
+    long int st_size;
+    unsigned long int st_atime;
+    unsigned long int st_mtime;
+    unsigned long int st_ctime;
+    unsigned int st_blksize;
+    int st_blocks;
+    unsigned int st_flags;
+    unsigned int st_gen;
+  };
+
+/* Definition of `struct stat64' used in the kernel.  */
+struct kernel_stat64
+  {
+    unsigned long   st_dev;
+    unsigned long   st_ino;
+    unsigned long   st_rdev;
+    long            st_size;
+    unsigned long   st_blocks;
+
+    unsigned int    st_mode;
+    unsigned int    st_uid;
+    unsigned int    st_gid;
+    unsigned int    st_blksize;
+    unsigned int    st_nlink;
+    unsigned int    __pad0;
+
+    unsigned long   st_atime;
+    unsigned long   st_atimensec;
+    unsigned long   st_mtime;
+    unsigned long   st_mtimensec;
+    unsigned long   st_ctime;
+    unsigned long   st_ctimensec;
+    long            __glibc_reserved[3];
+  };
+
+/* Definition of `struct stat' used by glibc 2.0.  */
+struct glibc2_stat
+  {
+    __dev_t st_dev;
+    __ino_t st_ino;
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    __off_t st_size;
+    __time_t st_atime;
+    __time_t st_mtime;
+    __time_t st_ctime;
+    unsigned int st_blksize;
+    int st_blocks;
+    unsigned int st_flags;
+    unsigned int st_gen;
+  };
+
+/* Definition of `struct stat' used by glibc 2.1.  */
+struct glibc21_stat
+  {
+    __dev_t st_dev;
+    __ino64_t st_ino;
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    __off_t st_size;
+    __time_t st_atime;
+    __time_t st_mtime;
+    __time_t st_ctime;
+    __blkcnt64_t st_blocks;
+    __blksize_t st_blksize;
+    unsigned int st_flags;
+    unsigned int st_gen;
+    int __pad3;
+    long __glibc_reserved[4];
+  };
+
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
new file mode 100644
index 0000000000..a3edec2269
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
@@ -0,0 +1,6 @@
+/* A copy of the couple of bits we need from <asm/sysinfo.h>.  */
+
+#define GSI_IEEE_FP_CONTROL		45
+
+#define SSI_IEEE_FP_CONTROL		14
+#define SSI_IEEE_RAISE_EXCEPTION	1001
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
new file mode 100644
index 0000000000..ad12622a57
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
@@ -0,0 +1,43 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+
+/* The following corresponds to the values from the Linux 2.1.20 kernel.  */
+
+/* We need the definition of tcflag_t, cc_t, and speed_t.  */
+#include <termios.h>
+
+#define __KERNEL_NCCS 19
+
+struct __kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[__KERNEL_NCCS];	/* control characters */
+    cc_t c_line;		/* line discipline */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+  };
+
+#define _HAVE_C_ISPEED 1
+#define _HAVE_C_OSPEED 1
+
+#endif /* kernel_termios.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ld.abilist
new file mode 100644
index 0000000000..ca34294610
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ld.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x28
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x8
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __stack_chk_guard D 0x8
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libc.abilist
new file mode 100644
index 0000000000..fab73317ca
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -0,0 +1,2503 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0xa8
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x8
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x98
+GLIBC_2.0 _IO_stdin_ D 0x98
+GLIBC_2.0 _IO_stdout_ D 0x98
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x8
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x8
+GLIBC_2.0 __ctype_b D 0x8
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x8
+GLIBC_2.0 __ctype_toupper D 0x8
+GLIBC_2.0 __curbrk D 0x8
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divl F
+GLIBC_2.0 __divlu F
+GLIBC_2.0 __divq F
+GLIBC_2.0 __divqu F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x8
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x8
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __ieee_get_fp_control F
+GLIBC_2.0 __ieee_set_fp_control F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x8
+GLIBC_2.0 __malloc_initialize_hook D 0x8
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x8
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x8
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x8
+GLIBC_2.0 __progname_full D 0x8
+GLIBC_2.0 __rcmd_errstr D 0x8
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x8
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __reml F
+GLIBC_2.0 __remlu F
+GLIBC_2.0 __remq F
+GLIBC_2.0 __remqu F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x8
+GLIBC_2.0 __tzname D 0x10
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _bus_base F
+GLIBC_2.0 _bus_base_sparse F
+GLIBC_2.0 _environ D 0x8
+GLIBC_2.0 _exit F
+GLIBC_2.0 _hae_shift F
+GLIBC_2.0 _inb F
+GLIBC_2.0 _inl F
+GLIBC_2.0 _inw F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x8
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0x18
+GLIBC_2.0 _obstack D 0x8
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _outb F
+GLIBC_2.0 _outl F
+GLIBC_2.0 _outw F
+GLIBC_2.0 _res D 0x238
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x418
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x100
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bus_base F
+GLIBC_2.0 bus_base_sparse F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x8
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x8
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x28
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hae_shift F
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 inb F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 inl F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 inw F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 ioperm F
+GLIBC_2.0 iopl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x8
+GLIBC_2.0 loc2 D 0x8
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x8
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x8
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 mcount F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x8
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x8
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 outb F
+GLIBC_2.0 outl F
+GLIBC_2.0 outw F
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pciconfig_read F
+GLIBC_2.0 pciconfig_write F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x8
+GLIBC_2.0 program_invocation_short_name D 0x8
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x8
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x20
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethae F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x8
+GLIBC_2.0 stdin D 0x8
+GLIBC_2.0 stdout D 0x8
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0x18
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x418
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x100
+GLIBC_2.0 sys_siglist D 0x100
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x8
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x10
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.1 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.1 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __adjtimex F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __gettimeofday F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.1 __key_gendes_LOCAL D 0x8
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __select F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x418
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x200
+GLIBC_2.1 addseverity F
+GLIBC_2.1 adjtime F
+GLIBC_2.1 adjtimex F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x8
+GLIBC_2.1 argp_program_version D 0x8
+GLIBC_2.1 argp_program_version_hook D 0x8
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getitimer F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getrusage F
+GLIBC_2.1 gettimeofday F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 ieee_get_fp_control F
+GLIBC_2.1 ieee_set_fp_control F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 select F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setitimer F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 settimeofday F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x418
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x200
+GLIBC_2.1 sys_siglist D 0x200
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utimes F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 wait4 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.1.4 GLIBC_2.1.4 A
+GLIBC_2.1.4 pciconfig_iobase 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 0x458
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x458
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 _sys_errlist D 0x460
+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 0x460
+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 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 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 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x8
+GLIBC_2.2 __ctype32_toupper D 0x8
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x48
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 semctl F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x8
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.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 0x420
+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 0x420
+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 _OtsAddX F
+GLIBC_2.3.4 _OtsConvertFloatTX F
+GLIBC_2.3.4 _OtsConvertFloatXT F
+GLIBC_2.3.4 _OtsCvtQUX F
+GLIBC_2.3.4 _OtsCvtQX F
+GLIBC_2.3.4 _OtsCvtXQ F
+GLIBC_2.3.4 _OtsDivX F
+GLIBC_2.3.4 _OtsEqlX F
+GLIBC_2.3.4 _OtsGeqX F
+GLIBC_2.3.4 _OtsGtrX F
+GLIBC_2.3.4 _OtsLeqX F
+GLIBC_2.3.4 _OtsLssX F
+GLIBC_2.3.4 _OtsMulX F
+GLIBC_2.3.4 _OtsNeqX F
+GLIBC_2.3.4 _OtsNintXQ F
+GLIBC_2.3.4 _OtsSubX F
+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 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l 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 0x450
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x450
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/alpha/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libm.abilist
new file mode 100644
index 0000000000..0dc44afd77
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -0,0 +1,622 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 __atan2 F
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __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.18 __sqrt_finite F
+GLIBC_2.18 __sqrtf_finite F
+GLIBC_2.18 __sqrtl_finite F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __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.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __c1_cabsf F
+GLIBC_2.3.4 __c1_cacosf F
+GLIBC_2.3.4 __c1_cacoshf F
+GLIBC_2.3.4 __c1_cargf F
+GLIBC_2.3.4 __c1_casinf F
+GLIBC_2.3.4 __c1_casinhf F
+GLIBC_2.3.4 __c1_catanf F
+GLIBC_2.3.4 __c1_catanhf F
+GLIBC_2.3.4 __c1_ccosf F
+GLIBC_2.3.4 __c1_ccoshf F
+GLIBC_2.3.4 __c1_cexpf F
+GLIBC_2.3.4 __c1_cimagf F
+GLIBC_2.3.4 __c1_clog10f F
+GLIBC_2.3.4 __c1_clogf F
+GLIBC_2.3.4 __c1_conjf F
+GLIBC_2.3.4 __c1_cpowf F
+GLIBC_2.3.4 __c1_cprojf F
+GLIBC_2.3.4 __c1_crealf F
+GLIBC_2.3.4 __c1_csinf F
+GLIBC_2.3.4 __c1_csinhf F
+GLIBC_2.3.4 __c1_csqrtf F
+GLIBC_2.3.4 __c1_ctanf F
+GLIBC_2.3.4 __c1_ctanhf F
+GLIBC_2.3.4 cabsf F
+GLIBC_2.3.4 cacosf F
+GLIBC_2.3.4 cacoshf F
+GLIBC_2.3.4 cargf F
+GLIBC_2.3.4 casinf F
+GLIBC_2.3.4 casinhf F
+GLIBC_2.3.4 catanf F
+GLIBC_2.3.4 catanhf F
+GLIBC_2.3.4 ccosf F
+GLIBC_2.3.4 ccoshf F
+GLIBC_2.3.4 cexpf F
+GLIBC_2.3.4 cimagf F
+GLIBC_2.3.4 clog10f F
+GLIBC_2.3.4 clogf F
+GLIBC_2.3.4 conjf F
+GLIBC_2.3.4 cpowf F
+GLIBC_2.3.4 cprojf F
+GLIBC_2.3.4 crealf F
+GLIBC_2.3.4 csinf F
+GLIBC_2.3.4 csinhf F
+GLIBC_2.3.4 csqrtf F
+GLIBC_2.3.4 ctanf F
+GLIBC_2.3.4 ctanhf F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
new file mode 100644
index 0000000000..7e121d45f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -0,0 +1,259 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_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/alpha/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
new file mode 100644
index 0000000000..2d92a35e81
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/librt.abilist
new file mode 100644
index 0000000000..8699f6ccc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/localplt.data
new file mode 100644
index 0000000000..1f0e3b494e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/localplt.data
@@ -0,0 +1,37 @@
+libc.so: _OtsAddX ?
+libc.so: _OtsConvertFloatTX ?
+libc.so: _OtsConvertFloatXT ?
+libc.so: _OtsCvtQUX ?
+libc.so: _OtsCvtQX ?
+libc.so: _OtsCvtXQ ?
+libc.so: _OtsDivX ?
+libc.so: _OtsEqlX ?
+libc.so: _OtsGeqX ?
+libc.so: _OtsGtrX ?
+libc.so: _OtsLeqX ?
+libc.so: _OtsLssX ?
+libc.so: _OtsMulX ?
+libc.so: _OtsNeqX ?
+libc.so: _OtsNintXQ ?
+libc.so: _OtsSubX ?
+libc.so: _Unwind_Find_FDE
+libc.so: calloc + RELA R_ALPHA_GLOB_DAT
+libc.so: free + RELA R_ALPHA_GLOB_DAT
+libc.so: malloc + RELA R_ALPHA_GLOB_DAT
+libc.so: memalign + RELA R_ALPHA_GLOB_DAT
+libc.so: realloc + RELA R_ALPHA_GLOB_DAT
+libm.so: matherr + RELA R_ALPHA_GLOB_DAT
+# We used to offer inline functions that used this, so it must be exported.
+# Ought to reorg things such that carg isn't thus forced to use a plt.
+libm.so: __atan2
+# The dynamic loader needs __tls_get_addr for TLS.
+ld.so: __tls_get_addr ?
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc + RELA R_ALPHA_GLOB_DAT
+ld.so: calloc + RELA R_ALPHA_GLOB_DAT
+ld.so: realloc + RELA R_ALPHA_GLOB_DAT
+ld.so: free + RELA R_ALPHA_GLOB_DAT
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error + RELA R_ALPHA_GLOB_DAT
+ld.so: _dl_catch_error + RELA R_ALPHA_GLOB_DAT
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/lxstat.c
new file mode 100644
index 0000000000..8e49754f4c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/lxstat.c
@@ -0,0 +1,58 @@
+/* lxstat using old-style Unix stat system call.
+   Copyright (C) 2004-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 __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <xstatconv.h>
+
+#undef __lxstat64
+
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int result;
+  struct kernel_stat kbuf;
+
+  if (vers == _STAT_VER_KERNEL64)
+    {
+      result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf);
+      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+	return result;
+      __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+      return -1;
+    }
+
+  result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf);
+  if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return __xstat_conv (vers, &kbuf, buf);
+  __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+  return -1;
+}
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/makecontext.S
new file mode 100644
index 0000000000..b9529bd207
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/makecontext.S
@@ -0,0 +1,163 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <ucontext-offsets.h>
+
+
+ENTRY(__makecontext)
+	ldgp	$29, 0($27)
+#ifdef PROF
+	.set noat
+	lda     AT, _mcount
+	jsr     AT, (AT), _mcount
+	.set at
+#endif
+	.prologue 1
+
+	/* Compute top of stack, including arguments.  */
+	ldq	$1, UC_STACK+SS_SP($16)
+	ldq	$2, UC_STACK+SS_SIZE($16)
+	addq	$1, $2, $8
+	subq	$18, 6, $1
+	cmovlt	$1, 0, $1
+	s8addq	$1, 0, $2
+	subq	$8, $2, $8
+
+	/* Copy all parameters.  Switch statement header here.  */
+	ldah	$3, $jumptable($29)	!gprelhigh
+	cmple	$18, 6, $1
+	mov	$18, $2
+	cmoveq	$1, 7, $2
+	s4addq	$2, $3, $3
+	ldl	$4, $jumptable($3)	!gprellow
+	addq	$4, $29, $4
+	jmp	$31, ($4), $args1
+
+	.section .rodata
+	.align	2
+$jumptable:
+	.gprel32  $args0
+	.gprel32  $args1
+	.gprel32  $args2
+	.gprel32  $args3
+	.gprel32  $args4
+	.gprel32  $args5
+	.gprel32  $args6
+	.gprel32  $argsN
+	.text
+
+	/* Here we process arguments 7 through N.  This is a straight
+	   stack-to-stack copy.  */
+	.align	4
+$argsN:
+	subq	$18, 6, $1
+	lda	$2, 0($8)
+	lda	$3, 3*8($30)
+	.align	4
+1:
+	ldq	$0, 0($3)
+	subq	$1, 1, $1
+	lda	$3, 8($3)
+	stq	$0, 0($2)
+	lda	$2, 8($2)
+	bne	$1, 1b
+
+	/* Here we process arguments 6 through 0.  This involves
+	   copying into the register save areas of the ucontext.  */
+	.align	4
+$args6:
+	ldq	$0, 2*8($30)
+	stq	$0, UC_SIGCTX+SC_REGS+21*8($16)
+	unop
+	stq	$0, UC_SIGCTX+SC_FPREGS+21*8($16)
+$args5:
+	ldq	$0, 1*8($30)
+	stq	$0, UC_SIGCTX+SC_REGS+20*8($16)
+	unop
+	stq	$0, UC_SIGCTX+SC_FPREGS+20*8($16)
+$args4:
+	ldq	$0, 0*8($30)
+	stq	$0, UC_SIGCTX+SC_REGS+19*8($16)
+	unop
+	stq	$0, UC_SIGCTX+SC_FPREGS+19*8($16)
+$args3:
+	unop
+	stq	$21, UC_SIGCTX+SC_REGS+18*8($16)
+	unop
+	stt	$f21, UC_SIGCTX+SC_FPREGS+18*8($16)
+$args2:
+	unop
+	stq	$20, UC_SIGCTX+SC_REGS+17*8($16)
+	unop
+	stt	$f20, UC_SIGCTX+SC_FPREGS+17*8($16)
+$args1:
+	unop
+	stq	$19, UC_SIGCTX+SC_REGS+16*8($16)
+	unop
+	stt	$f19, UC_SIGCTX+SC_FPREGS+16*8($16)
+$args0:
+
+	/* Set up the registers ready to invoke __startcontext.
+	   We seed $27 with the target function address, and $9
+	   with the link from ucp.  */
+	ldah	$0, __startcontext($29)		!gprelhigh
+	ldq	$1, UC_LINK($16)
+	lda	$0, __startcontext($0)		!gprellow
+	stq	$17, UC_SIGCTX+SC_REGS+27*8($16)
+	stq	$8, UC_SIGCTX+SC_REGS+30*8($16)
+	stq	$0, UC_SIGCTX+SC_PC($16)
+	stq	$1, UC_SIGCTX+SC_REGS+9*8($16)
+
+	/* No return value from makecontext.  */
+	ret
+
+END(__makecontext)
+weak_alias (__makecontext, makecontext)
+
+/* This function is where a new makecontext "thread" begins life.
+   We have already set up $27 for calling the target function, and
+   we've set $9 to the UC_LINK of the parent context.
+
+   If the function returns, we either jump to the linked context
+   (if non-null) or exit.  */
+
+	.align	4
+	.ent	__startcontext
+__startcontext:
+	.frame $31, 0, $31, 0
+	.prologue 0
+
+	jsr	$26, ($27), 0
+	ldgp	$29, 0($26)
+	mov	$9, $16
+	beq	$9, 1f
+
+#ifdef PIC
+	bsr	$26, __setcontext		!samegp
+1:	mov	$31, $16
+	bsr	$26, HIDDEN_JUMPTARGET(exit)	!samegp
+#else
+	jsr	$26, __setcontext
+	ldgp	$29, 0($26)
+1:	mov	$31, $16
+	jsr	$26, HIDDEN_JUMPTARGET(exit)
+#endif
+
+	halt
+
+	.end __startcontext
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
new file mode 100644
index 0000000000..bd985cc59c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
@@ -0,0 +1,8 @@
+/* ABI version for long double switch.
+   This is used by the Versions and math_ldbl_opt.h files in
+   sysdeps/ieee754/ldbl-opt/.  It gives the ABI version where
+   long double == double was replaced with proper long double
+   for libm *l functions and libc functions using long double.  */
+
+#define NLDBL_VERSION			GLIBC_2.4
+#define LONG_DOUBLE_COMPAT_VERSION	GLIBC_2_4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/oldglob.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/oldglob.c
new file mode 100644
index 0000000000..edd6d47ba9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/oldglob.c
@@ -0,0 +1,99 @@
+/* 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/>.  */
+
+/* This file contains only wrappers around the real glob functions.  It
+   became necessary since the glob_t structure changed.  */
+#include <sys/types.h>
+#include <glob.h>
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
+
+/* This is the old structure.  The difference is that the gl_pathc and
+   gl_offs elements have type `int'.  */
+typedef struct
+  {
+    int gl_pathc;		/* Count of paths matched by the pattern.  */
+    char **gl_pathv;		/* List of matched pathnames.  */
+    int gl_offs;		/* Slots to reserve in `gl_pathv'.  */
+    int gl_flags;		/* Set to FLAGS, maybe | GLOB_MAGCHAR.  */
+
+    /* If the GLOB_ALTDIRFUNC flag is set, the following functions
+       are used instead of the normal file access functions.  */
+    void (*gl_closedir) (void *);
+    struct dirent *(*gl_readdir) (void *);
+    __ptr_t (*gl_opendir) (const char *);
+    int (*gl_lstat) (const char *, struct stat *);
+    int (*gl_stat) (const char *, struct stat *);
+  } old_glob_t;
+
+
+int
+attribute_compat_text_section
+__old_glob (const char *pattern, int flags,
+	    int (*errfunc) (const char *, int),
+	    old_glob_t *pglob)
+{
+  glob_t correct;
+  int result;
+
+  /* Construct an object of correct type.  */
+  correct.gl_pathc = pglob->gl_pathc;
+  correct.gl_pathv = pglob->gl_pathv;
+  correct.gl_offs = pglob->gl_offs;
+  correct.gl_flags = pglob->gl_flags;
+  correct.gl_closedir = pglob->gl_closedir;
+  correct.gl_readdir = pglob->gl_readdir;
+  correct.gl_opendir = pglob->gl_opendir;
+  correct.gl_lstat = pglob->gl_lstat;
+  correct.gl_stat = pglob->gl_stat;
+
+  result = glob (pattern, flags, errfunc, &correct);
+
+  /* And convert it back.  */
+  pglob->gl_pathc = correct.gl_pathc;
+  pglob->gl_pathv = correct.gl_pathv;
+  pglob->gl_offs = correct.gl_offs;
+  pglob->gl_flags = correct.gl_flags;
+  pglob->gl_closedir = correct.gl_closedir;
+  pglob->gl_readdir = correct.gl_readdir;
+  pglob->gl_opendir = correct.gl_opendir;
+  pglob->gl_lstat = correct.gl_lstat;
+  pglob->gl_stat = correct.gl_stat;
+
+  return result;
+}
+compat_symbol (libc, __old_glob, glob, GLIBC_2_0);
+
+
+/* Free storage allocated in PGLOB by a previous `glob' call.  */
+void
+attribute_compat_text_section
+__old_globfree (old_glob_t *pglob)
+{
+  glob_t correct;
+
+  /* We only need these two symbols.  */
+  correct.gl_pathc = pglob->gl_pathc;
+  correct.gl_pathv = pglob->gl_pathv;
+  correct.gl_offs = pglob->gl_offs;
+
+  globfree (&correct);
+}
+compat_symbol (libc, __old_globfree, globfree, GLIBC_2_0);
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pipe.S
new file mode 100644
index 0000000000..1e7ec1c199
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pipe.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/alpha/pipe.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
new file mode 100644
index 0000000000..a2cfe5f4c3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
@@ -0,0 +1,43 @@
+/* vfork ABI-compatibility entry points for libpthread.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.  */
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+     || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+#include <vfork.S>
+
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+compat_symbol (libpthread, __libc_vfork, vfork, GLIBC_2_0);
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (__libc_vfork, __vfork_compat)
+compat_symbol (libpthread, __vfork_compat, __vfork, GLIBC_2_1_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/register-dump.h
new file mode 100644
index 0000000000..b9d277ce3e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/register-dump.h
@@ -0,0 +1,156 @@
+/* Dump registers.
+   Copyright (C) 2004-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 <stddef.h>
+#include <string.h>
+
+/* We will print the register dump in this format:
+
+    V0: XXXXXXXXXXXXXXXX    T0: XXXXXXXXXXXXXXXX    T1: XXXXXXXXXXXXXXXX
+    T2: XXXXXXXXXXXXXXXX    T3: XXXXXXXXXXXXXXXX    T4: XXXXXXXXXXXXXXXX
+    T5: XXXXXXXXXXXXXXXX    T6: XXXXXXXXXXXXXXXX    T7: XXXXXXXXXXXXXXXX
+    S0: XXXXXXXXXXXXXXXX    S1: XXXXXXXXXXXXXXXX    S2: XXXXXXXXXXXXXXXX
+    S3: XXXXXXXXXXXXXXXX    S4: XXXXXXXXXXXXXXXX    S5: XXXXXXXXXXXXXXXX
+    S6: XXXXXXXXXXXXXXXX    A0: XXXXXXXXXXXXXXXX    A1: XXXXXXXXXXXXXXXX
+    A2: XXXXXXXXXXXXXXXX    A3: XXXXXXXXXXXXXXXX    A4: XXXXXXXXXXXXXXXX
+    A5: XXXXXXXXXXXXXXXX    T8: XXXXXXXXXXXXXXXX    T9: XXXXXXXXXXXXXXXX
+   T10: XXXXXXXXXXXXXXXX   T11: XXXXXXXXXXXXXXXX    RA: XXXXXXXXXXXXXXXX
+   T12: XXXXXXXXXXXXXXXX    AT: XXXXXXXXXXXXXXXX    GP: XXXXXXXXXXXXXXXX
+    SP: XXXXXXXXXXXXXXXX    PC: XXXXXXXXXXXXXXXX
+
+   FP0: XXXXXXXXXXXXXXXX   FP1: XXXXXXXXXXXXXXXX   FP2: XXXXXXXXXXXXXXXX
+   FP3: XXXXXXXXXXXXXXXX   FP4: XXXXXXXXXXXXXXXX   FP5: XXXXXXXXXXXXXXXX
+   FP6: XXXXXXXXXXXXXXXX   FP7: XXXXXXXXXXXXXXXX   FP8: XXXXXXXXXXXXXXXX
+   FP9: XXXXXXXXXXXXXXXX  FP10: XXXXXXXXXXXXXXXX  FP11: XXXXXXXXXXXXXXXX
+  FP12: XXXXXXXXXXXXXXXX  FP13: XXXXXXXXXXXXXXXX  FP14: XXXXXXXXXXXXXXXX
+  FP15: XXXXXXXXXXXXXXXX  FP16: XXXXXXXXXXXXXXXX  FP17: XXXXXXXXXXXXXXXX
+  FP18: XXXXXXXXXXXXXXXX  FP19: XXXXXXXXXXXXXXXX  FP20: XXXXXXXXXXXXXXXX
+  FP21: XXXXXXXXXXXXXXXX  FP22: XXXXXXXXXXXXXXXX  FP23: XXXXXXXXXXXXXXXX
+  FP24: XXXXXXXXXXXXXXXX  FP25: XXXXXXXXXXXXXXXX  FP26: XXXXXXXXXXXXXXXX
+  FP27: XXXXXXXXXXXXXXXX  FP28: XXXXXXXXXXXXXXXX  FP29: XXXXXXXXXXXXXXXX
+  FP30: XXXXXXXXXXXXXXXX  FPCR: XXXXXXXXXXXXXXXX
+
+   TA0: XXXXXXXXXXXXXXXX   TA1: XXXXXXXXXXXXXXXX   TA2: XXXXXXXXXXXXXXXX
+*/
+
+#define NREGS (32+32+3)
+
+static const char __attribute__((aligned(8))) regnames[NREGS][8] =
+{
+  "    V0: ", "    T0: ", "    T1: ",
+  "    T2: ", "    T3: ", "    T4: ",
+  "    T5: ", "    T6: ", "    T7: ",
+  "    S0: ", "    S1: ", "    S2: ",
+  "    S3: ", "    S4: ", "    S5: ",
+  "    S6: ", "    A0: ", "    A1: ",
+  "    A2: ", "    A3: ", "    A4: ",
+  "    A5: ", "    T8: ", "    T9: ",
+  "   T10: ", "   T11: ", "    RA: ",
+  "   T12: ", "    AT: ", "    GP: ",
+  "    SP: ", "    PC: ",
+
+  "   FP0: ", "   FP1: ", "   FP2: ",
+  "   FP3: ", "   FP4: ", "   FP5: ",
+  "   FP6: ", "   FP7: ", "   FP8: ",
+  "   FP9: ", "  FP10: ", "  FP11: ",
+  "  FP12: ", "  FP13: ", "  FP14: ",
+  "  FP15: ", "  FP16: ", "  FP17: ",
+  "  FP18: ", "  FP19: ", "  FP20: ",
+  "  FP21: ", "  FP22: ", "  FP23: ",
+  "  FP24: ", "  FP25: ", "  FP26: ",
+  "  FP27: ", "  FP28: ", "  FP29: ",
+  "  FP30: ", "  FPCR: ",
+
+  "   TA0: ", "   TA1: ", "   TA2: "
+};
+
+#define O(FIELD, LF)  offsetof(struct sigcontext, FIELD) + LF
+
+static const int offsets[NREGS] =
+{
+  O(sc_regs[0], 0),  O(sc_regs[1], 0),  O(sc_regs[2], 1),
+  O(sc_regs[3], 0),  O(sc_regs[4], 0),  O(sc_regs[5], 1),
+  O(sc_regs[6], 0),  O(sc_regs[7], 0),  O(sc_regs[8], 1),
+  O(sc_regs[9], 0),  O(sc_regs[10], 0), O(sc_regs[11], 1),
+  O(sc_regs[12], 0), O(sc_regs[13], 0), O(sc_regs[14], 1),
+  O(sc_regs[15], 0), O(sc_regs[16], 0), O(sc_regs[17], 1),
+  O(sc_regs[18], 0), O(sc_regs[19], 0), O(sc_regs[20], 1),
+  O(sc_regs[21], 0), O(sc_regs[22], 0), O(sc_regs[23], 1),
+  O(sc_regs[24], 0), O(sc_regs[25], 0), O(sc_regs[26], 1),
+  O(sc_regs[27], 0), O(sc_regs[28], 0), O(sc_regs[29], 1),
+  O(sc_regs[30], 0), O(sc_pc, 2),
+
+  O(sc_fpregs[0], 0),  O(sc_fpregs[1], 0),  O(sc_fpregs[2], 1),
+  O(sc_fpregs[3], 0),  O(sc_fpregs[4], 0),  O(sc_fpregs[5], 1),
+  O(sc_fpregs[6], 0),  O(sc_fpregs[7], 0),  O(sc_fpregs[8], 1),
+  O(sc_fpregs[9], 0),  O(sc_fpregs[10], 0), O(sc_fpregs[11], 1),
+  O(sc_fpregs[12], 0), O(sc_fpregs[13], 0), O(sc_fpregs[14], 1),
+  O(sc_fpregs[15], 0), O(sc_fpregs[16], 0), O(sc_fpregs[17], 1),
+  O(sc_fpregs[18], 0), O(sc_fpregs[19], 0), O(sc_fpregs[20], 1),
+  O(sc_fpregs[21], 0), O(sc_fpregs[22], 0), O(sc_fpregs[23], 1),
+  O(sc_fpregs[24], 0), O(sc_fpregs[25], 0), O(sc_fpregs[26], 1),
+  O(sc_fpregs[27], 0), O(sc_fpregs[28], 0), O(sc_fpregs[29], 1),
+  O(sc_fpregs[30], 0), O(sc_fpcr, 2),
+
+  O(sc_traparg_a0, 0),  O(sc_traparg_a1, 0),  O(sc_traparg_a2, 1)
+};
+
+#undef O
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char buf[NREGS*(8+16) + 25 + 80];
+  char *p = buf;
+  size_t i;
+
+  p = stpcpy (p, "Register dump:\n\n");
+
+  for (i = 0; i < NREGS; ++i)
+    {
+      int this_offset, this_lf;
+      unsigned long val;
+      signed long j;
+
+      this_offset = offsets[i];
+      this_lf = this_offset & 7;
+
+      val = *(unsigned long *)(((size_t)ctx + this_offset) & -8);
+
+      memcpy (p, regnames[i], 8);
+      p += 8;
+
+      for (j = 60; j >= 0; j -= 4)
+	{
+	  unsigned long x = (val >> j) & 15;
+	  x += x < 10 ? '0' : 'a' - 10;
+	  *p++ = x;
+	}
+
+      if (this_lf > 0)
+	{
+	  if (this_lf > 1)
+	    *p++ = '\n';
+	  *p++ = '\n';
+	}
+    }
+
+  write (fd, buf, p - buf);
+}
+
+#define REGISTER_DUMP register_dump (fd, ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
new file mode 100644
index 0000000000..45493484c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
@@ -0,0 +1,120 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson <rth@cygnus.com>, 1998
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* On Alpha we desparately want to avoid having to issue an imb.  Ordinarily
+   the kernel would have to issue one after setting up the signal return
+   stack, but the Linux rt_sigaction syscall is prepared to accept a pointer
+   to the sigreturn syscall, instead of inlining it on the stack.
+
+   This just about halves signal delivery time.  */
+
+	.text
+
+ENTRY(__syscall_rt_sigaction)
+	cfi_startproc
+	ldgp	gp,0(pv)
+#ifdef PROF
+	.set noat
+	lda	AT, _mcount
+	jsr	AT, (AT), _mcount
+	.set at
+#endif
+	.prologue 1
+
+	beq	a1, 0f
+	ldl	t0, 8(a1)				# sa_flags
+
+	ldah	a4, __syscall_sigreturn(gp)		!gprelhigh
+	ldah	t1, __syscall_rt_sigreturn(gp)		!gprelhigh
+	lda	a4, __syscall_sigreturn(a4)		!gprellow
+	lda	t1, __syscall_rt_sigreturn(t1)		!gprellow
+	and	t0, 0x40, t0				# SA_SIGINFO
+	cmovne	t0, t1, a4
+
+0:	ldi	v0, __NR_rt_sigaction
+	callsys
+	bne	a3, SYSCALL_ERROR_LABEL
+	ret
+	cfi_endproc
+PSEUDO_END(__syscall_rt_sigaction)
+
+/* To enable unwinding through the signal frame without special hackery
+   elsewhere, describe the entire struct sigcontext with unwind info.
+
+   In order to minimize the size of the encoding, we set the CFA to the
+   end of the sigcontext, which makes all of the registers have small
+   negative offsets from that.  */
+
+	.macro SIGCONTEXT_REGS_I base, from=0
+	cfi_offset (\from, \base + (4 + \from) * 8)
+	.if	30-\from
+	SIGCONTEXT_REGS_I \base, "(\from+1)"
+	.endif
+	.endm
+
+	.macro SIGCONTEXT_REGS_F base, from=32
+	cfi_offset (\from, \base + (4 + 1 + \from) * 8)
+	.if	62-\from
+	SIGCONTEXT_REGS_F \base, "(\from+1)"
+	.endif
+	.endm
+
+	.macro SIGCONTEXT_REGS base
+	SIGCONTEXT_REGS_I \base
+	SIGCONTEXT_REGS_F \base
+	cfi_offset (63, \base + (4 + 32 + 1 + 32) * 8)
+	cfi_offset (64, \base + 2 * 8)
+	.endm
+
+	cfi_startproc
+	cfi_return_column (64)
+	.cfi_signal_frame
+	SIGCONTEXT_REGS -648
+	cfi_def_cfa_offset (648)
+
+	/* While this frame is marked as a signal frame, that only applies
+	   to how this return address is handled for the outer frame.
+	   The return address that arrived here, from the inner frame, is
+	   not marked as a signal frame and so the unwinder still tries to
+	   subtract 1 to examine the presumed call insn.  Thus we must
+	   extend the unwind info to a nop before the start.  */
+	nop
+	.align 4
+
+__syscall_sigreturn:
+	mov	sp, a0
+	ldi	v0, __NR_sigreturn
+	callsys
+	.size	__syscall_sigreturn, .-__syscall_sigreturn
+	.type	__syscall_sigreturn, @function
+
+	/* See above wrt including the nop.  */
+	cfi_def_cfa_offset (176 + 648)
+	nop
+	.align 4
+
+__syscall_rt_sigreturn:
+	mov	sp,a0
+	ldi	v0,__NR_rt_sigreturn
+	callsys
+	.size	__syscall_rt_sigreturn, .-__syscall_rt_sigreturn
+	.type	__syscall_rt_sigreturn, @function
+
+	cfi_endproc
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/select.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/select.c
new file mode 100644
index 0000000000..bb0298f6a4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/select.c
@@ -0,0 +1,53 @@
+/* Linux/alpha select implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/select.h>
+#include <errno.h>
+#include <sysdep-cancel.h>
+#include <shlib-compat.h>
+
+int
+__new_select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+	      struct timeval *timeout)
+{
+  return SYSCALL_CANCEL (select, nfds, readfds, writefds, exceptfds, timeout);
+}
+strong_alias (__new_select, __select)
+libc_hidden_def (__select)
+
+default_symbol_version (__new_select, select, GLIBC_2.1);
+
+strong_alias (__new_select, __new_select_private);
+symbol_version (__new_select_private, __select, GLIBC_2.1);
+
+/* Old timeval32 compat calls.  */
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
+int
+__select_tv32 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+	       struct timeval *timeout)
+{
+  return SYSCALL_CANCEL (osf_select, nfds, readfds, writefds, exceptfds,
+                        timeout);
+}
+strong_alias (__select_tv32, __select_tv32_1)
+
+compat_symbol (libc, __select_tv32, __select, GLIBC_2_0);
+compat_symbol (libc, __select_tv32_1, select, GLIBC_2_0);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setcontext.S
new file mode 100644
index 0000000000..ea8601f34f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setcontext.S
@@ -0,0 +1,34 @@
+/* Install given context.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <ucontext-offsets.h>
+
+
+/* In case the user fiddled it, copy the "official" signal mask
+   from the ucontext_t into the sigcontext structure.  */
+#undef PSEUDO_PREPARE_ARGS
+#define PSEUDO_PREPARE_ARGS			\
+	ldq	$0, UC_SIGMASK($16);		\
+	stq	$0, UC_SIGCTX+SC_MASK($16);	\
+	lda	$16, UC_SIGCTX($16);
+
+PSEUDO(__setcontext, sigreturn, 1)
+	ret
+PSEUDO_END(__setcontext)
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setfpucw.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setfpucw.c
new file mode 100644
index 0000000000..54484f8847
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/setfpucw.c
@@ -0,0 +1,61 @@
+/* Set FP exception mask and rounding mode.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fpu_control.h>
+#include <fenv_libc.h>
+
+
+#define convert_bit(M, F, T)		\
+    ((T) < (F)				\
+     ? ((M) / ((F) / (T))) & (T)	\
+     : ((M) & (F)) * ((T) / (F)))
+
+
+void
+__setfpucw (fpu_control_t fpu_control)
+{
+  unsigned long fpcr, swcr, fc = (int)fpu_control;
+
+  /* ??? If this was a real external interface we'd want to read the current
+     exception state with __ieee_get_fp_control.  But this is an internal
+     function only called at process startup, so there's no point in trying
+     to preserve exceptions that cannot have been raised yet.  Indeed, this
+     entire function is likely to be one big nop unless the user overrides
+     the default __fpu_control variable.  */
+
+  /* Convert the rounding mode from fpu_control.h format.  */
+  const unsigned long conv_rnd
+    = (  (FE_TOWARDZERO << (_FPU_RC_ZERO >> 8))
+       | (FE_DOWNWARD << (_FPU_RC_DOWN >> 8))
+       | (FE_TONEAREST << (_FPU_RC_NEAREST >> 8))
+       | (FE_UPWARD << (_FPU_RC_UP >> 8)));
+
+  fpcr = ((conv_rnd >> ((fc >> 8) & 3)) & 3) << FPCR_ROUND_SHIFT;
+
+  /* Convert the exception mask from fpu_control.h format.  */
+  swcr  = convert_bit (~fc, _FPU_MASK_IM, FE_INVALID >> SWCR_ENABLE_SHIFT);
+  swcr |= convert_bit (~fc, _FPU_MASK_DM, FE_UNDERFLOW >> SWCR_ENABLE_SHIFT);
+  swcr |= convert_bit (~fc, _FPU_MASK_ZM, FE_DIVBYZERO >> SWCR_ENABLE_SHIFT);
+  swcr |= convert_bit (~fc, _FPU_MASK_OM, FE_OVERFLOW >> SWCR_ENABLE_SHIFT);
+  swcr |= convert_bit (~fc, _FPU_MASK_PM, FE_INEXACT >> SWCR_ENABLE_SHIFT);
+
+  /* Install everything.  */
+  __fpu_control = fc;
+  asm volatile ("mt_fpcr %0" : : "f"(fpcr));
+  __ieee_set_fp_control(swcr);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/shlib-versions
new file mode 100644
index 0000000000..cd913c257c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/shlib-versions
@@ -0,0 +1,14 @@
+libm=6.1
+libc=6.1
+
+ld=ld-linux.so.2
+
+libdl=2.1
+
+libutil=1.1
+
+libresolv=2.1
+
+libnsl=1.1
+libcrypt=1.1
+libBrokenLocale=1.1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigaction.c
new file mode 100644
index 0000000000..3092a3cf55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigaction.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sys/cdefs.h>
+#include <stddef.h>
+
+/*
+ * In order to get the hidden arguments for rt_sigaction set up
+ * properly, we need to call the assembly version.  Detect this in the
+ * INLINE_SYSCALL macro, and fail to expand inline in that case.
+ */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)       \
+        (__NR_##name == __NR_rt_sigaction       \
+         ? __syscall_rt_sigaction(args)         \
+         : INLINE_SYSCALL1(name, nr, args))
+
+struct kernel_sigaction;
+extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *,
+				   struct kernel_sigaction *, size_t);
+
+#include <sysdeps/unix/sysv/linux/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
new file mode 100644
index 0000000000..e8b74d56ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
@@ -0,0 +1,24 @@
+/* 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 SIGCONTEXT int _code, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)	((void *) (ctx)->sc_pc)
+#define GET_FRAME(ctx)	((void *) (ctx)->sc_regs[15])
+#define GET_STACK(ctx)	((void *) (ctx)->sc_regs[30])
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
new file mode 100644
index 0000000000..39a07de475
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
@@ -0,0 +1,57 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger (davidm@azstarnet.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 <errno.h>
+#include <sysdep.h>
+#include <signal.h>
+
+/* When there is kernel support for more than 64 signals, we'll have to
+   switch to a new system call convention here.  */
+
+int
+__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
+{
+  unsigned long int setval;
+  long result;
+
+  if (set)
+    setval = set->__val[0];
+  else
+    {
+      setval = 0;
+      how = SIG_BLOCK;	/* ensure blocked mask doesn't get changed */
+    }
+
+  result = INLINE_SYSCALL (osf_sigprocmask, 2, how, setval);
+  if (result == -1)
+    /* If there are ever more than 63 signals, we need to recode this
+       in assembler since we wouldn't be able to distinguish a mask of
+       all 1s from -1, but for now, we're doing just fine... */
+    return result;
+
+  if (oset)
+    {
+      oset->__val[0] = result;
+      result = _SIGSET_NWORDS;
+      while (--result > 0)
+	oset->__val[result] = 0;
+    }
+  return 0;
+}
+
+weak_alias (__sigprocmask, sigprocmask);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sizes.h
new file mode 100644
index 0000000000..c7d0d3455b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/statfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statfs64.c
new file mode 100644
index 0000000000..fe39cc4685
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statfs64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/statfs64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs.c
new file mode 100644
index 0000000000..78069e96f4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/statvfs.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs64.c
new file mode 100644
index 0000000000..c80e17751d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/statvfs64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/statvfs64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/swapcontext.S
new file mode 100644
index 0000000000..31a0babfb1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/swapcontext.S
@@ -0,0 +1,50 @@
+/* Save current context and install the given one.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <ucontext-offsets.h>
+
+ENTRY(__swapcontext)
+
+#ifdef PROF
+	ldgp	$29, 0($27)
+	.set noat
+	lda     AT, _mcount
+	jsr     AT, (AT), _mcount
+	.set at
+	.prologue 1
+#elif defined PIC
+	.prologue 0
+#else
+	ldgp	$29, 0($27)
+	.prologue 1
+#endif
+
+#ifdef PIC
+	unop
+	bsr	$0, __getcontext_x	!samegp
+	mov	$17, $16
+	br	$31, __setcontext	!samegp
+#else
+	jsr	$0, __getcontext_x
+	mov	$17, $16
+	jmp	$31, __setcontext
+#endif
+
+END(__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/acct.h
new file mode 100644
index 0000000000..3da9cde89b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/acct.h
@@ -0,0 +1,63 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ACCT_H
+
+#define _SYS_ACCT_H	1
+#include <features.h>
+
+#include <bits/types/time_t.h>
+
+__BEGIN_DECLS
+
+#define ACCT_COMM 16
+
+struct acct
+  {
+    char ac_comm[ACCT_COMM];		/* Accounting command name.  */
+    time_t ac_utime;			/* Accounting user time.  */
+    time_t ac_stime;			/* Accounting system time.  */
+    time_t ac_etime;			/* Accounting elapsed time.  */
+    time_t ac_btime;			/* Beginning time.  */
+    unsigned int ac_uid;		/* Accounting user ID.  */
+    unsigned int ac_gid;		/* Accounting group ID.  */
+    unsigned int ac_tty;		/* Controlling tty.  */
+    /* Please note that the value of the `ac_tty' field, a device number,
+       is encoded differently in the kernel and for the libc dev_t type.  */
+    char ac_flag;			/* Accounting flag.  */
+    long int ac_minflt;			/* Accounting minor pagefaults.  */
+    long int ac_majflt;			/* Accounting major pagefaults.  */
+    long int ac_exitcode;		/* Accounting process exitcode.  */
+  };
+
+enum
+  {
+    AFORK = 0001,		/* Has executed fork, but no exec.  */
+    ASU = 0002,			/* Used super-user privileges.  */
+    ACORE = 0004,		/* Dumped core.  */
+    AXSIG = 0010		/* Killed by a signal.  */
+  };
+
+#define AHZ     100
+
+
+/* Switch process accounting on and off.  */
+extern int acct (const char *__filename) __THROW;
+
+__END_DECLS
+
+#endif	/* sys/acct.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/io.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/io.h
new file mode 100644
index 0000000000..3a6798edc5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/io.h
@@ -0,0 +1,94 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_IO_H
+
+#define	_SYS_IO_H	1
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* If TURN_ON is TRUE, request for permission to do direct i/o on the
+   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
+   permission off for that range.  This call requires root privileges.
+
+   Portability note: not all Linux platforms support this call.  Most
+   platforms based on the PC I/O architecture probably will, however.
+   E.g., Linux/Alpha for Alpha PCs supports this.  */
+extern int ioperm (unsigned long int __from, unsigned long int __num,
+		   int __turn_on) __THROW;
+
+/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
+   access any I/O port is granted.  This call requires root
+   privileges. */
+extern int iopl (int __level) __THROW;
+
+/* Return the physical address of the DENSE I/O memory or NULL if none
+   is available (e.g. on a jensen).  */
+extern unsigned long int _bus_base (void) __THROW __attribute__ ((const));
+extern unsigned long int bus_base (void) __THROW __attribute__ ((const));
+
+/* Return the physical address of the SPARSE I/O memory.  */
+extern unsigned long _bus_base_sparse (void) __THROW __attribute__ ((const));
+extern unsigned long bus_base_sparse (void) __THROW __attribute__ ((const));
+
+/* Return the HAE shift used by the SPARSE I/O memory.  */
+extern int _hae_shift (void) __THROW __attribute__ ((const));
+extern int hae_shift (void) __THROW __attribute__ ((const));
+
+/* Previous three are deprecated in favour of the following, which
+   knows about multiple PCI "hoses".  Provide the PCI bus and dfn
+   numbers just as to pciconfig_read/write.  */
+
+enum __pciconfig_iobase_which
+{
+  IOBASE_HOSE = 0,		/* Return hose index. */
+  IOBASE_SPARSE_MEM = 1,	/* Return physical memory addresses.  */
+  IOBASE_DENSE_MEM = 2,
+  IOBASE_SPARSE_IO = 3,
+  IOBASE_DENSE_IO = 4
+};
+
+extern long pciconfig_iobase(enum __pciconfig_iobase_which __which,
+			     unsigned long int __bus,
+			     unsigned long int __dfn)
+     __THROW __attribute__ ((const));
+
+/* Access PCI space protected from machine checks.  */
+extern int pciconfig_read (unsigned long int __bus,
+			   unsigned long int __dfn,
+			   unsigned long int __off,
+			   unsigned long int __len,
+			   unsigned char *__buf) __THROW;
+
+extern int pciconfig_write (unsigned long int __bus,
+			    unsigned long int __dfn,
+			    unsigned long int __off,
+			    unsigned long int __len,
+			    unsigned char *__buf) __THROW;
+
+/* Userspace declarations.  */
+extern unsigned int inb (unsigned long __port) __THROW;
+extern unsigned int inw (unsigned long __port) __THROW;
+extern unsigned int inl (unsigned long __port) __THROW;
+extern void outb (unsigned char __b, unsigned long __port) __THROW;
+extern void outw (unsigned short __w, unsigned long __port) __THROW;
+extern void outl (unsigned int __l, unsigned long __port) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_IO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
new file mode 100644
index 0000000000..abc9fd8d6e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
@@ -0,0 +1,127 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/*
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
+ * I have no idea why that is so.  For now, we just leave it at 33
+ * (32 general regs + processor status word).
+ */
+#define ELF_NGREG       33
+#define ELF_NFPREG      32
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+#if 0
+    long int pr_flags;			/* XXX Process flags.  */
+    short int pr_why;			/* XXX Reason for process halt.  */
+    short int pr_what;			/* XXX More detailed reason.  */
+#endif
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#if 0
+    stack_t pr_altstack;		/* Alternate stack info.  */
+    struct sigaction pr_action;		/* Signal action for current sig.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+#if 0
+    long int pr_instr;			/* Current instruction.  */
+#endif
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef gregset_t prgregset_t;
+typedef fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
new file mode 100644
index 0000000000..b9e590347e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
@@ -0,0 +1,67 @@
+/* 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 _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+/* Type for general register.  */
+typedef long int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	33
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+/* Type for floating-point register.  */
+typedef long int fpreg_t;
+
+/* Number of general registers.  */
+#define __NFPREG	32
+#ifdef __USE_MISC
+# define NFPREG	__NFPREG
+#endif
+
+/* Container for all general registers.  */
+typedef fpreg_t fpregset_t[__NFPREG];
+
+
+/* A machine context is exactly a sigcontext.  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    unsigned long __uc_osf_sigmask;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/user.h
new file mode 100644
index 0000000000..f5801a7c8f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sys/user.h
@@ -0,0 +1,52 @@
+/* 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/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for gdb/strace and gdb/strace
+   only. Don't read too much into it. Don't use it for anything other
+   than gdb/strace unless you know what you are doing. */
+
+#include <asm/reg.h>
+#include <stddef.h>
+
+struct user
+{
+  unsigned long	int regs[EF_SIZE / 8 + 32];	/* integer and fp regs */
+  size_t u_tsize;				/* text size (pages) */
+  size_t u_dsize;				/* data size (pages) */
+  size_t u_ssize;				/* stack size (pages) */
+  unsigned long	int start_code;			/* text starting address */
+  unsigned long	int start_data;			/* data starting address */
+  unsigned long	int start_stack;		/* stack starting address */
+  long int signal;				/* signal causing core dump */
+  struct regs *u_ar0;				/* help gdb find registers */
+  unsigned long	int magic;			/* identifies a core file */
+  char u_comm[32];				/* user command name */
+};
+
+#define PAGE_SHIFT		13
+#define PAGE_SIZE		(1UL << PAGE_SHIFT)
+#define PAGE_MASK		(~(PAGE_SIZE-1))
+#define NBPG			PAGE_SIZE
+#define UPAGES			1
+#define HOST_TEXT_START_ADDR	(u.start_code)
+#define HOST_DATA_START_ADDR	(u.start_data)
+#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
+
+#endif	/* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscall.S
new file mode 100644
index 0000000000..6b082bb489
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscall.S
@@ -0,0 +1,70 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger <davidm@azstarnet.com>, 1996.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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>
+
+/*
+ * This is for COMPATIBILITY with Linux/x86 only.  Linux/Alpha system
+ * calls return an error indication in a3.  This allows arbitrary 64bit
+ * values to be returned in v0 (because negative values are not
+ * mistaken as error numbers).  However, C allows only one value to
+ * be returned, so the interface below folds the error indication passed in
+ * a3 back into v0: it sets v0 to -errno if an error occurs.  Thus,
+ * no negative 64bit numbers can be returned.  To avoid this problem,
+ * use assembly stubs wherever possible/convenient.
+ *
+ * Usage:
+ *
+ * long	syscall(syscall_number, arg1, arg2, arg3, arg4, arg5, arg6)
+ *
+ * syscall_number = the index of the system call we're invoking
+ * arg1-arg6 = up to 6 integer arguments to the system call
+ *
+ * We need to do some arg shifting: the kernel expects the
+ * syscall number in v0 and the first six args in a0-a5.
+ *
+ */
+
+
+LEAF(__syscall, 0)
+#ifdef PROF
+	ldgp	gp, 0(pv)
+	.set noat
+	lda	AT, _mcount
+	jsr	AT, (AT), _mcount
+	.set at
+	.prologue 1
+#else
+	.prologue 0
+#endif
+
+	mov	a0, v0		/* Syscall number -> v0 */
+	mov	a1, a0		/* arg1-arg5 -> a0-a4 */
+	mov	a2, a1
+	mov	a3, a2
+	mov	a4, a3
+	mov	a5, a4
+	ldq	a5,0(sp)	/* arg6 -> a5 */
+
+	call_pal PAL_callsys	/* Invoke system call */
+	bne	a3, SYSCALL_ERROR_LABEL
+	ret
+
+PSEUDO_END(__syscall)
+
+weak_alias (__syscall, syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscalls.list
new file mode 100644
index 0000000000..12cd021b60
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/syscalls.list
@@ -0,0 +1,45 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+sigstack	-	sigstack	2	sigstack
+
+getpriority	-	getpriority	i:ii	__getpriority	getpriority
+
+# proper socket implementations:
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
+
+ptrace		-	ptrace		4	__ptrace	ptrace
+
+# access pci space protected from machine checks:
+pciconfig_read	EXTRA	pciconfig_read	5	pciconfig_read
+pciconfig_write	EXTRA	pciconfig_write	5	pciconfig_write
+pciconfig_iobase EXTRA	pciconfig_iobase 3	__pciconfig_iobase pciconfig_iobase
+
+# support old timeval32 entry points
+osf_gettimeofday -	osf_gettimeofday 2	__gettimeofday_tv32  __gettimeofday@GLIBC_2.0 gettimeofday@GLIBC_2.0
+osf_settimeofday -	osf_settimeofday 2	__settimeofday_tv32  settimeofday@GLIBC_2.0
+osf_getitimer	-	osf_getitimer	2	__getitimer_tv32  getitimer@GLIBC_2.0
+osf_setitimer	-	osf_setitimer	3	__setitimer_tv32  setitimer@GLIBC_2.0
+osf_utimes	-	osf_utimes	2	__utimes_tv32  utimes@GLIBC_2.0
+osf_getrusage	-	osf_getrusage	2	__getrusage_tv32  getrusage@GLIBC_2.0
+osf_wait4	-	osf_wait4	4	__wait4_tv32  wait4@GLIBC_2.0
+
+# support new timeval64 entry points
+gettimeofday	-	gettimeofday	2	__GI___gettimeofday gettimeofday@@GLIBC_2.1 __gettimeofday@@GLIBC_2.1
+settimeofday	-	settimeofday	2	__settimeofday settimeofday@@GLIBC_2.1
+getitimer	-	getitimer	2	__getitimer getitimer@@GLIBC_2.1
+setitimer	-	setitimer	3	__setitimer setitimer@@GLIBC_2.1
+utimes		-	utimes		2	__utimes utimes@@GLIBC_2.1
+getrusage	-	getrusage	2	__getrusage getrusage@@GLIBC_2.1
+wait4		-	wait4		4	__wait4 wait4@@GLIBC_2.1
+
+# avoid 64-bit aliases on 32-bit statfs syscalls
+fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs
+statfs		-	statfs		i:sp	__statfs	statfs
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysconf.c
new file mode 100644
index 0000000000..e011f8f5dd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysconf.c
@@ -0,0 +1,127 @@
+/* Copyright (C) 2004-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 <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+
+static long int linux_sysconf (int name);
+
+#define CSHAPE(totalsize, linesize, assoc) \
+  ((totalsize & ~0xff) | (linesize << 4) | assoc)
+
+extern long __libc_alpha_cache_shape[4];
+
+/* Get the value of the system variable NAME.  */
+long int
+__sysconf (int name)
+{
+  long shape, index;
+
+  /* We only handle the cache information here (for now).  */
+  if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE)
+    return linux_sysconf (name);
+
+  /* No Alpha has L4 caches.  */
+  if (name >= _SC_LEVEL4_CACHE_SIZE)
+    return -1;
+
+  index = (name - _SC_LEVEL1_ICACHE_SIZE) / 3;
+  shape = __libc_alpha_cache_shape[index];
+  if (shape == -2)
+    {
+      long shape_l1i, shape_l1d, shape_l2, shape_l3 = -1;
+
+      /* ??? In the cases below for which we do not know L1 cache sizes,
+	 we could do timings to measure sizes.  But for the Bcache, it's
+	 generally big enough that (without additional help) TLB effects
+	 get in the way.  We'd either need to be able to allocate large
+	 pages or have the kernel do the timings from KSEG.  Fortunately,
+	 kernels beginning with 2.6.5 will pass us this info in auxvec.  */
+
+      switch (__builtin_alpha_implver ())
+	{
+	case 0: /* EV4 */
+	  /* EV4/LCA45 had 8k L1 caches; EV45 had 16k L1 caches.  */
+	  /* EV4/EV45 had 128k to 16M 32-byte direct Bcache.  LCA45
+	     had 64k to 8M 8-byte direct Bcache.  Can't tell.  */
+	  shape_l1i = shape_l1d = shape_l2 = CSHAPE (0, 5, 1);
+	  break;
+
+	case 1: /* EV5 */
+	  if (__builtin_alpha_amask (1 << 8))
+	    {
+	      /* MAX insns not present; either EV5 or EV56.  */
+	      shape_l1i = shape_l1d = CSHAPE(8*1024, 5, 1);
+	      /* ??? L2 and L3 *can* be configured as 32-byte line.  */
+	      shape_l2 = CSHAPE (96*1024, 6, 3);
+	      /* EV5/EV56 has 1M to 16M Bcache.  */
+	      shape_l3 = CSHAPE (0, 6, 1);
+	    }
+	  else
+	    {
+	      /* MAX insns present; either PCA56 or PCA57.  */
+	      /* PCA56 had 16k 64-byte cache; PCA57 had 32k Icache.  */
+	      /* PCA56 had 8k 64-byte cache; PCA57 had 16k Dcache.  */
+	      /* PCA5[67] had 512k to 4M Bcache.  */
+	      shape_l1i = shape_l1d = shape_l2 = CSHAPE (0, 6, 1);
+	    }
+	  break;
+
+	case 2: /* EV6 */
+	  shape_l1i = shape_l1d = CSHAPE(64*1024, 6, 2);
+	  /* EV6/EV67/EV68* had 1M to 16M Bcache.  */
+	  shape_l2 = CSHAPE (0, 6, 1);
+	  break;
+
+	case 3: /* EV7 */
+	  shape_l1i = shape_l1d = CSHAPE(64*1024, 6, 2);
+	  shape_l2 = CSHAPE(7*1024*1024/4, 6, 7);
+	  break;
+
+	default:
+	  shape_l1i = shape_l1d = shape_l2 = 0;
+	  break;
+	}
+
+      __libc_alpha_cache_shape[0] = shape_l1i;
+      __libc_alpha_cache_shape[1] = shape_l1d;
+      __libc_alpha_cache_shape[2] = shape_l2;
+      __libc_alpha_cache_shape[3] = shape_l3;
+      shape = __libc_alpha_cache_shape[index];
+    }
+
+  if (shape <= 0)
+    return shape;
+
+  switch ((name - _SC_LEVEL1_ICACHE_SIZE) % 3)
+    {
+    case 0: /* total size */
+      return shape & -0x100;
+    case 1: /* associativity */
+      return shape & 0xf;
+    default: /* line size */
+      return 1L << ((shape >> 4) & 0xf);
+    }
+}
+
+/* Now the generic Linux version.  */
+#undef __sysconf
+#define __sysconf static linux_sysconf
+#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
new file mode 100644
index 0000000000..66d6962b80
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
@@ -0,0 +1,174 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END
+   besides "ret".  */
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)			\
+	.globl	__##syscall_name##_nocancel;			\
+	.type	__##syscall_name##_nocancel, @function;		\
+	.usepv	__##syscall_name##_nocancel, std;		\
+	.align 4;						\
+	cfi_startproc;						\
+__LABEL(__##syscall_name##_nocancel)				\
+	ldgp	gp, 0(pv);					\
+	PSEUDO_PROF;						\
+__LABEL($pseudo_nocancel)					\
+	PSEUDO_PREPARE_ARGS;					\
+	lda	v0, SYS_ify(syscall_name);			\
+	call_pal PAL_callsys;					\
+	bne	a3, SYSCALL_ERROR_LABEL;			\
+__LABEL($pseudo_ret)						\
+	.subsection 2;						\
+	.size __##syscall_name##_nocancel, .-__##syscall_name##_nocancel; \
+	.globl	name;						\
+	.type	name, @function;				\
+	.usepv	name, std;					\
+	.align 4;						\
+	cfi_startproc;						\
+__LABEL(name)							\
+	ldgp	gp, 0(pv);					\
+	PSEUDO_PROF;						\
+	SINGLE_THREAD_P(t0);					\
+	beq	t0, $pseudo_nocancel;				\
+	subq	sp, 64, sp;					\
+	cfi_def_cfa_offset(64);					\
+	stq	ra, 0(sp);					\
+	cfi_offset(ra, -64);					\
+	SAVE_ARGS_##args;					\
+	CENABLE;						\
+	LOAD_ARGS_##args;					\
+	/* Save the CENABLE return value in RA.  That register	\
+	   is preserved across syscall and the real return 	\
+	   address is saved on the stack.  */			\
+	mov	v0, ra;						\
+	lda	v0, SYS_ify(syscall_name);			\
+	call_pal PAL_callsys;					\
+	stq	v0, 8(sp);					\
+	mov	ra, a0;						\
+	bne	a3, $multi_error;				\
+	CDISABLE;						\
+	ldq	ra, 0(sp);					\
+	ldq	v0, 8(sp);					\
+	addq	sp, 64, sp;					\
+	cfi_remember_state;					\
+	cfi_restore(ra);					\
+	cfi_def_cfa_offset(0);					\
+	ret;							\
+	cfi_restore_state;					\
+__LABEL($multi_error)						\
+	CDISABLE;						\
+	ldq	ra, 0(sp);					\
+	ldq	v0, 8(sp);					\
+	addq	sp, 64, sp;					\
+	cfi_restore(ra);					\
+	cfi_def_cfa_offset(0);					\
+	SYSCALL_ERROR_FALLTHRU;					\
+	SYSCALL_ERROR_HANDLER;					\
+	cfi_endproc;						\
+	.previous
+
+# undef PSEUDO_END
+# define PSEUDO_END(sym)					\
+	cfi_endproc;						\
+	.subsection 2;						\
+	.size sym, .-sym
+
+# define SAVE_ARGS_0	/* Nothing.  */
+# define SAVE_ARGS_1	SAVE_ARGS_0; stq a0, 8(sp)
+# define SAVE_ARGS_2	SAVE_ARGS_1; stq a1, 16(sp)
+# define SAVE_ARGS_3	SAVE_ARGS_2; stq a2, 24(sp)
+# define SAVE_ARGS_4	SAVE_ARGS_3; stq a3, 32(sp)
+# define SAVE_ARGS_5	SAVE_ARGS_4; stq a4, 40(sp)
+# define SAVE_ARGS_6	SAVE_ARGS_5; stq a5, 48(sp)
+
+# define LOAD_ARGS_0	/* Nothing.  */
+# define LOAD_ARGS_1	LOAD_ARGS_0; ldq a0, 8(sp)
+# define LOAD_ARGS_2	LOAD_ARGS_1; ldq a1, 16(sp)
+# define LOAD_ARGS_3	LOAD_ARGS_2; ldq a2, 24(sp)
+# define LOAD_ARGS_4	LOAD_ARGS_3; ldq a3, 32(sp)
+# define LOAD_ARGS_5	LOAD_ARGS_4; ldq a4, 40(sp)
+# define LOAD_ARGS_6	LOAD_ARGS_5; ldq a5, 48(sp)
+
+# if IS_IN (libpthread)
+#  define __local_enable_asynccancel	__pthread_enable_asynccancel
+#  define __local_disable_asynccancel	__pthread_disable_asynccancel
+#  define __local_multiple_threads	__pthread_multiple_threads
+# elif IS_IN (libc)
+#  define __local_enable_asynccancel	__libc_enable_asynccancel
+#  define __local_disable_asynccancel	__libc_disable_asynccancel
+#  define __local_multiple_threads	__libc_multiple_threads
+# elif IS_IN (librt)
+#  define __local_enable_asynccancel	__librt_enable_asynccancel
+#  define __local_disable_asynccancel	__librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+# ifdef PIC
+#  define CENABLE	bsr ra, __local_enable_asynccancel !samegp
+#  define CDISABLE	bsr ra, __local_disable_asynccancel !samegp
+# else
+#  define CENABLE	jsr ra, __local_enable_asynccancel; ldgp ra, 0(gp)
+#  define CDISABLE	jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp)
+# endif
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P \
+	__builtin_expect (__local_multiple_threads == 0, 1)
+#  elif defined(PIC)
+#   define SINGLE_THREAD_P(reg)  ldl reg, __local_multiple_threads(gp) !gprel
+#  else
+#   define SINGLE_THREAD_P(reg)					\
+	ldah	reg, __local_multiple_threads(gp) !gprelhigh;	\
+	ldl	reg, __local_multiple_threads(reg) !gprellow
+#  endif
+# else
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P \
+	__builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(reg)					\
+	call_pal PAL_rduniq;					\
+	ldl reg, MULTIPLE_THREADS_OFFSET($0)
+#  endif
+# endif
+
+#else
+
+# 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/alpha/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep.h
new file mode 100644
index 0000000000..4dc2d46ecf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/sysdep.h
@@ -0,0 +1,96 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_ALPHA_SYSDEP_H
+#define _LINUX_ALPHA_SYSDEP_H 1
+
+#ifdef __ASSEMBLER__
+#include <asm/pal.h>
+#include <alpha/regdef.h>
+#endif
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/alpha/sysdep.h>
+
+#include <tls.h>
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+/* Define some aliases to make automatic syscall generation work
+   properly.  The SYS_* variants are for the benefit of the files in
+   sysdeps/unix.  */
+#define __NR_getpid	__NR_getxpid
+#define __NR_getuid	__NR_getxuid
+#define __NR_getgid	__NR_getxgid
+#define SYS_getpid	__NR_getxpid
+#define SYS_getuid	__NR_getxuid
+#define SYS_getgid	__NR_getxgid
+
+/*
+ * Some syscalls no Linux program should know about:
+ */
+#define __NR_osf_sigprocmask	 48
+#define __NR_osf_shmat		209
+#define __NR_osf_getsysinfo	256
+#define __NR_osf_setsysinfo	257
+
+/* Help old kernel headers where particular syscalls are not available.  */
+#ifndef __NR_semtimedop
+# define __NR_semtimedop	423
+#endif
+
+/* 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
+
+/*
+ * In order to get the hidden arguments for rt_sigaction set up
+ * properly, we need to call the assembly version.  This shouldn't
+ * happen except for inside sigaction.c, where we handle this
+ * specially.  Catch other uses and error.
+ */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+({									\
+	extern char ChEcK[__NR_##name == __NR_rt_sigaction ? -1 : 1]	\
+	  __attribute__((unused));					\
+	INLINE_SYSCALL1(name, nr, args);				\
+})
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err_out, nr, args...)			\
+({									\
+	extern char ChEcK[__NR_##name == __NR_rt_sigaction ? -1 : 1]	\
+	  __attribute__((unused));					\
+	INTERNAL_SYSCALL1(name, err_out, nr, args);			\
+})
+
+#endif /* _LINUX_ALPHA_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_create.c
new file mode 100644
index 0000000000..d307135003
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_delete.c
new file mode 100644
index 0000000000..2dd94f5c7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
new file mode 100644
index 0000000000..22eaff5cda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
new file mode 100644
index 0000000000..cea524bae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/timer_settime.c
new file mode 100644
index 0000000000..fa231149d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/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/alpha/ucontext-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
new file mode 100644
index 0000000000..f95ff75636
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
@@ -0,0 +1,18 @@
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+--
+UC_LINK		offsetof (ucontext_t, uc_link)
+UC_OSF_SIGMASK	offsetof (ucontext_t, __uc_osf_sigmask)
+UC_STACK	offsetof (ucontext_t, uc_stack)
+UC_SIGCTX	offsetof (ucontext_t, uc_mcontext)
+UC_SIGMASK	offsetof (ucontext_t, uc_sigmask)
+SC_REGS		offsetof (struct sigcontext, sc_regs)
+SC_FPREGS	offsetof (struct sigcontext, sc_fpregs)
+SC_PC		offsetof (struct sigcontext, sc_pc)
+SC_PS		offsetof (struct sigcontext, sc_ps)
+SC_FPCRS	offsetof (struct sigcontext, sc_fpcr)
+SC_MASK		offsetof (struct sigcontext, sc_mask)
+SC_FPCR		offsetof (struct sigcontext, sc_fpcr)
+SS_SP		offsetof (stack_t, ss_sp)
+SS_SIZE		offsetof (stack_t, ss_size)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/vfork.S
new file mode 100644
index 0000000000..7255822e17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/vfork.S
@@ -0,0 +1,41 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tcb-offsets.h>
+
+ENTRY(__libc_vfork)
+	PSEUDO_PROLOGUE
+
+	/* Load the thread pointer value in A1 across the vfork.  */
+	rduniq
+	mov	v0, a1
+
+	lda	v0, SYS_ify(vfork)
+	call_pal PAL_callsys
+
+	/* Normal error check and return.  */
+	bne	a3, SYSCALL_ERROR_LABEL
+	ret
+
+PSEUDO_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/alpha/wordexp.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/wordexp.c
new file mode 100644
index 0000000000..32aefe579b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/wordexp.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstat.c
new file mode 100644
index 0000000000..cf17353d7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstat.c
@@ -0,0 +1,58 @@
+/* xstat using old-style Unix stat system call.
+   Copyright (C) 2004-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 __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <xstatconv.h>
+
+#undef __xstat64
+
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int result;
+  struct kernel_stat kbuf;
+
+  if (vers == _STAT_VER_KERNEL64)
+    {
+      result = INTERNAL_SYSCALL (stat64, err, 2, name, buf);
+      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+	return result;
+      __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+      return -1;
+    }
+
+  result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf);
+  if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return __xstat_conv (vers, &kbuf, buf);
+  __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+  return -1;
+}
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.c b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.c
new file mode 100644
index 0000000000..face7cd047
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.c
@@ -0,0 +1,120 @@
+/* Convert between the kernel's `struct stat' format, and libc's.
+   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 <string.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <xstatconv.h>
+#include <sys/syscall.h>
+
+int
+__xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+  switch (vers)
+    {
+    case _STAT_VER_KERNEL:
+      *(struct kernel_stat *) ubuf = *kbuf;
+      break;
+
+    case _STAT_VER_GLIBC2:
+      {
+	struct glibc2_stat *buf = ubuf;
+
+	buf->st_dev = kbuf->st_dev;
+	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->st_size = kbuf->st_size;
+	buf->st_atime = kbuf->st_atime;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_ctime = kbuf->st_ctime;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	buf->st_flags = kbuf->st_flags;
+	buf->st_gen = kbuf->st_gen;
+      }
+      break;
+
+    case _STAT_VER_GLIBC2_1:
+      {
+	struct glibc21_stat *buf = ubuf;
+
+	buf->st_dev = kbuf->st_dev;
+	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->st_size = kbuf->st_size;
+	buf->st_atime = kbuf->st_atime;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_ctime = kbuf->st_ctime;
+	buf->st_blocks = kbuf->st_blocks;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_flags = kbuf->st_flags;
+	buf->st_gen = kbuf->st_gen;
+	buf->__pad3 = 0;
+	buf->__glibc_reserved[0] = 0;
+	buf->__glibc_reserved[1] = 0;
+	buf->__glibc_reserved[2] = 0;
+	buf->__glibc_reserved[3] = 0;
+      }
+      break;
+
+    case _STAT_VER_GLIBC2_3_4:
+      {
+	struct stat64 *buf = ubuf;
+
+	buf->st_dev = kbuf->st_dev;
+	buf->st_ino = kbuf->st_ino;
+	buf->st_rdev = kbuf->st_rdev;
+	buf->st_size = kbuf->st_size;
+	buf->st_blocks = kbuf->st_blocks;
+
+	buf->st_mode = kbuf->st_mode;
+	buf->st_uid = kbuf->st_uid;
+	buf->st_gid = kbuf->st_gid;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_nlink = kbuf->st_nlink;
+	buf->__pad0 = 0;
+
+	buf->st_atime = kbuf->st_atime;
+	buf->st_atimensec = 0;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_mtimensec = 0;
+	buf->st_ctime = kbuf->st_ctime;
+	buf->st_ctimensec = 0;
+
+	buf->__glibc_reserved[0] = 0;
+	buf->__glibc_reserved[1] = 0;
+	buf->__glibc_reserved[2] = 0;
+      }
+      break;
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.h b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.h
new file mode 100644
index 0000000000..121689662d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/alpha/xstatconv.h
@@ -0,0 +1,22 @@
+/* Convert between the kernel's `struct stat' format, and libc's.
+   Copyright (C) 2004-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/syscall.h>
+
+extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+  attribute_hidden;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/arch-fork.h
new file mode 100644
index 0000000000..b4e741c34d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arch-fork.h
@@ -0,0 +1,27 @@
+/* ARCH_FORK definition for Linux fork implementation.  Stub version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file should define the function-like macro of no arguments
+   ARCH_FORK to an INLINE_SYSCALL invocation of the clone-like system
+   call, passing the CLONE_CHILD_SETTID and CLONE_CHILD_CLEARTID flags
+   and &THREAD_SELF->tid as the TID address.
+
+   Machines that lack an arch-fork.h header file will hit an #error in
+   fork.c; this stub file doesn't contain an #error itself mainly for
+   the transition period of migrating old machine-specific fork.c files
+   to machine-specific arch-fork.h instead.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Implies
new file mode 100644
index 0000000000..e609c137d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Implies
@@ -0,0 +1 @@
+arm/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Makefile
new file mode 100644
index 0000000000..b9b8f71721
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Makefile
@@ -0,0 +1,69 @@
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+sysdep-rtld-routines += aeabi_read_tp libc-do-syscall
+endif
+
+ifeq ($(subdir),misc)
+sysdep_routines += ioperm
+sysdep_headers += sys/elf.h sys/io.h
+endif
+
+ifeq ($(subdir),signal)
+sysdep_routines += sigrestorer
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+# Add a syscall function to each library that needs one.
+
+ifeq ($(subdir),crypt)
+libcrypt-sysdep_routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),rt)
+librt-sysdep_routines += libc-do-syscall
+librt-shared-only-routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-sysdep_routines += libc-do-syscall
+libpthread-shared-only-routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),resolv)
+libanl-sysdep_routines += libc-do-syscall
+libanl-shared-only-routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),csu)
+sysdep_routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),nscd)
+nscd-modules += libc-do-syscall
+endif
+
+ifeq ($(subdir),nss)
+libnss_db-sysdep_routines += libc-do-syscall
+libnss_db-shared-only-routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),posix)
+LDFLAGS-tst-rfc3484 += $(common-objpfx)csu/libc-do-syscall.o
+LDFLAGS-tst-rfc3484-2 += $(common-objpfx)csu/libc-do-syscall.o
+LDFLAGS-tst-rfc3484-3 += $(common-objpfx)csu/libc-do-syscall.o
+endif
+
+abi-variants := soft hard
+
+ifeq (,$(filter $(default-abi),$(abi-variants)))
+Unknown ABI, must be one of $(abi-variants)
+endif
+
+abi-includes :=
+abi-soft-options := -U__ARM_PCS_VFP
+abi-soft-condition := !defined __ARM_PCS_VFP
+abi-hard-options := -D__ARM_PCS_VFP
+abi-hard-condition := defined __ARM_PCS_VFP
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Versions
new file mode 100644
index 0000000000..7e5ba53455
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/Versions
@@ -0,0 +1,19 @@
+libc {
+  GLIBC_2.4 {
+    ioperm; iopl;
+    inb; inw; inl;
+    outb; outw; outl;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_2.24 {
+    recvmsg; sendmsg;
+  }
+  GLIBC_PRIVATE {
+    # A copy of sigaction lives in libpthread, and needs these.
+    __default_sa_restorer; __default_rt_sa_restorer;
+    # nptl/pthread_cond_timedwait.c uses INTERNAL_VSYSCALL(clock_gettime).
+    __vdso_clock_gettime;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
new file mode 100644
index 0000000000..6d8d93ae5f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/____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/>.  */
+
+#include <sysdep.h>
+
+	.section .rodata.str1.1,"aMS",%progbits,1
+	.type	longjmp_msg,%object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size	longjmp_msg, .-longjmp_msg
+	.text
+
+#define __longjmp ____longjmp_chk
+
+#ifdef PIC
+# define CALL_FAIL						\
+	ldr	sl, .L_GOT;					\
+	cfi_undefined (sl);					\
+.L_GOT_OFF:							\
+	add	sl, pc, sl;					\
+	ldr	r0, .Lstr;					\
+	add	r0, sl, r0;					\
+	B	PLTJMP(HIDDEN_JUMPTARGET(__fortify_fail));	\
+.L_GOT:								\
+	.word	_GLOBAL_OFFSET_TABLE_-(.L_GOT_OFF+8);		\
+.Lstr:								\
+	.word	longjmp_msg(GOTOFF);
+#else
+# define CALL_FAIL					\
+	ldr	r0, .Lstr;				\
+	B	HIDDEN_JUMPTARGET(__fortify_fail);	\
+.Lstr:							\
+	.word	longjmp_msg;
+#endif
+
+#define CHECK_SP(reg)				\
+	cfi_remember_state;			\
+	cmp	sp, reg;			\
+	bls	.Lok;				\
+	push	{ r7 };				\
+	cfi_adjust_cfa_offset (4);		\
+	cfi_rel_offset (r7, 0);			\
+	mov	r5, r0;				\
+	cfi_undefined (r5);			\
+	mov	r7, #SYS_ify(sigaltstack);	\
+	mov	r0, #0;				\
+	sub	sp, sp, #12; /* == sizeof (stack_t) */ \
+	cfi_adjust_cfa_offset (12);		\
+	cfi_remember_state;			\
+	mov	r1, sp;				\
+	swi	#0;				\
+	cmp	r0, #0;				\
+	bne	.Lok2;				\
+	ldr	r1, [sp, #4];			\
+	tst	r1, #1;				\
+	beq	.Lfail;				\
+	ldr	r2, [sp, #0];			\
+	ldr	r3, [sp, #8];			\
+	add	r2, r2, r3;			\
+	sub	r2, r2, reg;			\
+	cmp	r2, r3;				\
+	bhi	.Lok2;				\
+.Lfail:						\
+	add	sp, sp, #12;			\
+	cfi_adjust_cfa_offset (-12);		\
+	pop	{ r7 };				\
+	cfi_adjust_cfa_offset (-4);		\
+	cfi_restore (r7);			\
+	CALL_FAIL				\
+	cfi_restore_state;			\
+.Lok2:						\
+	mov	r0, r5;				\
+	cfi_restore_state;			\
+.Lok:
+
+#include <__longjmp.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
new file mode 100644
index 0000000000..12eae35e7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
@@ -0,0 +1,55 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* GCC will emit calls to this routine under -mtp=soft.  Linux has an
+   equivalent helper function (which clobbers fewer registers than
+   a normal function call) in a high page of memory; tail call to the
+   helper.  */
+
+	.hidden __aeabi_read_tp
+ENTRY (__aeabi_read_tp)
+#ifdef ARCH_HAS_HARD_TP
+	mrc	p15, 0, r0, c13, c0, 3
+	bx	lr
+#elif defined(__thumb2__)
+	movw	r0, #0x0fe0
+	movt	r0, #0xffff
+	bx	r0
+#else
+	mov	r0, #0xffff0fff
+	sub	pc, r0, #31
+#endif
+END (__aeabi_read_tp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/alphasort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/alphasort64.c
new file mode 100644
index 0000000000..0b5ae47d2f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/alphasort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/alphasort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/arch-fork.h
new file mode 100644
index 0000000000..ab2d00e32e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/arch-fork.h
@@ -0,0 +1,27 @@
+/* ARCH_FORK definition for Linux fork implementation.  ARM version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK()                                                     \
+  INLINE_SYSCALL (clone, 5,                                             \
+                  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,  \
+                  NULL, NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/arm-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/arm-features.h
new file mode 100644
index 0000000000..91c12a6243
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/arm-features.h
@@ -0,0 +1,30 @@
+/* Macros to test for CPU features on ARM.  Linux version.
+   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/>.  */
+
+#ifndef _LINUX_ARM_FEATURES_H
+#define _LINUX_ARM_FEATURES_H 1
+
+#ifndef __ASSEMBLER__
+# include <ldsodefs.h>
+
+# define ARM_HAVE_VFP	(GLRO (dl_hwcap) & HWCAP_ARM_VFP)
+#endif
+
+#include_next <arm-features.h>
+
+#endif  /* arm-features.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/atomic-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/atomic-machine.h
new file mode 100644
index 0000000000..5fb516284b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/atomic-machine.h
@@ -0,0 +1,107 @@
+/* Atomic operations.  ARM/Linux version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdint.h>
+
+/* If the compiler doesn't provide a primitive, we'll use this macro
+   to get assistance from the kernel.  */
+#ifdef __thumb2__
+# define __arm_assisted_full_barrier() \
+     __asm__ __volatile__						      \
+	     ("movw\tip, #0x0fa0\n\t"					      \
+	      "movt\tip, #0xffff\n\t"					      \
+	      "blx\tip"							      \
+	      : : : "ip", "lr", "cc", "memory");
+#else
+# define __arm_assisted_full_barrier() \
+     __asm__ __volatile__						      \
+	     ("mov\tip, #0xffff0fff\n\t"				      \
+	      "mov\tlr, pc\n\t"						      \
+	      "add\tpc, ip, #(0xffff0fa0 - 0xffff0fff)"			      \
+	      : : : "ip", "lr", "cc", "memory");
+#endif
+
+/* Atomic compare and exchange.  This sequence relies on the kernel to
+   provide a compare and exchange operation which is atomic on the
+   current architecture, either via cleverness on pre-ARMv6 or via
+   ldrex / strex on ARMv6.
+
+   It doesn't matter what register is used for a_oldval2, but we must
+   specify one to work around GCC PR rtl-optimization/21223.  Otherwise
+   it may cause a_oldval or a_tmp to be moved to a different register.
+
+   We use the union trick rather than simply using __typeof (...) in the
+   declarations of A_OLDVAL et al because when NEWVAL or OLDVAL is of the
+   form *PTR and PTR has a 'volatile ... *' type, then __typeof (*PTR) has
+   a 'volatile ...' type and this triggers -Wvolatile-register-var to
+   complain about 'register volatile ... asm ("reg")'.  */
+#ifdef __thumb2__
+/* Thumb-2 has ldrex/strex.  However it does not have barrier instructions,
+   so we still need to use the kernel helper.  */
+# define __arm_assisted_compare_and_exchange_val_32_acq(mem, newval, oldval) \
+  ({ union { __typeof (oldval) a; uint32_t v; } oldval_arg = { .a = (oldval) };\
+     union { __typeof (newval) a; uint32_t v; } newval_arg = { .a = (newval) };\
+     register uint32_t a_oldval asm ("r0");				      \
+     register uint32_t a_newval asm ("r1") = newval_arg.v;		      \
+     register __typeof (mem) a_ptr asm ("r2") = (mem);			      \
+     register uint32_t a_tmp asm ("r3");				      \
+     register uint32_t a_oldval2 asm ("r4") = oldval_arg.v;		      \
+     __asm__ __volatile__						      \
+	     ("0:\tldr\t%[tmp],[%[ptr]]\n\t"				      \
+	      "cmp\t%[tmp], %[old2]\n\t"				      \
+	      "bne\t1f\n\t"						      \
+	      "mov\t%[old], %[old2]\n\t"				      \
+	      "movw\t%[tmp], #0x0fc0\n\t"				      \
+	      "movt\t%[tmp], #0xffff\n\t"				      \
+	      "blx\t%[tmp]\n\t"						      \
+	      "bcc\t0b\n\t"						      \
+	      "mov\t%[tmp], %[old2]\n\t"				      \
+	      "1:"							      \
+	      : [old] "=&r" (a_oldval), [tmp] "=&r" (a_tmp)		      \
+	      : [new] "r" (a_newval), [ptr] "r" (a_ptr),		      \
+		[old2] "r" (a_oldval2)					      \
+	      : "ip", "lr", "cc", "memory");				      \
+     (__typeof (oldval)) a_tmp; })
+#else
+# define __arm_assisted_compare_and_exchange_val_32_acq(mem, newval, oldval) \
+  ({ union { __typeof (oldval) a; uint32_t v; } oldval_arg = { .a = (oldval) };\
+     union { __typeof (newval) a; uint32_t v; } newval_arg = { .a = (newval) };\
+     register uint32_t a_oldval asm ("r0");				      \
+     register uint32_t a_newval asm ("r1") = newval_arg.v;		      \
+     register __typeof (mem) a_ptr asm ("r2") = (mem);			      \
+     register uint32_t a_tmp asm ("r3");				      \
+     register uint32_t a_oldval2 asm ("r4") = oldval_arg.v;		      \
+     __asm__ __volatile__						      \
+	     ("0:\tldr\t%[tmp],[%[ptr]]\n\t"				      \
+	      "cmp\t%[tmp], %[old2]\n\t"				      \
+	      "bne\t1f\n\t"						      \
+	      "mov\t%[old], %[old2]\n\t"				      \
+	      "mov\t%[tmp], #0xffff0fff\n\t"				      \
+	      "mov\tlr, pc\n\t"						      \
+	      "add\tpc, %[tmp], #(0xffff0fc0 - 0xffff0fff)\n\t"		      \
+	      "bcc\t0b\n\t"						      \
+	      "mov\t%[tmp], %[old2]\n\t"				      \
+	      "1:"							      \
+	      : [old] "=&r" (a_oldval), [tmp] "=&r" (a_tmp)		      \
+	      : [new] "r" (a_newval), [ptr] "r" (a_ptr),		      \
+		[old2] "r" (a_oldval2)					      \
+	      : "ip", "lr", "cc", "memory");				      \
+     (__typeof (oldval)) a_tmp; })
+#endif
+
+#include <sysdeps/arm/atomic-machine.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/fcntl.h
new file mode 100644
index 0000000000..61a8dac187
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/fcntl.h
@@ -0,0 +1,54 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define __O_DIRECTORY	 040000	/* Must be a directory.	 */
+#define __O_NOFOLLOW	0100000	/* Do not follow links.	 */
+#define __O_DIRECT	0200000	/* Direct disk access.	*/
+#define __O_LARGEFILE	0400000
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/hwcap.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/hwcap.h
new file mode 100644
index 0000000000..b2cc3d8828
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/hwcap.h
@@ -0,0 +1,45 @@
+/* Defines for bits in AT_HWCAP.  ARM Linux version.
+   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/>.  */
+
+#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
+# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
+#endif
+
+/* The following must match the kernel's <asm/hwcap.h>.  */
+#define HWCAP_ARM_SWP		1
+#define HWCAP_ARM_HALF		2
+#define HWCAP_ARM_THUMB		4
+#define HWCAP_ARM_26BIT		8
+#define HWCAP_ARM_FAST_MULT	16
+#define HWCAP_ARM_FPA		32
+#define HWCAP_ARM_VFP		64
+#define HWCAP_ARM_EDSP		128
+#define HWCAP_ARM_JAVA		256
+#define HWCAP_ARM_IWMMXT	512
+#define HWCAP_ARM_CRUNCH	1024
+#define HWCAP_ARM_THUMBEE	2048
+#define HWCAP_ARM_NEON		4096
+#define HWCAP_ARM_VFPv3		8192
+#define HWCAP_ARM_VFPv3D16	16384
+#define HWCAP_ARM_TLS		32768
+#define HWCAP_ARM_VFPv4		65536
+#define HWCAP_ARM_IDIVA		131072
+#define HWCAP_ARM_IDIVT		262144
+#define HWCAP_ARM_VFPD32	524288
+#define HWCAP_ARM_LPAE		1048576
+#define HWCAP_ARM_EVTSTRM	2097152
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/mman.h
new file mode 100644
index 0000000000..14baee793b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/mman.h
@@ -0,0 +1,40 @@
+/* Definitions for POSIX memory map interface.  Linux/ARM version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/shm.h
new file mode 100644
index 0000000000..2448ffdd72
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/bits/shm.h
@@ -0,0 +1,103 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize () << 2)
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    unsigned long int __glibc_reserved1;
+    __time_t shm_dtime;			/* time of last shmdt() */
+    unsigned long int __glibc_reserved2;
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    unsigned long int __glibc_reserved3;
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/brk.c
new file mode 100644
index 0000000000..74bff978d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/brk.c
@@ -0,0 +1,41 @@
+/* brk system call for Linux/ARM.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  __curbrk = newbrk = (void *) INLINE_SYSCALL (brk, 1, addr);
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/arm/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/clone.S
new file mode 100644
index 0000000000..a309add895
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/clone.S
@@ -0,0 +1,84 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Pat Beirne <patb@corelcomputer.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/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#include <tcb-offsets.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM      0x00000100
+#define CLONE_THREAD  0x00010000
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     pid_t *ptid, struct user_desc *tls, pid_t *ctid); */
+
+        .text
+ENTRY(__clone)
+	@ sanity check args
+	cmp	r0, #0
+	ite	ne
+	cmpne	r1, #0
+	moveq	r0, #-EINVAL
+	beq	PLTJMP(syscall_error)
+
+	@ insert the args onto the new stack
+	str	r3, [r1, #-4]!
+	str	r0, [r1, #-4]!
+
+	@ do the system call
+	@ get flags
+	mov	r0, r2
+	mov	ip, r2
+	@ new sp is already in r1
+	push	{r4, r7}
+	cfi_adjust_cfa_offset (8)
+	cfi_rel_offset (r4, 0)
+	cfi_rel_offset (r7, 4)
+	ldr	r2, [sp, #8]
+	ldr	r3, [sp, #12]
+	ldr	r4, [sp, #16]
+	ldr	r7, =SYS_ify(clone)
+	swi	0x0
+	cfi_endproc
+	cmp	r0, #0
+	beq	1f
+	pop	{r4, r7}
+	blt	PLTJMP(C_SYMBOL_NAME(__syscall_error))
+	RETINSTR(, lr)
+
+	cfi_startproc
+PSEUDO_END (__clone)
+
+1:
+	.fnstart
+	.cantunwind
+	@ pick the function arg and call address off the stack and execute
+	ldr	r0, [sp, #4]
+	ldr 	ip, [sp], #8
+	BLX (ip)
+
+	@ and we are done, passing the return value through r0
+	b	PLTJMP(HIDDEN_JUMPTARGET(_exit))
+
+	.fnend
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-cache.h
new file mode 100644
index 0000000000..ccc4f2f3b3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-cache.h
@@ -0,0 +1,34 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldconfig.h>
+
+/* In order to support the transition from unmarked objects
+   to marked objects we must treat unmarked objects as
+   compatible with either FLAG_ARM_LIBHF or FLAG_ARM_LIBSF.  */
+#ifdef __ARM_PCS_VFP
+# define _dl_cache_check_flags(flags) \
+  ((flags) == (FLAG_ARM_LIBHF | FLAG_ELF_LIBC6) \
+   || (flags) == FLAG_ELF_LIBC6)
+#else
+# define _dl_cache_check_flags(flags) \
+  ((flags) == (FLAG_ARM_LIBSF | FLAG_ELF_LIBC6) \
+   || (flags) == FLAG_ELF_LIBC6)
+#endif
+
+#include_next <dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-machine.h
new file mode 100644
index 0000000000..8cc7d25439
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-machine.h
@@ -0,0 +1,30 @@
+/* Machine-dependent ELF dynamic relocation inline functions.  ARM/Linux version
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef dl_machine_h
+
+/* This definition is Linux-specific.  */
+#define CLEAR_CACHE(BEG,END)                                            \
+  INTERNAL_SYSCALL_ARM (cacheflush, , 3, (BEG), (END), 0)
+
+#endif
+
+/* The rest is just machine-specific.
+   This #include is outside the #ifndef because the parts of
+   dl-machine.h used only by dynamic-link.h are outside the guard.  */
+#include <sysdeps/arm/dl-machine.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
new file mode 100644
index 0000000000..15c45d089f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
@@ -0,0 +1,66 @@
+/* Data for Linux/ARM version of processor capability information.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <philb@gnu.org>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This information must be kept in sync with the _DL_HWCAP_COUNT and
+   _DL_PLATFORM_COUNT definitions in procinfo.h.
+
+   If anything should be added here check whether the size of each string
+   is still ok with the given array size.
+
+   All the #ifdefs in the definitions are quite irritating but
+   necessary if we want to avoid duplicating the information.  There
+   are three different modes:
+
+   - PROCINFO_DECL is defined.  This means we are only interested in
+     declarations.
+
+   - PROCINFO_DECL is not defined:
+
+     + if SHARED is defined the file is included in an array
+       initializer.  The .element = { ... } syntax is needed.
+
+     + if SHARED is not defined a normal array initialization is
+       needed.
+  */
+
+#ifndef PROCINFO_CLASS
+#define PROCINFO_CLASS
+#endif
+
+#if !defined PROCINFO_DECL && defined SHARED
+  ._dl_arm_cap_flags
+#else
+PROCINFO_CLASS const char _dl_arm_cap_flags[27][10]
+#endif
+#ifndef PROCINFO_DECL
+= {
+    "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp",
+    "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16",
+    "tls", "vfpv4", "idiva", "idivt", "vfpd32", "lpae", "evtstrm",
+    "aes", "pmull", "sha1", "sha2", "crc32",
+  }
+#endif
+#if !defined SHARED || defined PROCINFO_DECL
+;
+#else
+,
+#endif
+
+#undef PROCINFO_DECL
+#undef PROCINFO_CLASS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
new file mode 100644
index 0000000000..b6a9d9f6a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -0,0 +1,93 @@
+/* Linux/ARM version of processor capability information handling macros.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <philb@gnu.org>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_PROCINFO_H
+#define _DL_PROCINFO_H	1
+
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+#define _DL_HWCAP_COUNT 27
+
+/* Low 22 bits are allocated in HWCAP.  */
+#define _DL_HWCAP_LAST		21
+
+/* Low 5 bits are allocated in HWCAP2.  */
+#define _DL_HWCAP2_LAST		4
+
+/* The kernel provides platform data but it is not interesting.  */
+#define _DL_HWCAP_PLATFORM	0
+
+
+static inline const char *
+__attribute__ ((unused))
+_dl_hwcap_string (int idx)
+{
+  return GLRO(dl_arm_cap_flags)[idx];
+};
+
+static inline int
+__attribute__ ((unused))
+_dl_procinfo (unsigned int type, unsigned long int word)
+{
+  switch(type)
+    {
+    case AT_HWCAP:
+      _dl_printf ("AT_HWCAP:       ");
+
+      for (int i = 0; i <= _DL_HWCAP_LAST; ++i)
+	if (word & (1 << i))
+	  _dl_printf (" %s", _dl_hwcap_string (i));
+      break;
+    case AT_HWCAP2:
+      {
+	unsigned int offset = _DL_HWCAP_LAST + 1;
+
+	_dl_printf ("AT_HWCAP2:      ");
+
+	for (int i = 0; i <= _DL_HWCAP2_LAST; ++i)
+	  if (word & (1 << i))
+	    _dl_printf (" %s", _dl_hwcap_string (offset + i));
+	break;
+      }
+    default:
+      /* This should not happen.  */
+      return -1;
+    }
+  _dl_printf ("\n");
+  return 0;
+}
+
+#define HWCAP_IMPORTANT		(HWCAP_ARM_VFP | HWCAP_ARM_NEON)
+
+static inline int
+__attribute__ ((unused))
+_dl_string_hwcap (const char *str)
+{
+  for (int i = 0; i < _DL_HWCAP_COUNT; i++)
+    {
+      if (strcmp (str, _dl_hwcap_string (i)) == 0)
+	return i;
+    }
+  return -1;
+};
+
+#define _dl_string_platform(str) (-1)
+
+#endif /* dl-procinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/getcontext.S
new file mode 100644
index 0000000000..fcc6c6f36b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/getcontext.S
@@ -0,0 +1,115 @@
+/* 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>
+#include <rtld-global-offsets.h>
+
+#include "ucontext_i.h"
+
+	.syntax unified
+	.text
+
+/* int getcontext (ucontext_t *ucp) */
+
+ENTRY(__getcontext)
+	/* No need to save r0-r3, d0-d7, or d16-d31.  */
+	add	r1, r0, #MCONTEXT_ARM_R4
+	stmia   r1, {r4-r11}
+
+	/* Save R13 separately as Thumb can't STM it.  */
+	str     r13, [r0, #MCONTEXT_ARM_SP]
+	str     r14, [r0, #MCONTEXT_ARM_LR]
+	/* Return to LR */
+	str     r14, [r0, #MCONTEXT_ARM_PC]
+	/* Return zero */
+	mov     r2, #0
+	str     r2, [r0, #MCONTEXT_ARM_R0]
+
+	/* Save ucontext_t * across the next call.  */
+	mov	r4, r0
+
+	/* __sigprocmask(SIG_BLOCK, NULL, &(ucontext->uc_sigmask)) */
+	mov     r0, #SIG_BLOCK
+	mov     r1, #0
+	add     r2, r4, #UCONTEXT_SIGMASK
+	bl      PLTJMP(__sigprocmask)
+
+	/* Store FP regs.  Much of the FP code is copied from arm/setjmp.S.  */
+
+#ifdef PIC
+	ldr     r2, 1f
+	ldr     r1, .Lrtld_global_ro
+0:      add     r2, pc, r2
+	ldr     r2, [r2, r1]
+	ldr     r2, [r2, #RTLD_GLOBAL_RO_DL_HWCAP_OFFSET]
+#else
+	ldr     r2, .Lhwcap
+	ldr     r2, [r2, #0]
+#endif
+
+	add	r0, r4, #UCONTEXT_REGSPACE
+
+#ifdef __SOFTFP__
+	tst     r2, #HWCAP_ARM_VFP
+	beq     .Lno_vfp
+#endif
+
+	/* Store the VFP registers.
+	   Don't use VFP instructions directly because this code
+	   is used in non-VFP multilibs.  */
+	/* Following instruction is vstmia r0!, {d8-d15}.  */
+	stc     p11, cr8, [r0], #64
+	/* Store the floating-point status register.  */
+	/* Following instruction is vmrs r1, fpscr.  */
+	mrc     p10, 7, r1, cr1, cr0, 0
+	str     r1, [r0], #4
+.Lno_vfp:
+
+	tst     r2, #HWCAP_ARM_IWMMXT
+	beq     .Lno_iwmmxt
+
+	/* Save the call-preserved iWMMXt registers.  */
+	/* Following instructions are wstrd wr10, [r0], #8 (etc.)  */
+	stcl    p1, cr10, [r0], #8
+	stcl    p1, cr11, [r0], #8
+	stcl    p1, cr12, [r0], #8
+	stcl    p1, cr13, [r0], #8
+	stcl    p1, cr14, [r0], #8
+	stcl    p1, cr15, [r0], #8
+.Lno_iwmmxt:
+
+	/* Restore the clobbered R4 and LR.  */
+	ldr	r14, [r4, #MCONTEXT_ARM_LR]
+	ldr	r4, [r4, #MCONTEXT_ARM_R4]
+
+	mov	r0, #0
+
+	DO_RET(r14)
+
+END(__getcontext)
+
+#ifdef PIC
+1:      .long   _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
+.Lrtld_global_ro:
+	.long   C_SYMBOL_NAME(_rtld_global_ro)(GOT)
+#else
+.Lhwcap:
+	.long   C_SYMBOL_NAME(_dl_hwcap)
+#endif
+
+
+weak_alias(__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/glob64.c
new file mode 100644
index 0000000000..82a9a296a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/glob64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/glob64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/init-first.c
new file mode 100644
index 0000000000..3c289c2a25
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/init-first.c
@@ -0,0 +1,44 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/ARM.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) attribute_hidden;
+int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
+
+  void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/ioperm.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ioperm.c
new file mode 100644
index 0000000000..c1fedd3696
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ioperm.c
@@ -0,0 +1,183 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Phil Blundell, based on the Alpha version by
+   David Mosberger.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* I/O port access on the ARM is something of a fiction.  What we do is to
+   map an appropriate area of /dev/mem into user space so that a program
+   can blast away at the hardware in such a way as to generate I/O cycles
+   on the bus.  To insulate user code from dependencies on particular
+   hardware we don't allow calls to inb() and friends to be inlined, but
+   force them to come through code in here every time.  Performance-critical
+   registers tend to be memory mapped these days so this should be no big
+   problem.  */
+
+/* Once upon a time this file used mprotect to enable and disable
+   access to particular areas of I/O space.  Unfortunately the
+   mprotect syscall also has the side effect of enabling caching for
+   the area affected (this is a kernel limitation).  So we now just
+   enable all the ports all of the time.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/types.h>
+#include <sys/mman.h>
+
+#include <sys/sysctl.h>
+
+#define MAX_PORT	0x10000
+
+static struct {
+  unsigned long int	base;
+  unsigned long int	io_base;
+  unsigned int		shift;
+  unsigned int		initdone;	/* since all the above could be 0 */
+} io;
+
+#define IO_ADDR(port)	(io.base + ((port) << io.shift))
+
+/*
+ * Initialize I/O system.  The io_bae and port_shift values are fetched
+ * using sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*).
+ */
+
+static int
+init_iosys (void)
+{
+  static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
+  static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
+  size_t len = sizeof(io.base);
+
+  if (! __sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
+      && ! __sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0))
+    {
+      io.initdone = 1;
+      return 0;
+    }
+
+  /* sysctl has failed... */
+  __set_errno (ENODEV);
+  return -1;
+}
+
+int
+_ioperm (unsigned long int from, unsigned long int num, int turn_on)
+{
+  if (! io.initdone && init_iosys () < 0)
+    return -1;
+
+  /* this test isn't as silly as it may look like; consider overflows! */
+  if (from >= MAX_PORT || from + num > MAX_PORT)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  if (turn_on)
+    {
+      if (! io.base)
+	{
+	  int fd;
+
+	  fd = __open ("/dev/mem", O_RDWR);
+	  if (fd < 0)
+	    return -1;
+
+	  io.base =
+	    (unsigned long int) __mmap (0, MAX_PORT << io.shift,
+					PROT_READ | PROT_WRITE,
+					MAP_SHARED, fd, io.io_base);
+	  __close (fd);
+	  if ((long) io.base == -1)
+	    return -1;
+	}
+    }
+
+  return 0;
+}
+
+
+int
+_iopl (unsigned int level)
+{
+    if (level > 3)
+      {
+	__set_errno (EINVAL);
+	return -1;
+      }
+    if (level)
+      {
+	return _ioperm (0, MAX_PORT, 1);
+      }
+    return 0;
+}
+
+
+void
+_outb (unsigned char b, unsigned long int port)
+{
+  *((volatile unsigned char *)(IO_ADDR (port))) = b;
+}
+
+
+void
+_outw (unsigned short b, unsigned long int port)
+{
+  *((volatile unsigned short *)(IO_ADDR (port))) = b;
+}
+
+
+void
+_outl (unsigned int b, unsigned long int port)
+{
+  *((volatile unsigned long *)(IO_ADDR (port))) = b;
+}
+
+
+unsigned int
+_inb (unsigned long int port)
+{
+  return *((volatile unsigned char *)(IO_ADDR (port)));
+}
+
+
+unsigned int
+_inw (unsigned long int port)
+{
+  return *((volatile unsigned short *)(IO_ADDR (port)));
+}
+
+
+unsigned int
+_inl (unsigned long int port)
+{
+  return *((volatile unsigned long *)(IO_ADDR (port)));
+}
+
+weak_alias (_ioperm, ioperm);
+weak_alias (_iopl, iopl);
+weak_alias (_inb, inb);
+weak_alias (_inw, inw);
+weak_alias (_inl, inl);
+weak_alias (_outb, outb);
+weak_alias (_outw, outw);
+weak_alias (_outl, outl);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/kernel-features.h
new file mode 100644
index 0000000000..e13b049389
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/kernel-features.h
@@ -0,0 +1,41 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2006-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_next <kernel-features.h>
+
+/* The ARM kernel before 3.14.3 may or may not support
+   futex_atomic_cmpxchg_inatomic, depending on kernel
+   configuration.  */
+#if __LINUX_KERNEL_VERSION < 0x030E03
+# undef __ASSUME_SET_ROBUST_LIST
+#endif
+
+/* ARM fadvise64_64 reorganize the syscall arguments.  */
+#define __ASSUME_FADVISE64_64_6ARG	1
+
+/* Define this if your 32-bit syscall API requires 64-bit register
+   pairs to start with an even-number register.  */
+#define __ASSUME_ALIGNED_REGISTER_PAIRS	1
+
+/* ARM only has a syscall for fadvise64{_64} and it is defined with a
+   non-standard name.  */
+#define __NR_fadvise64_64 __NR_arm_fadvise64_64
+
+#define __ASSUME_RECV_SYSCALL   1
+#define __ASSUME_SEND_SYSCALL	1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ld.abilist
new file mode 100644
index 0000000000..cbf3a3cb2e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __libc_stack_end D 0x4
+GLIBC_2.4 __stack_chk_guard D 0x4
+GLIBC_2.4 __tls_get_addr F
+GLIBC_2.4 _dl_mcount F
+GLIBC_2.4 _r_debug D 0x14
+GLIBC_2.4 calloc F
+GLIBC_2.4 free F
+GLIBC_2.4 malloc F
+GLIBC_2.4 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldconfig.h
new file mode 100644
index 0000000000..a9a467cc6b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldconfig.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux.so.3", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-armhf.so.3", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldsodefs.h
new file mode 100644
index 0000000000..6bd126b8ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ldsodefs.h
@@ -0,0 +1,73 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   Copyright (C) 2010-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 _ARM_LINUX_LDSODEFS_H
+#define _ARM_LINUX_LDSODEFS_H 1
+
+#include_next <ldsodefs.h>
+
+#undef VALID_ELF_HEADER
+#undef VALID_ELF_OSABI
+#undef MORE_ELF_HEADER_DATA
+
+#define EXTRA_OSABI ELFOSABI_ARM_AEABI
+
+#ifdef __ARM_PCS_VFP
+# define VALID_FLOAT_ABI(x) \
+  ((EF_ARM_EABI_VERSION ((x)) != EF_ARM_EABI_VER5)	\
+   || !((x) & EF_ARM_ABI_FLOAT_SOFT))
+#else
+# define VALID_FLOAT_ABI(x) \
+  ((EF_ARM_EABI_VERSION ((x)) != EF_ARM_EABI_VER5)	\
+   || !((x) & EF_ARM_ABI_FLOAT_HARD))
+#endif
+
+#undef VALID_ELF_HEADER
+#define VALID_ELF_HEADER(hdr,exp,size)		\
+  ((memcmp (hdr, exp, size) == 0		\
+    || memcmp (hdr, expected2, size) == 0	\
+    || memcmp (hdr, expected3, size) == 0)	\
+   && VALID_FLOAT_ABI (ehdr->e_flags))
+#define VALID_ELF_OSABI(osabi)		(osabi == ELFOSABI_SYSV		\
+					 || osabi == ELFOSABI_GNU	\
+					 || osabi == EXTRA_OSABI)
+#define MORE_ELF_HEADER_DATA				\
+  static const unsigned char expected2[EI_PAD] =	\
+  {							\
+    [EI_MAG0] = ELFMAG0,				\
+    [EI_MAG1] = ELFMAG1,				\
+    [EI_MAG2] = ELFMAG2,				\
+    [EI_MAG3] = ELFMAG3,				\
+    [EI_CLASS] = ELFW(CLASS),				\
+    [EI_DATA] = byteorder,				\
+    [EI_VERSION] = EV_CURRENT,				\
+    [EI_OSABI] = ELFOSABI_GNU				\
+  };							\
+  static const unsigned char expected3[EI_PAD] =	\
+  {							\
+    [EI_MAG0] = ELFMAG0,				\
+    [EI_MAG1] = ELFMAG1,				\
+    [EI_MAG2] = ELFMAG2,				\
+    [EI_MAG3] = ELFMAG3,				\
+    [EI_CLASS] = ELFW(CLASS),				\
+    [EI_DATA] = byteorder,				\
+    [EI_VERSION] = EV_CURRENT,				\
+    [EI_OSABI] = EXTRA_OSABI				\
+  }
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist
new file mode 100644
index 0000000000..e80f213955
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libanl.abilist
new file mode 100644
index 0000000000..df0c397ddc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 gai_cancel F
+GLIBC_2.4 gai_error F
+GLIBC_2.4 gai_suspend F
+GLIBC_2.4 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
new file mode 100644
index 0000000000..e5c1341a9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
@@ -0,0 +1,51 @@
+/* Copyright (C) 2010-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/>.  */
+
+/* When this file is built for inclusion in nscd, _FORTIFY_SOURCE is
+   defined but -O is not used, resulting in a warning from features.h.  */
+#undef _FORTIFY_SOURCE
+#include <sysdep.h>
+
+/* Out-of-line syscall stub.  We expect the system call number in ip
+   and return the raw result in r0.  No registers are clobbered.
+   We could avoid using the stack for this, but the goal is accurate
+   unwind information - and while there is a reserved prefix in the
+   ARM unwind tables for register to register moves, the actual opcodes
+   are not defined.  */
+
+#if defined(__thumb__)
+	.thumb
+	.syntax unified
+	.hidden __libc_do_syscall
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT
+
+ENTRY (__libc_do_syscall)
+	.fnstart
+	push	{r7, lr}
+	.save	{r7, lr}
+	cfi_adjust_cfa_offset (8)
+	cfi_rel_offset (r7, 0)
+	cfi_rel_offset (lr, 4)
+	mov	r7, ip
+	swi	0x0
+	pop	{r7, pc}
+	.fnend
+END (__libc_do_syscall)
+
+#endif /* __thumb__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-vdso.h
new file mode 100644
index 0000000000..ae37b574e1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc-vdso.h
@@ -0,0 +1,33 @@
+/* VDSO function pointer declarations.  Linux/ARM.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc.abilist
new file mode 100644
index 0000000000..d2a206a8df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libc.abilist
@@ -0,0 +1,2154 @@
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.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.4 GLIBC_2.4 A
+GLIBC_2.4 _Exit F
+GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.4 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.4 _IO_adjust_column F
+GLIBC_2.4 _IO_adjust_wcolumn F
+GLIBC_2.4 _IO_default_doallocate F
+GLIBC_2.4 _IO_default_finish F
+GLIBC_2.4 _IO_default_pbackfail F
+GLIBC_2.4 _IO_default_uflow F
+GLIBC_2.4 _IO_default_xsgetn F
+GLIBC_2.4 _IO_default_xsputn F
+GLIBC_2.4 _IO_do_write F
+GLIBC_2.4 _IO_doallocbuf F
+GLIBC_2.4 _IO_fclose F
+GLIBC_2.4 _IO_fdopen F
+GLIBC_2.4 _IO_feof F
+GLIBC_2.4 _IO_ferror F
+GLIBC_2.4 _IO_fflush F
+GLIBC_2.4 _IO_fgetpos F
+GLIBC_2.4 _IO_fgetpos64 F
+GLIBC_2.4 _IO_fgets F
+GLIBC_2.4 _IO_file_attach F
+GLIBC_2.4 _IO_file_close F
+GLIBC_2.4 _IO_file_close_it F
+GLIBC_2.4 _IO_file_doallocate F
+GLIBC_2.4 _IO_file_finish F
+GLIBC_2.4 _IO_file_fopen F
+GLIBC_2.4 _IO_file_init F
+GLIBC_2.4 _IO_file_jumps D 0x54
+GLIBC_2.4 _IO_file_open F
+GLIBC_2.4 _IO_file_overflow F
+GLIBC_2.4 _IO_file_read F
+GLIBC_2.4 _IO_file_seek F
+GLIBC_2.4 _IO_file_seekoff F
+GLIBC_2.4 _IO_file_setbuf F
+GLIBC_2.4 _IO_file_stat F
+GLIBC_2.4 _IO_file_sync F
+GLIBC_2.4 _IO_file_underflow F
+GLIBC_2.4 _IO_file_write F
+GLIBC_2.4 _IO_file_xsputn F
+GLIBC_2.4 _IO_flockfile F
+GLIBC_2.4 _IO_flush_all F
+GLIBC_2.4 _IO_flush_all_linebuffered F
+GLIBC_2.4 _IO_fopen F
+GLIBC_2.4 _IO_fprintf F
+GLIBC_2.4 _IO_fputs F
+GLIBC_2.4 _IO_fread F
+GLIBC_2.4 _IO_free_backup_area F
+GLIBC_2.4 _IO_free_wbackup_area F
+GLIBC_2.4 _IO_fsetpos F
+GLIBC_2.4 _IO_fsetpos64 F
+GLIBC_2.4 _IO_ftell F
+GLIBC_2.4 _IO_ftrylockfile F
+GLIBC_2.4 _IO_funlockfile F
+GLIBC_2.4 _IO_fwrite F
+GLIBC_2.4 _IO_getc F
+GLIBC_2.4 _IO_getline F
+GLIBC_2.4 _IO_getline_info F
+GLIBC_2.4 _IO_gets F
+GLIBC_2.4 _IO_init F
+GLIBC_2.4 _IO_init_marker F
+GLIBC_2.4 _IO_init_wmarker F
+GLIBC_2.4 _IO_iter_begin F
+GLIBC_2.4 _IO_iter_end F
+GLIBC_2.4 _IO_iter_file F
+GLIBC_2.4 _IO_iter_next F
+GLIBC_2.4 _IO_least_wmarker F
+GLIBC_2.4 _IO_link_in F
+GLIBC_2.4 _IO_list_all D 0x4
+GLIBC_2.4 _IO_list_lock F
+GLIBC_2.4 _IO_list_resetlock F
+GLIBC_2.4 _IO_list_unlock F
+GLIBC_2.4 _IO_marker_delta F
+GLIBC_2.4 _IO_marker_difference F
+GLIBC_2.4 _IO_padn F
+GLIBC_2.4 _IO_peekc_locked F
+GLIBC_2.4 _IO_popen F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_proc_close F
+GLIBC_2.4 _IO_proc_open F
+GLIBC_2.4 _IO_putc F
+GLIBC_2.4 _IO_puts F
+GLIBC_2.4 _IO_remove_marker F
+GLIBC_2.4 _IO_seekmark F
+GLIBC_2.4 _IO_seekoff F
+GLIBC_2.4 _IO_seekpos F
+GLIBC_2.4 _IO_seekwmark F
+GLIBC_2.4 _IO_setb F
+GLIBC_2.4 _IO_setbuffer F
+GLIBC_2.4 _IO_setvbuf F
+GLIBC_2.4 _IO_sgetn F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sputbackc F
+GLIBC_2.4 _IO_sputbackwc F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_str_init_readonly F
+GLIBC_2.4 _IO_str_init_static F
+GLIBC_2.4 _IO_str_overflow F
+GLIBC_2.4 _IO_str_pbackfail F
+GLIBC_2.4 _IO_str_seekoff F
+GLIBC_2.4 _IO_str_underflow F
+GLIBC_2.4 _IO_sungetc F
+GLIBC_2.4 _IO_sungetwc F
+GLIBC_2.4 _IO_switch_to_get_mode F
+GLIBC_2.4 _IO_switch_to_main_wget_area F
+GLIBC_2.4 _IO_switch_to_wbackup_area F
+GLIBC_2.4 _IO_switch_to_wget_mode F
+GLIBC_2.4 _IO_un_link F
+GLIBC_2.4 _IO_ungetc F
+GLIBC_2.4 _IO_unsave_markers F
+GLIBC_2.4 _IO_unsave_wmarkers F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 _IO_wdefault_doallocate F
+GLIBC_2.4 _IO_wdefault_finish F
+GLIBC_2.4 _IO_wdefault_pbackfail F
+GLIBC_2.4 _IO_wdefault_uflow F
+GLIBC_2.4 _IO_wdefault_xsgetn F
+GLIBC_2.4 _IO_wdefault_xsputn F
+GLIBC_2.4 _IO_wdo_write F
+GLIBC_2.4 _IO_wdoallocbuf F
+GLIBC_2.4 _IO_wfile_jumps D 0x54
+GLIBC_2.4 _IO_wfile_overflow F
+GLIBC_2.4 _IO_wfile_seekoff F
+GLIBC_2.4 _IO_wfile_sync F
+GLIBC_2.4 _IO_wfile_underflow F
+GLIBC_2.4 _IO_wfile_xsputn F
+GLIBC_2.4 _IO_wmarker_delta F
+GLIBC_2.4 _IO_wsetb F
+GLIBC_2.4 __adjtimex F
+GLIBC_2.4 __aeabi_MB_CUR_MAX F
+GLIBC_2.4 __aeabi_assert F
+GLIBC_2.4 __aeabi_atexit F
+GLIBC_2.4 __aeabi_errno_addr F
+GLIBC_2.4 __aeabi_localeconv F
+GLIBC_2.4 __aeabi_memclr F
+GLIBC_2.4 __aeabi_memclr4 F
+GLIBC_2.4 __aeabi_memclr8 F
+GLIBC_2.4 __aeabi_memcpy F
+GLIBC_2.4 __aeabi_memcpy4 F
+GLIBC_2.4 __aeabi_memcpy8 F
+GLIBC_2.4 __aeabi_memmove F
+GLIBC_2.4 __aeabi_memmove4 F
+GLIBC_2.4 __aeabi_memmove8 F
+GLIBC_2.4 __aeabi_memset F
+GLIBC_2.4 __aeabi_memset4 F
+GLIBC_2.4 __aeabi_memset8 F
+GLIBC_2.4 __after_morecore_hook D 0x4
+GLIBC_2.4 __argz_count F
+GLIBC_2.4 __argz_next F
+GLIBC_2.4 __argz_stringify F
+GLIBC_2.4 __asprintf F
+GLIBC_2.4 __assert F
+GLIBC_2.4 __assert_fail F
+GLIBC_2.4 __assert_perror_fail F
+GLIBC_2.4 __backtrace F
+GLIBC_2.4 __backtrace_symbols F
+GLIBC_2.4 __backtrace_symbols_fd F
+GLIBC_2.4 __bsd_getpgrp F
+GLIBC_2.4 __bzero F
+GLIBC_2.4 __check_rhosts_file D 0x4
+GLIBC_2.4 __chk_fail F
+GLIBC_2.4 __clone F
+GLIBC_2.4 __close F
+GLIBC_2.4 __cmsg_nxthdr F
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __connect F
+GLIBC_2.4 __ctype_b_loc F
+GLIBC_2.4 __ctype_get_mb_cur_max F
+GLIBC_2.4 __ctype_tolower_loc F
+GLIBC_2.4 __ctype_toupper_loc F
+GLIBC_2.4 __curbrk D 0x4
+GLIBC_2.4 __cxa_atexit F
+GLIBC_2.4 __cxa_finalize F
+GLIBC_2.4 __cyg_profile_func_enter F
+GLIBC_2.4 __cyg_profile_func_exit F
+GLIBC_2.4 __daylight D 0x4
+GLIBC_2.4 __dcgettext F
+GLIBC_2.4 __default_morecore F
+GLIBC_2.4 __dgettext F
+GLIBC_2.4 __dup2 F
+GLIBC_2.4 __duplocale F
+GLIBC_2.4 __endmntent F
+GLIBC_2.4 __environ D 0x4
+GLIBC_2.4 __errno_location F
+GLIBC_2.4 __fbufsize F
+GLIBC_2.4 __fcntl F
+GLIBC_2.4 __ffs 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 __finite F
+GLIBC_2.4 __finitef F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __flbf F
+GLIBC_2.4 __fork F
+GLIBC_2.4 __fpending F
+GLIBC_2.4 __fprintf_chk F
+GLIBC_2.4 __fpu_control D 0x4
+GLIBC_2.4 __fpurge F
+GLIBC_2.4 __freadable F
+GLIBC_2.4 __freading F
+GLIBC_2.4 __free_hook D 0x4
+GLIBC_2.4 __freelocale F
+GLIBC_2.4 __fsetlocking F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fwritable F
+GLIBC_2.4 __fwriting F
+GLIBC_2.4 __fxstat F
+GLIBC_2.4 __fxstat64 F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdelim 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 __getmntent_r F
+GLIBC_2.4 __getpagesize F
+GLIBC_2.4 __getpgid F
+GLIBC_2.4 __getpid F
+GLIBC_2.4 __gets_chk F
+GLIBC_2.4 __gettimeofday F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __gmtime_r F
+GLIBC_2.4 __gnu_Unwind_Find_exidx F
+GLIBC_2.4 __h_errno_location F
+GLIBC_2.4 __isalnum_l F
+GLIBC_2.4 __isalpha_l F
+GLIBC_2.4 __isascii_l F
+GLIBC_2.4 __isblank_l F
+GLIBC_2.4 __iscntrl_l F
+GLIBC_2.4 __isctype F
+GLIBC_2.4 __isdigit_l F
+GLIBC_2.4 __isgraph_l F
+GLIBC_2.4 __isinf F
+GLIBC_2.4 __isinff F
+GLIBC_2.4 __isinfl F
+GLIBC_2.4 __islower_l F
+GLIBC_2.4 __isnan F
+GLIBC_2.4 __isnanf F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __isprint_l F
+GLIBC_2.4 __ispunct_l F
+GLIBC_2.4 __isspace_l F
+GLIBC_2.4 __isupper_l F
+GLIBC_2.4 __iswalnum_l F
+GLIBC_2.4 __iswalpha_l F
+GLIBC_2.4 __iswblank_l F
+GLIBC_2.4 __iswcntrl_l F
+GLIBC_2.4 __iswctype F
+GLIBC_2.4 __iswctype_l F
+GLIBC_2.4 __iswdigit_l F
+GLIBC_2.4 __iswgraph_l F
+GLIBC_2.4 __iswlower_l F
+GLIBC_2.4 __iswprint_l F
+GLIBC_2.4 __iswpunct_l F
+GLIBC_2.4 __iswspace_l F
+GLIBC_2.4 __iswupper_l F
+GLIBC_2.4 __iswxdigit_l F
+GLIBC_2.4 __isxdigit_l F
+GLIBC_2.4 __ivaliduser F
+GLIBC_2.4 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.4 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.4 __key_gendes_LOCAL D 0x4
+GLIBC_2.4 __libc_allocate_rtsig F
+GLIBC_2.4 __libc_calloc F
+GLIBC_2.4 __libc_current_sigrtmax F
+GLIBC_2.4 __libc_current_sigrtmin F
+GLIBC_2.4 __libc_free F
+GLIBC_2.4 __libc_freeres F
+GLIBC_2.4 __libc_init_first F
+GLIBC_2.4 __libc_mallinfo F
+GLIBC_2.4 __libc_malloc F
+GLIBC_2.4 __libc_mallopt F
+GLIBC_2.4 __libc_memalign F
+GLIBC_2.4 __libc_pvalloc F
+GLIBC_2.4 __libc_realloc F
+GLIBC_2.4 __libc_sa_len F
+GLIBC_2.4 __libc_start_main F
+GLIBC_2.4 __libc_valloc F
+GLIBC_2.4 __lseek F
+GLIBC_2.4 __lxstat F
+GLIBC_2.4 __lxstat64 F
+GLIBC_2.4 __malloc_hook D 0x4
+GLIBC_2.4 __malloc_initialize_hook D 0x4
+GLIBC_2.4 __mbrlen F
+GLIBC_2.4 __mbrtowc F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __memalign_hook D 0x4
+GLIBC_2.4 __memcpy_chk F
+GLIBC_2.4 __memmove_chk F
+GLIBC_2.4 __mempcpy F
+GLIBC_2.4 __mempcpy_chk F
+GLIBC_2.4 __mempcpy_small F
+GLIBC_2.4 __memset_chk F
+GLIBC_2.4 __monstartup F
+GLIBC_2.4 __morecore D 0x4
+GLIBC_2.4 __nanosleep F
+GLIBC_2.4 __newlocale F
+GLIBC_2.4 __nl_langinfo_l F
+GLIBC_2.4 __nss_configure_lookup F
+GLIBC_2.4 __nss_database_lookup F
+GLIBC_2.4 __nss_group_lookup F
+GLIBC_2.4 __nss_hostname_digits_dots F
+GLIBC_2.4 __nss_hosts_lookup F
+GLIBC_2.4 __nss_next F
+GLIBC_2.4 __nss_passwd_lookup F
+GLIBC_2.4 __open F
+GLIBC_2.4 __open64 F
+GLIBC_2.4 __overflow F
+GLIBC_2.4 __pipe F
+GLIBC_2.4 __poll F
+GLIBC_2.4 __pread64 F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp F
+GLIBC_2.4 __profile_frequency F
+GLIBC_2.4 __progname D 0x4
+GLIBC_2.4 __progname_full D 0x4
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __pwrite64 F
+GLIBC_2.4 __rawmemchr F
+GLIBC_2.4 __rcmd_errstr D 0x4
+GLIBC_2.4 __read F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realloc_hook D 0x4
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __register_atfork F
+GLIBC_2.4 __res_init F
+GLIBC_2.4 __res_nclose F
+GLIBC_2.4 __res_ninit F
+GLIBC_2.4 __res_randomid F
+GLIBC_2.4 __res_state F
+GLIBC_2.4 __rpc_thread_createerr F
+GLIBC_2.4 __rpc_thread_svc_fdset F
+GLIBC_2.4 __rpc_thread_svc_max_pollfd F
+GLIBC_2.4 __rpc_thread_svc_pollfd F
+GLIBC_2.4 __sbrk F
+GLIBC_2.4 __sched_get_priority_max F
+GLIBC_2.4 __sched_get_priority_min F
+GLIBC_2.4 __sched_getparam F
+GLIBC_2.4 __sched_getscheduler F
+GLIBC_2.4 __sched_setscheduler F
+GLIBC_2.4 __sched_yield F
+GLIBC_2.4 __secure_getenv F
+GLIBC_2.4 __select F
+GLIBC_2.4 __send F
+GLIBC_2.4 __setmntent F
+GLIBC_2.4 __setpgid F
+GLIBC_2.4 __sigaction F
+GLIBC_2.4 __sigaddset F
+GLIBC_2.4 __sigdelset F
+GLIBC_2.4 __sigismember F
+GLIBC_2.4 __signbit F
+GLIBC_2.4 __signbitf F
+GLIBC_2.4 __sigpause F
+GLIBC_2.4 __sigsetjmp F
+GLIBC_2.4 __sigsuspend F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __statfs F
+GLIBC_2.4 __stpcpy F
+GLIBC_2.4 __stpcpy_chk F
+GLIBC_2.4 __stpcpy_small F
+GLIBC_2.4 __stpncpy F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strcasecmp F
+GLIBC_2.4 __strcasecmp_l F
+GLIBC_2.4 __strcasestr F
+GLIBC_2.4 __strcat_chk F
+GLIBC_2.4 __strcoll_l F
+GLIBC_2.4 __strcpy_chk F
+GLIBC_2.4 __strcpy_small F
+GLIBC_2.4 __strcspn_c1 F
+GLIBC_2.4 __strcspn_c2 F
+GLIBC_2.4 __strcspn_c3 F
+GLIBC_2.4 __strdup F
+GLIBC_2.4 __strerror_r F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strftime_l F
+GLIBC_2.4 __strncasecmp_l F
+GLIBC_2.4 __strncat_chk F
+GLIBC_2.4 __strncpy_chk F
+GLIBC_2.4 __strndup F
+GLIBC_2.4 __strpbrk_c2 F
+GLIBC_2.4 __strpbrk_c3 F
+GLIBC_2.4 __strsep_1c F
+GLIBC_2.4 __strsep_2c F
+GLIBC_2.4 __strsep_3c F
+GLIBC_2.4 __strsep_g F
+GLIBC_2.4 __strspn_c1 F
+GLIBC_2.4 __strspn_c2 F
+GLIBC_2.4 __strspn_c3 F
+GLIBC_2.4 __strtod_internal F
+GLIBC_2.4 __strtod_l F
+GLIBC_2.4 __strtof_internal F
+GLIBC_2.4 __strtof_l F
+GLIBC_2.4 __strtok_r F
+GLIBC_2.4 __strtok_r_1c F
+GLIBC_2.4 __strtol_internal F
+GLIBC_2.4 __strtol_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __strtoll_internal F
+GLIBC_2.4 __strtoll_l F
+GLIBC_2.4 __strtoul_internal F
+GLIBC_2.4 __strtoul_l F
+GLIBC_2.4 __strtoull_internal F
+GLIBC_2.4 __strtoull_l F
+GLIBC_2.4 __strverscmp F
+GLIBC_2.4 __strxfrm_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __sysconf F
+GLIBC_2.4 __sysctl F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __sysv_signal F
+GLIBC_2.4 __timezone D 0x4
+GLIBC_2.4 __toascii_l F
+GLIBC_2.4 __tolower_l F
+GLIBC_2.4 __toupper_l F
+GLIBC_2.4 __towctrans F
+GLIBC_2.4 __towctrans_l F
+GLIBC_2.4 __towlower_l F
+GLIBC_2.4 __towupper_l F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __tzname D 0x8
+GLIBC_2.4 __uflow F
+GLIBC_2.4 __underflow F
+GLIBC_2.4 __uselocale F
+GLIBC_2.4 __vfork F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wait F
+GLIBC_2.4 __waitpid F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscasecmp_l F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscoll_l F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsftime_l F
+GLIBC_2.4 __wcsncasecmp_l 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 __wcstod_internal F
+GLIBC_2.4 __wcstod_l F
+GLIBC_2.4 __wcstof_internal F
+GLIBC_2.4 __wcstof_l F
+GLIBC_2.4 __wcstol_internal F
+GLIBC_2.4 __wcstol_l F
+GLIBC_2.4 __wcstold_internal F
+GLIBC_2.4 __wcstold_l F
+GLIBC_2.4 __wcstoll_internal F
+GLIBC_2.4 __wcstoll_l F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wcstoul_internal F
+GLIBC_2.4 __wcstoul_l F
+GLIBC_2.4 __wcstoull_internal F
+GLIBC_2.4 __wcstoull_l F
+GLIBC_2.4 __wcsxfrm_l F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wctrans_l F
+GLIBC_2.4 __wctype_l 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 __woverflow F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __write F
+GLIBC_2.4 __wuflow F
+GLIBC_2.4 __wunderflow F
+GLIBC_2.4 __xmknod F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 __xpg_basename F
+GLIBC_2.4 __xpg_sigpause F
+GLIBC_2.4 __xpg_strerror_r F
+GLIBC_2.4 __xstat F
+GLIBC_2.4 __xstat64 F
+GLIBC_2.4 _authenticate F
+GLIBC_2.4 _dl_mcount_wrapper F
+GLIBC_2.4 _dl_mcount_wrapper_check F
+GLIBC_2.4 _environ D 0x4
+GLIBC_2.4 _exit F
+GLIBC_2.4 _flushlbf F
+GLIBC_2.4 _libc_intl_domainname D 0x5
+GLIBC_2.4 _longjmp F
+GLIBC_2.4 _mcleanup F
+GLIBC_2.4 _mcount F
+GLIBC_2.4 _nl_default_dirname D 0x12
+GLIBC_2.4 _nl_domain_bindings D 0x4
+GLIBC_2.4 _nl_msg_cat_cntr D 0x4
+GLIBC_2.4 _null_auth D 0xc
+GLIBC_2.4 _obstack_allocated_p F
+GLIBC_2.4 _obstack_begin F
+GLIBC_2.4 _obstack_begin_1 F
+GLIBC_2.4 _obstack_free F
+GLIBC_2.4 _obstack_memory_used F
+GLIBC_2.4 _obstack_newchunk F
+GLIBC_2.4 _res D 0x200
+GLIBC_2.4 _res_hconf D 0x30
+GLIBC_2.4 _rpc_dtablesize F
+GLIBC_2.4 _seterr_reply F
+GLIBC_2.4 _setjmp F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 _sys_siglist D 0x104
+GLIBC_2.4 _tolower F
+GLIBC_2.4 _toupper F
+GLIBC_2.4 a64l F
+GLIBC_2.4 abort F
+GLIBC_2.4 abs F
+GLIBC_2.4 accept F
+GLIBC_2.4 access F
+GLIBC_2.4 acct F
+GLIBC_2.4 addmntent F
+GLIBC_2.4 addseverity F
+GLIBC_2.4 adjtime F
+GLIBC_2.4 adjtimex F
+GLIBC_2.4 advance F
+GLIBC_2.4 alarm F
+GLIBC_2.4 alphasort F
+GLIBC_2.4 alphasort64 F
+GLIBC_2.4 argp_err_exit_status D 0x4
+GLIBC_2.4 argp_error F
+GLIBC_2.4 argp_failure F
+GLIBC_2.4 argp_help F
+GLIBC_2.4 argp_parse F
+GLIBC_2.4 argp_program_bug_address D 0x4
+GLIBC_2.4 argp_program_version D 0x4
+GLIBC_2.4 argp_program_version_hook D 0x4
+GLIBC_2.4 argp_state_help F
+GLIBC_2.4 argp_usage F
+GLIBC_2.4 argz_add F
+GLIBC_2.4 argz_add_sep F
+GLIBC_2.4 argz_append F
+GLIBC_2.4 argz_count F
+GLIBC_2.4 argz_create F
+GLIBC_2.4 argz_create_sep F
+GLIBC_2.4 argz_delete F
+GLIBC_2.4 argz_extract F
+GLIBC_2.4 argz_insert F
+GLIBC_2.4 argz_next F
+GLIBC_2.4 argz_replace F
+GLIBC_2.4 argz_stringify F
+GLIBC_2.4 asctime F
+GLIBC_2.4 asctime_r F
+GLIBC_2.4 asprintf F
+GLIBC_2.4 atof F
+GLIBC_2.4 atoi F
+GLIBC_2.4 atol F
+GLIBC_2.4 atoll F
+GLIBC_2.4 authdes_create F
+GLIBC_2.4 authdes_getucred F
+GLIBC_2.4 authdes_pk_create F
+GLIBC_2.4 authnone_create F
+GLIBC_2.4 authunix_create F
+GLIBC_2.4 authunix_create_default F
+GLIBC_2.4 backtrace F
+GLIBC_2.4 backtrace_symbols F
+GLIBC_2.4 backtrace_symbols_fd F
+GLIBC_2.4 basename F
+GLIBC_2.4 bcmp F
+GLIBC_2.4 bcopy F
+GLIBC_2.4 bdflush F
+GLIBC_2.4 bind F
+GLIBC_2.4 bind_textdomain_codeset F
+GLIBC_2.4 bindresvport F
+GLIBC_2.4 bindtextdomain F
+GLIBC_2.4 brk F
+GLIBC_2.4 bsd_signal F
+GLIBC_2.4 bsearch F
+GLIBC_2.4 btowc F
+GLIBC_2.4 bzero F
+GLIBC_2.4 calloc F
+GLIBC_2.4 callrpc F
+GLIBC_2.4 canonicalize_file_name F
+GLIBC_2.4 capget F
+GLIBC_2.4 capset F
+GLIBC_2.4 catclose F
+GLIBC_2.4 catgets F
+GLIBC_2.4 catopen F
+GLIBC_2.4 cbc_crypt F
+GLIBC_2.4 cfgetispeed F
+GLIBC_2.4 cfgetospeed F
+GLIBC_2.4 cfmakeraw F
+GLIBC_2.4 cfree F
+GLIBC_2.4 cfsetispeed F
+GLIBC_2.4 cfsetospeed F
+GLIBC_2.4 cfsetspeed F
+GLIBC_2.4 chdir F
+GLIBC_2.4 chflags F
+GLIBC_2.4 chmod F
+GLIBC_2.4 chown F
+GLIBC_2.4 chroot F
+GLIBC_2.4 clearenv F
+GLIBC_2.4 clearerr F
+GLIBC_2.4 clearerr_unlocked F
+GLIBC_2.4 clnt_broadcast F
+GLIBC_2.4 clnt_create F
+GLIBC_2.4 clnt_pcreateerror F
+GLIBC_2.4 clnt_perrno F
+GLIBC_2.4 clnt_perror F
+GLIBC_2.4 clnt_spcreateerror F
+GLIBC_2.4 clnt_sperrno F
+GLIBC_2.4 clnt_sperror F
+GLIBC_2.4 clntraw_create F
+GLIBC_2.4 clnttcp_create F
+GLIBC_2.4 clntudp_bufcreate F
+GLIBC_2.4 clntudp_create F
+GLIBC_2.4 clntunix_create F
+GLIBC_2.4 clock F
+GLIBC_2.4 clone F
+GLIBC_2.4 close F
+GLIBC_2.4 closedir F
+GLIBC_2.4 closelog F
+GLIBC_2.4 confstr F
+GLIBC_2.4 connect F
+GLIBC_2.4 copysign F
+GLIBC_2.4 copysignf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 creat F
+GLIBC_2.4 creat64 F
+GLIBC_2.4 create_module F
+GLIBC_2.4 ctermid F
+GLIBC_2.4 ctime F
+GLIBC_2.4 ctime_r F
+GLIBC_2.4 cuserid F
+GLIBC_2.4 daemon F
+GLIBC_2.4 daylight D 0x4
+GLIBC_2.4 dcgettext F
+GLIBC_2.4 dcngettext F
+GLIBC_2.4 delete_module F
+GLIBC_2.4 des_setparity F
+GLIBC_2.4 dgettext F
+GLIBC_2.4 difftime F
+GLIBC_2.4 dirfd F
+GLIBC_2.4 dirname F
+GLIBC_2.4 div F
+GLIBC_2.4 dl_iterate_phdr F
+GLIBC_2.4 dngettext F
+GLIBC_2.4 dprintf F
+GLIBC_2.4 drand48 F
+GLIBC_2.4 drand48_r F
+GLIBC_2.4 dup F
+GLIBC_2.4 dup2 F
+GLIBC_2.4 duplocale F
+GLIBC_2.4 dysize F
+GLIBC_2.4 eaccess F
+GLIBC_2.4 ecb_crypt F
+GLIBC_2.4 ecvt F
+GLIBC_2.4 ecvt_r F
+GLIBC_2.4 endaliasent F
+GLIBC_2.4 endfsent F
+GLIBC_2.4 endgrent F
+GLIBC_2.4 endhostent F
+GLIBC_2.4 endmntent F
+GLIBC_2.4 endnetent F
+GLIBC_2.4 endnetgrent F
+GLIBC_2.4 endprotoent F
+GLIBC_2.4 endpwent F
+GLIBC_2.4 endrpcent F
+GLIBC_2.4 endservent F
+GLIBC_2.4 endspent F
+GLIBC_2.4 endttyent F
+GLIBC_2.4 endusershell F
+GLIBC_2.4 endutent F
+GLIBC_2.4 endutxent F
+GLIBC_2.4 environ D 0x4
+GLIBC_2.4 envz_add F
+GLIBC_2.4 envz_entry F
+GLIBC_2.4 envz_get F
+GLIBC_2.4 envz_merge F
+GLIBC_2.4 envz_remove F
+GLIBC_2.4 envz_strip F
+GLIBC_2.4 epoll_create F
+GLIBC_2.4 epoll_ctl F
+GLIBC_2.4 epoll_wait F
+GLIBC_2.4 erand48 F
+GLIBC_2.4 erand48_r F
+GLIBC_2.4 err F
+GLIBC_2.4 error F
+GLIBC_2.4 error_at_line F
+GLIBC_2.4 error_message_count D 0x4
+GLIBC_2.4 error_one_per_line D 0x4
+GLIBC_2.4 error_print_progname D 0x4
+GLIBC_2.4 errx F
+GLIBC_2.4 ether_aton F
+GLIBC_2.4 ether_aton_r F
+GLIBC_2.4 ether_hostton F
+GLIBC_2.4 ether_line F
+GLIBC_2.4 ether_ntoa F
+GLIBC_2.4 ether_ntoa_r F
+GLIBC_2.4 ether_ntohost F
+GLIBC_2.4 euidaccess F
+GLIBC_2.4 execl F
+GLIBC_2.4 execle F
+GLIBC_2.4 execlp F
+GLIBC_2.4 execv F
+GLIBC_2.4 execve F
+GLIBC_2.4 execvp F
+GLIBC_2.4 exit F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fattach F
+GLIBC_2.4 fchdir F
+GLIBC_2.4 fchflags F
+GLIBC_2.4 fchmod F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchown F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fclose F
+GLIBC_2.4 fcloseall F
+GLIBC_2.4 fcntl F
+GLIBC_2.4 fcvt F
+GLIBC_2.4 fcvt_r F
+GLIBC_2.4 fdatasync F
+GLIBC_2.4 fdetach F
+GLIBC_2.4 fdopen F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 feof F
+GLIBC_2.4 feof_unlocked F
+GLIBC_2.4 ferror F
+GLIBC_2.4 ferror_unlocked F
+GLIBC_2.4 fexecve F
+GLIBC_2.4 fflush F
+GLIBC_2.4 fflush_unlocked F
+GLIBC_2.4 ffs F
+GLIBC_2.4 ffsl F
+GLIBC_2.4 ffsll F
+GLIBC_2.4 fgetc F
+GLIBC_2.4 fgetc_unlocked F
+GLIBC_2.4 fgetgrent F
+GLIBC_2.4 fgetgrent_r F
+GLIBC_2.4 fgetpos F
+GLIBC_2.4 fgetpos64 F
+GLIBC_2.4 fgetpwent F
+GLIBC_2.4 fgetpwent_r F
+GLIBC_2.4 fgets F
+GLIBC_2.4 fgets_unlocked F
+GLIBC_2.4 fgetspent F
+GLIBC_2.4 fgetspent_r F
+GLIBC_2.4 fgetwc F
+GLIBC_2.4 fgetwc_unlocked F
+GLIBC_2.4 fgetws F
+GLIBC_2.4 fgetws_unlocked F
+GLIBC_2.4 fgetxattr F
+GLIBC_2.4 fileno F
+GLIBC_2.4 fileno_unlocked F
+GLIBC_2.4 finite F
+GLIBC_2.4 finitef F
+GLIBC_2.4 finitel F
+GLIBC_2.4 flistxattr F
+GLIBC_2.4 flock F
+GLIBC_2.4 flockfile F
+GLIBC_2.4 fmemopen F
+GLIBC_2.4 fmtmsg F
+GLIBC_2.4 fnmatch F
+GLIBC_2.4 fopen F
+GLIBC_2.4 fopen64 F
+GLIBC_2.4 fopencookie F
+GLIBC_2.4 fork F
+GLIBC_2.4 fpathconf F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 fputc F
+GLIBC_2.4 fputc_unlocked F
+GLIBC_2.4 fputs F
+GLIBC_2.4 fputs_unlocked F
+GLIBC_2.4 fputwc F
+GLIBC_2.4 fputwc_unlocked F
+GLIBC_2.4 fputws F
+GLIBC_2.4 fputws_unlocked F
+GLIBC_2.4 fread F
+GLIBC_2.4 fread_unlocked F
+GLIBC_2.4 free F
+GLIBC_2.4 freeaddrinfo F
+GLIBC_2.4 freeifaddrs F
+GLIBC_2.4 freelocale F
+GLIBC_2.4 fremovexattr F
+GLIBC_2.4 freopen F
+GLIBC_2.4 freopen64 F
+GLIBC_2.4 frexp F
+GLIBC_2.4 frexpf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 fseek F
+GLIBC_2.4 fseeko F
+GLIBC_2.4 fseeko64 F
+GLIBC_2.4 fsetpos F
+GLIBC_2.4 fsetpos64 F
+GLIBC_2.4 fsetxattr F
+GLIBC_2.4 fstatfs F
+GLIBC_2.4 fstatfs64 F
+GLIBC_2.4 fstatvfs F
+GLIBC_2.4 fstatvfs64 F
+GLIBC_2.4 fsync F
+GLIBC_2.4 ftell F
+GLIBC_2.4 ftello F
+GLIBC_2.4 ftello64 F
+GLIBC_2.4 ftime F
+GLIBC_2.4 ftok F
+GLIBC_2.4 ftruncate F
+GLIBC_2.4 ftruncate64 F
+GLIBC_2.4 ftrylockfile F
+GLIBC_2.4 fts_children F
+GLIBC_2.4 fts_close F
+GLIBC_2.4 fts_open F
+GLIBC_2.4 fts_read F
+GLIBC_2.4 fts_set F
+GLIBC_2.4 ftw F
+GLIBC_2.4 ftw64 F
+GLIBC_2.4 funlockfile F
+GLIBC_2.4 futimes F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwide F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwrite F
+GLIBC_2.4 fwrite_unlocked F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 gai_strerror F
+GLIBC_2.4 gcvt F
+GLIBC_2.4 get_avphys_pages F
+GLIBC_2.4 get_current_dir_name F
+GLIBC_2.4 get_kernel_syms F
+GLIBC_2.4 get_myaddress F
+GLIBC_2.4 get_nprocs F
+GLIBC_2.4 get_nprocs_conf F
+GLIBC_2.4 get_phys_pages F
+GLIBC_2.4 getaddrinfo F
+GLIBC_2.4 getaliasbyname F
+GLIBC_2.4 getaliasbyname_r F
+GLIBC_2.4 getaliasent F
+GLIBC_2.4 getaliasent_r F
+GLIBC_2.4 getc F
+GLIBC_2.4 getc_unlocked F
+GLIBC_2.4 getchar F
+GLIBC_2.4 getchar_unlocked F
+GLIBC_2.4 getcontext F
+GLIBC_2.4 getcwd F
+GLIBC_2.4 getdate F
+GLIBC_2.4 getdate_err D 0x4
+GLIBC_2.4 getdate_r F
+GLIBC_2.4 getdelim F
+GLIBC_2.4 getdirentries F
+GLIBC_2.4 getdirentries64 F
+GLIBC_2.4 getdomainname F
+GLIBC_2.4 getdtablesize F
+GLIBC_2.4 getegid F
+GLIBC_2.4 getenv F
+GLIBC_2.4 geteuid F
+GLIBC_2.4 getfsent F
+GLIBC_2.4 getfsfile F
+GLIBC_2.4 getfsspec F
+GLIBC_2.4 getgid F
+GLIBC_2.4 getgrent F
+GLIBC_2.4 getgrent_r F
+GLIBC_2.4 getgrgid F
+GLIBC_2.4 getgrgid_r F
+GLIBC_2.4 getgrnam F
+GLIBC_2.4 getgrnam_r F
+GLIBC_2.4 getgrouplist F
+GLIBC_2.4 getgroups F
+GLIBC_2.4 gethostbyaddr F
+GLIBC_2.4 gethostbyaddr_r F
+GLIBC_2.4 gethostbyname F
+GLIBC_2.4 gethostbyname2 F
+GLIBC_2.4 gethostbyname2_r F
+GLIBC_2.4 gethostbyname_r F
+GLIBC_2.4 gethostent F
+GLIBC_2.4 gethostent_r F
+GLIBC_2.4 gethostid F
+GLIBC_2.4 gethostname F
+GLIBC_2.4 getifaddrs F
+GLIBC_2.4 getipv4sourcefilter F
+GLIBC_2.4 getitimer F
+GLIBC_2.4 getline F
+GLIBC_2.4 getloadavg F
+GLIBC_2.4 getlogin F
+GLIBC_2.4 getlogin_r F
+GLIBC_2.4 getmntent F
+GLIBC_2.4 getmntent_r F
+GLIBC_2.4 getmsg F
+GLIBC_2.4 getnameinfo F
+GLIBC_2.4 getnetbyaddr F
+GLIBC_2.4 getnetbyaddr_r F
+GLIBC_2.4 getnetbyname F
+GLIBC_2.4 getnetbyname_r F
+GLIBC_2.4 getnetent F
+GLIBC_2.4 getnetent_r F
+GLIBC_2.4 getnetgrent F
+GLIBC_2.4 getnetgrent_r F
+GLIBC_2.4 getnetname F
+GLIBC_2.4 getopt F
+GLIBC_2.4 getopt_long F
+GLIBC_2.4 getopt_long_only F
+GLIBC_2.4 getpagesize F
+GLIBC_2.4 getpass F
+GLIBC_2.4 getpeername F
+GLIBC_2.4 getpgid F
+GLIBC_2.4 getpgrp F
+GLIBC_2.4 getpid F
+GLIBC_2.4 getpmsg F
+GLIBC_2.4 getppid F
+GLIBC_2.4 getpriority F
+GLIBC_2.4 getprotobyname F
+GLIBC_2.4 getprotobyname_r F
+GLIBC_2.4 getprotobynumber F
+GLIBC_2.4 getprotobynumber_r F
+GLIBC_2.4 getprotoent F
+GLIBC_2.4 getprotoent_r F
+GLIBC_2.4 getpt F
+GLIBC_2.4 getpublickey F
+GLIBC_2.4 getpw F
+GLIBC_2.4 getpwent F
+GLIBC_2.4 getpwent_r F
+GLIBC_2.4 getpwnam F
+GLIBC_2.4 getpwnam_r F
+GLIBC_2.4 getpwuid F
+GLIBC_2.4 getpwuid_r F
+GLIBC_2.4 getresgid F
+GLIBC_2.4 getresuid F
+GLIBC_2.4 getrlimit F
+GLIBC_2.4 getrlimit64 F
+GLIBC_2.4 getrpcbyname F
+GLIBC_2.4 getrpcbyname_r F
+GLIBC_2.4 getrpcbynumber F
+GLIBC_2.4 getrpcbynumber_r F
+GLIBC_2.4 getrpcent F
+GLIBC_2.4 getrpcent_r F
+GLIBC_2.4 getrpcport F
+GLIBC_2.4 getrusage F
+GLIBC_2.4 gets F
+GLIBC_2.4 getsecretkey F
+GLIBC_2.4 getservbyname F
+GLIBC_2.4 getservbyname_r F
+GLIBC_2.4 getservbyport F
+GLIBC_2.4 getservbyport_r F
+GLIBC_2.4 getservent F
+GLIBC_2.4 getservent_r F
+GLIBC_2.4 getsid F
+GLIBC_2.4 getsockname F
+GLIBC_2.4 getsockopt F
+GLIBC_2.4 getsourcefilter F
+GLIBC_2.4 getspent F
+GLIBC_2.4 getspent_r F
+GLIBC_2.4 getspnam F
+GLIBC_2.4 getspnam_r F
+GLIBC_2.4 getsubopt F
+GLIBC_2.4 gettext F
+GLIBC_2.4 gettimeofday F
+GLIBC_2.4 getttyent F
+GLIBC_2.4 getttynam F
+GLIBC_2.4 getuid F
+GLIBC_2.4 getusershell F
+GLIBC_2.4 getutent F
+GLIBC_2.4 getutent_r F
+GLIBC_2.4 getutid F
+GLIBC_2.4 getutid_r F
+GLIBC_2.4 getutline F
+GLIBC_2.4 getutline_r F
+GLIBC_2.4 getutmp F
+GLIBC_2.4 getutmpx F
+GLIBC_2.4 getutxent F
+GLIBC_2.4 getutxid F
+GLIBC_2.4 getutxline F
+GLIBC_2.4 getw F
+GLIBC_2.4 getwc F
+GLIBC_2.4 getwc_unlocked F
+GLIBC_2.4 getwchar F
+GLIBC_2.4 getwchar_unlocked F
+GLIBC_2.4 getwd F
+GLIBC_2.4 getxattr F
+GLIBC_2.4 glob F
+GLIBC_2.4 glob64 F
+GLIBC_2.4 glob_pattern_p F
+GLIBC_2.4 globfree F
+GLIBC_2.4 globfree64 F
+GLIBC_2.4 gmtime F
+GLIBC_2.4 gmtime_r F
+GLIBC_2.4 gnu_dev_major F
+GLIBC_2.4 gnu_dev_makedev F
+GLIBC_2.4 gnu_dev_minor F
+GLIBC_2.4 gnu_get_libc_release F
+GLIBC_2.4 gnu_get_libc_version F
+GLIBC_2.4 grantpt F
+GLIBC_2.4 group_member F
+GLIBC_2.4 gsignal F
+GLIBC_2.4 gtty F
+GLIBC_2.4 h_errlist D 0x14
+GLIBC_2.4 h_nerr D 0x4
+GLIBC_2.4 hasmntopt F
+GLIBC_2.4 hcreate F
+GLIBC_2.4 hcreate_r F
+GLIBC_2.4 hdestroy F
+GLIBC_2.4 hdestroy_r F
+GLIBC_2.4 herror F
+GLIBC_2.4 host2netname F
+GLIBC_2.4 hsearch F
+GLIBC_2.4 hsearch_r F
+GLIBC_2.4 hstrerror F
+GLIBC_2.4 htonl F
+GLIBC_2.4 htons F
+GLIBC_2.4 iconv F
+GLIBC_2.4 iconv_close F
+GLIBC_2.4 iconv_open F
+GLIBC_2.4 if_freenameindex F
+GLIBC_2.4 if_indextoname F
+GLIBC_2.4 if_nameindex F
+GLIBC_2.4 if_nametoindex F
+GLIBC_2.4 imaxabs F
+GLIBC_2.4 imaxdiv F
+GLIBC_2.4 in6addr_any D 0x10
+GLIBC_2.4 in6addr_loopback D 0x10
+GLIBC_2.4 inb F
+GLIBC_2.4 index F
+GLIBC_2.4 inet6_option_alloc F
+GLIBC_2.4 inet6_option_append F
+GLIBC_2.4 inet6_option_find F
+GLIBC_2.4 inet6_option_init F
+GLIBC_2.4 inet6_option_next F
+GLIBC_2.4 inet6_option_space F
+GLIBC_2.4 inet_addr F
+GLIBC_2.4 inet_aton F
+GLIBC_2.4 inet_lnaof F
+GLIBC_2.4 inet_makeaddr F
+GLIBC_2.4 inet_netof F
+GLIBC_2.4 inet_network F
+GLIBC_2.4 inet_nsap_addr F
+GLIBC_2.4 inet_nsap_ntoa F
+GLIBC_2.4 inet_ntoa F
+GLIBC_2.4 inet_ntop F
+GLIBC_2.4 inet_pton F
+GLIBC_2.4 init_module F
+GLIBC_2.4 initgroups F
+GLIBC_2.4 initstate F
+GLIBC_2.4 initstate_r F
+GLIBC_2.4 inl F
+GLIBC_2.4 innetgr F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 insque F
+GLIBC_2.4 inw F
+GLIBC_2.4 ioctl F
+GLIBC_2.4 ioperm F
+GLIBC_2.4 iopl F
+GLIBC_2.4 iruserok F
+GLIBC_2.4 iruserok_af F
+GLIBC_2.4 isalnum F
+GLIBC_2.4 isalnum_l F
+GLIBC_2.4 isalpha F
+GLIBC_2.4 isalpha_l F
+GLIBC_2.4 isascii F
+GLIBC_2.4 isastream F
+GLIBC_2.4 isatty F
+GLIBC_2.4 isblank F
+GLIBC_2.4 isblank_l F
+GLIBC_2.4 iscntrl F
+GLIBC_2.4 iscntrl_l F
+GLIBC_2.4 isctype F
+GLIBC_2.4 isdigit F
+GLIBC_2.4 isdigit_l F
+GLIBC_2.4 isfdtype F
+GLIBC_2.4 isgraph F
+GLIBC_2.4 isgraph_l F
+GLIBC_2.4 isinf F
+GLIBC_2.4 isinff F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 islower F
+GLIBC_2.4 islower_l F
+GLIBC_2.4 isnan F
+GLIBC_2.4 isnanf F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 isprint F
+GLIBC_2.4 isprint_l F
+GLIBC_2.4 ispunct F
+GLIBC_2.4 ispunct_l F
+GLIBC_2.4 isspace F
+GLIBC_2.4 isspace_l F
+GLIBC_2.4 isupper F
+GLIBC_2.4 isupper_l F
+GLIBC_2.4 iswalnum F
+GLIBC_2.4 iswalnum_l F
+GLIBC_2.4 iswalpha F
+GLIBC_2.4 iswalpha_l F
+GLIBC_2.4 iswblank F
+GLIBC_2.4 iswblank_l F
+GLIBC_2.4 iswcntrl F
+GLIBC_2.4 iswcntrl_l F
+GLIBC_2.4 iswctype F
+GLIBC_2.4 iswctype_l F
+GLIBC_2.4 iswdigit F
+GLIBC_2.4 iswdigit_l F
+GLIBC_2.4 iswgraph F
+GLIBC_2.4 iswgraph_l F
+GLIBC_2.4 iswlower F
+GLIBC_2.4 iswlower_l F
+GLIBC_2.4 iswprint F
+GLIBC_2.4 iswprint_l F
+GLIBC_2.4 iswpunct F
+GLIBC_2.4 iswpunct_l F
+GLIBC_2.4 iswspace F
+GLIBC_2.4 iswspace_l F
+GLIBC_2.4 iswupper F
+GLIBC_2.4 iswupper_l F
+GLIBC_2.4 iswxdigit F
+GLIBC_2.4 iswxdigit_l F
+GLIBC_2.4 isxdigit F
+GLIBC_2.4 isxdigit_l F
+GLIBC_2.4 jrand48 F
+GLIBC_2.4 jrand48_r F
+GLIBC_2.4 key_decryptsession F
+GLIBC_2.4 key_decryptsession_pk F
+GLIBC_2.4 key_encryptsession F
+GLIBC_2.4 key_encryptsession_pk F
+GLIBC_2.4 key_gendes F
+GLIBC_2.4 key_get_conv F
+GLIBC_2.4 key_secretkey_is_set F
+GLIBC_2.4 key_setnet F
+GLIBC_2.4 key_setsecret F
+GLIBC_2.4 kill F
+GLIBC_2.4 killpg F
+GLIBC_2.4 klogctl F
+GLIBC_2.4 l64a F
+GLIBC_2.4 labs F
+GLIBC_2.4 lchmod F
+GLIBC_2.4 lchown F
+GLIBC_2.4 lckpwdf F
+GLIBC_2.4 lcong48 F
+GLIBC_2.4 lcong48_r F
+GLIBC_2.4 ldexp F
+GLIBC_2.4 ldexpf F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 ldiv F
+GLIBC_2.4 lfind F
+GLIBC_2.4 lgetxattr F
+GLIBC_2.4 link F
+GLIBC_2.4 linkat F
+GLIBC_2.4 listen F
+GLIBC_2.4 listxattr F
+GLIBC_2.4 llabs F
+GLIBC_2.4 lldiv F
+GLIBC_2.4 llistxattr F
+GLIBC_2.4 llseek F
+GLIBC_2.4 loc1 D 0x4
+GLIBC_2.4 loc2 D 0x4
+GLIBC_2.4 localeconv F
+GLIBC_2.4 localtime F
+GLIBC_2.4 localtime_r F
+GLIBC_2.4 lockf F
+GLIBC_2.4 lockf64 F
+GLIBC_2.4 locs D 0x4
+GLIBC_2.4 longjmp F
+GLIBC_2.4 lrand48 F
+GLIBC_2.4 lrand48_r F
+GLIBC_2.4 lremovexattr F
+GLIBC_2.4 lsearch F
+GLIBC_2.4 lseek F
+GLIBC_2.4 lseek64 F
+GLIBC_2.4 lsetxattr F
+GLIBC_2.4 lutimes F
+GLIBC_2.4 madvise F
+GLIBC_2.4 makecontext F
+GLIBC_2.4 mallinfo F
+GLIBC_2.4 malloc F
+GLIBC_2.4 malloc_get_state F
+GLIBC_2.4 malloc_set_state F
+GLIBC_2.4 malloc_stats F
+GLIBC_2.4 malloc_trim F
+GLIBC_2.4 malloc_usable_size F
+GLIBC_2.4 mallopt F
+GLIBC_2.4 mallwatch D 0x4
+GLIBC_2.4 mblen F
+GLIBC_2.4 mbrlen F
+GLIBC_2.4 mbrtowc F
+GLIBC_2.4 mbsinit F
+GLIBC_2.4 mbsnrtowcs F
+GLIBC_2.4 mbsrtowcs F
+GLIBC_2.4 mbstowcs F
+GLIBC_2.4 mbtowc F
+GLIBC_2.4 mcheck F
+GLIBC_2.4 mcheck_check_all F
+GLIBC_2.4 mcheck_pedantic F
+GLIBC_2.4 mcount F
+GLIBC_2.4 memalign F
+GLIBC_2.4 memccpy F
+GLIBC_2.4 memchr F
+GLIBC_2.4 memcmp F
+GLIBC_2.4 memcpy F
+GLIBC_2.4 memfrob F
+GLIBC_2.4 memmem F
+GLIBC_2.4 memmove F
+GLIBC_2.4 mempcpy F
+GLIBC_2.4 memrchr F
+GLIBC_2.4 memset F
+GLIBC_2.4 mincore F
+GLIBC_2.4 mkdir F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkdtemp F
+GLIBC_2.4 mkfifo F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 mkstemp F
+GLIBC_2.4 mkstemp64 F
+GLIBC_2.4 mktemp F
+GLIBC_2.4 mktime F
+GLIBC_2.4 mlock F
+GLIBC_2.4 mlockall F
+GLIBC_2.4 mmap F
+GLIBC_2.4 mmap64 F
+GLIBC_2.4 modf F
+GLIBC_2.4 modff F
+GLIBC_2.4 modfl F
+GLIBC_2.4 moncontrol F
+GLIBC_2.4 monstartup F
+GLIBC_2.4 mount F
+GLIBC_2.4 mprobe F
+GLIBC_2.4 mprotect F
+GLIBC_2.4 mrand48 F
+GLIBC_2.4 mrand48_r F
+GLIBC_2.4 mremap F
+GLIBC_2.4 msgctl F
+GLIBC_2.4 msgget F
+GLIBC_2.4 msgrcv F
+GLIBC_2.4 msgsnd F
+GLIBC_2.4 msync F
+GLIBC_2.4 mtrace F
+GLIBC_2.4 munlock F
+GLIBC_2.4 munlockall F
+GLIBC_2.4 munmap F
+GLIBC_2.4 muntrace F
+GLIBC_2.4 nanosleep F
+GLIBC_2.4 netname2host F
+GLIBC_2.4 netname2user F
+GLIBC_2.4 newlocale F
+GLIBC_2.4 nfsservctl F
+GLIBC_2.4 nftw F
+GLIBC_2.4 nftw64 F
+GLIBC_2.4 ngettext F
+GLIBC_2.4 nice F
+GLIBC_2.4 nl_langinfo F
+GLIBC_2.4 nl_langinfo_l F
+GLIBC_2.4 nrand48 F
+GLIBC_2.4 nrand48_r F
+GLIBC_2.4 ntohl F
+GLIBC_2.4 ntohs F
+GLIBC_2.4 ntp_adjtime F
+GLIBC_2.4 ntp_gettime F
+GLIBC_2.4 obstack_alloc_failed_handler D 0x4
+GLIBC_2.4 obstack_exit_failure D 0x4
+GLIBC_2.4 obstack_free F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf F
+GLIBC_2.4 on_exit F
+GLIBC_2.4 open F
+GLIBC_2.4 open64 F
+GLIBC_2.4 open_memstream F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 opendir F
+GLIBC_2.4 openlog F
+GLIBC_2.4 optarg D 0x4
+GLIBC_2.4 opterr D 0x4
+GLIBC_2.4 optind D 0x4
+GLIBC_2.4 optopt D 0x4
+GLIBC_2.4 outb F
+GLIBC_2.4 outl F
+GLIBC_2.4 outw F
+GLIBC_2.4 parse_printf_format F
+GLIBC_2.4 passwd2des F
+GLIBC_2.4 pathconf F
+GLIBC_2.4 pause F
+GLIBC_2.4 pclose F
+GLIBC_2.4 perror F
+GLIBC_2.4 personality F
+GLIBC_2.4 pipe F
+GLIBC_2.4 pivot_root F
+GLIBC_2.4 pmap_getmaps F
+GLIBC_2.4 pmap_getport F
+GLIBC_2.4 pmap_rmtcall F
+GLIBC_2.4 pmap_set F
+GLIBC_2.4 pmap_unset F
+GLIBC_2.4 poll F
+GLIBC_2.4 popen F
+GLIBC_2.4 posix_fadvise F
+GLIBC_2.4 posix_fadvise64 F
+GLIBC_2.4 posix_fallocate F
+GLIBC_2.4 posix_fallocate64 F
+GLIBC_2.4 posix_madvise F
+GLIBC_2.4 posix_memalign F
+GLIBC_2.4 posix_openpt F
+GLIBC_2.4 posix_spawn F
+GLIBC_2.4 posix_spawn_file_actions_addclose F
+GLIBC_2.4 posix_spawn_file_actions_adddup2 F
+GLIBC_2.4 posix_spawn_file_actions_addopen F
+GLIBC_2.4 posix_spawn_file_actions_destroy F
+GLIBC_2.4 posix_spawn_file_actions_init F
+GLIBC_2.4 posix_spawnattr_destroy F
+GLIBC_2.4 posix_spawnattr_getflags F
+GLIBC_2.4 posix_spawnattr_getpgroup F
+GLIBC_2.4 posix_spawnattr_getschedparam F
+GLIBC_2.4 posix_spawnattr_getschedpolicy F
+GLIBC_2.4 posix_spawnattr_getsigdefault F
+GLIBC_2.4 posix_spawnattr_getsigmask F
+GLIBC_2.4 posix_spawnattr_init F
+GLIBC_2.4 posix_spawnattr_setflags F
+GLIBC_2.4 posix_spawnattr_setpgroup F
+GLIBC_2.4 posix_spawnattr_setschedparam F
+GLIBC_2.4 posix_spawnattr_setschedpolicy F
+GLIBC_2.4 posix_spawnattr_setsigdefault F
+GLIBC_2.4 posix_spawnattr_setsigmask F
+GLIBC_2.4 posix_spawnp F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 prctl F
+GLIBC_2.4 pread F
+GLIBC_2.4 pread64 F
+GLIBC_2.4 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 printf_size_info F
+GLIBC_2.4 profil F
+GLIBC_2.4 profil_counter F
+GLIBC_2.4 program_invocation_name D 0x4
+GLIBC_2.4 program_invocation_short_name D 0x4
+GLIBC_2.4 pselect F
+GLIBC_2.4 psignal F
+GLIBC_2.4 pthread_attr_destroy F
+GLIBC_2.4 pthread_attr_getdetachstate F
+GLIBC_2.4 pthread_attr_getinheritsched F
+GLIBC_2.4 pthread_attr_getschedparam F
+GLIBC_2.4 pthread_attr_getschedpolicy F
+GLIBC_2.4 pthread_attr_getscope F
+GLIBC_2.4 pthread_attr_init F
+GLIBC_2.4 pthread_attr_setdetachstate F
+GLIBC_2.4 pthread_attr_setinheritsched F
+GLIBC_2.4 pthread_attr_setschedparam F
+GLIBC_2.4 pthread_attr_setschedpolicy F
+GLIBC_2.4 pthread_attr_setscope F
+GLIBC_2.4 pthread_cond_broadcast F
+GLIBC_2.4 pthread_cond_destroy F
+GLIBC_2.4 pthread_cond_init F
+GLIBC_2.4 pthread_cond_signal F
+GLIBC_2.4 pthread_cond_timedwait F
+GLIBC_2.4 pthread_cond_wait F
+GLIBC_2.4 pthread_condattr_destroy F
+GLIBC_2.4 pthread_condattr_init F
+GLIBC_2.4 pthread_equal F
+GLIBC_2.4 pthread_exit F
+GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_mutex_destroy F
+GLIBC_2.4 pthread_mutex_init F
+GLIBC_2.4 pthread_mutex_lock F
+GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_self F
+GLIBC_2.4 pthread_setcancelstate F
+GLIBC_2.4 pthread_setcanceltype F
+GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 ptrace F
+GLIBC_2.4 ptsname F
+GLIBC_2.4 ptsname_r F
+GLIBC_2.4 putc F
+GLIBC_2.4 putc_unlocked F
+GLIBC_2.4 putchar F
+GLIBC_2.4 putchar_unlocked F
+GLIBC_2.4 putenv F
+GLIBC_2.4 putgrent F
+GLIBC_2.4 putmsg F
+GLIBC_2.4 putpmsg F
+GLIBC_2.4 putpwent F
+GLIBC_2.4 puts F
+GLIBC_2.4 putspent F
+GLIBC_2.4 pututline F
+GLIBC_2.4 pututxline F
+GLIBC_2.4 putw F
+GLIBC_2.4 putwc F
+GLIBC_2.4 putwc_unlocked F
+GLIBC_2.4 putwchar F
+GLIBC_2.4 putwchar_unlocked F
+GLIBC_2.4 pvalloc F
+GLIBC_2.4 pwrite F
+GLIBC_2.4 pwrite64 F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 qsort F
+GLIBC_2.4 query_module F
+GLIBC_2.4 quotactl F
+GLIBC_2.4 raise F
+GLIBC_2.4 rand F
+GLIBC_2.4 rand_r F
+GLIBC_2.4 random F
+GLIBC_2.4 random_r F
+GLIBC_2.4 rawmemchr F
+GLIBC_2.4 rcmd F
+GLIBC_2.4 rcmd_af F
+GLIBC_2.4 re_comp F
+GLIBC_2.4 re_compile_fastmap F
+GLIBC_2.4 re_compile_pattern F
+GLIBC_2.4 re_exec F
+GLIBC_2.4 re_match F
+GLIBC_2.4 re_match_2 F
+GLIBC_2.4 re_search F
+GLIBC_2.4 re_search_2 F
+GLIBC_2.4 re_set_registers F
+GLIBC_2.4 re_set_syntax F
+GLIBC_2.4 re_syntax_options D 0x4
+GLIBC_2.4 read F
+GLIBC_2.4 readahead F
+GLIBC_2.4 readdir F
+GLIBC_2.4 readdir64 F
+GLIBC_2.4 readdir64_r F
+GLIBC_2.4 readdir_r F
+GLIBC_2.4 readlink F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 readv F
+GLIBC_2.4 realloc F
+GLIBC_2.4 realpath F
+GLIBC_2.4 reboot F
+GLIBC_2.4 recv F
+GLIBC_2.4 recvfrom F
+GLIBC_2.4 recvmsg F
+GLIBC_2.4 regcomp F
+GLIBC_2.4 regerror F
+GLIBC_2.4 regexec F
+GLIBC_2.4 regfree F
+GLIBC_2.4 register_printf_function F
+GLIBC_2.4 registerrpc F
+GLIBC_2.4 remap_file_pages F
+GLIBC_2.4 remove F
+GLIBC_2.4 removexattr F
+GLIBC_2.4 remque F
+GLIBC_2.4 rename F
+GLIBC_2.4 renameat F
+GLIBC_2.4 revoke F
+GLIBC_2.4 rewind F
+GLIBC_2.4 rewinddir F
+GLIBC_2.4 rexec F
+GLIBC_2.4 rexec_af F
+GLIBC_2.4 rexecoptions D 0x4
+GLIBC_2.4 rindex F
+GLIBC_2.4 rmdir F
+GLIBC_2.4 rpc_createerr D 0x10
+GLIBC_2.4 rpmatch F
+GLIBC_2.4 rresvport F
+GLIBC_2.4 rresvport_af F
+GLIBC_2.4 rtime F
+GLIBC_2.4 ruserok F
+GLIBC_2.4 ruserok_af F
+GLIBC_2.4 ruserpass F
+GLIBC_2.4 sbrk F
+GLIBC_2.4 scalbn F
+GLIBC_2.4 scalbnf F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scandir F
+GLIBC_2.4 scandir64 F
+GLIBC_2.4 scanf F
+GLIBC_2.4 sched_get_priority_max F
+GLIBC_2.4 sched_get_priority_min F
+GLIBC_2.4 sched_getaffinity F
+GLIBC_2.4 sched_getparam F
+GLIBC_2.4 sched_getscheduler F
+GLIBC_2.4 sched_rr_get_interval F
+GLIBC_2.4 sched_setaffinity F
+GLIBC_2.4 sched_setparam F
+GLIBC_2.4 sched_setscheduler F
+GLIBC_2.4 sched_yield F
+GLIBC_2.4 seed48 F
+GLIBC_2.4 seed48_r F
+GLIBC_2.4 seekdir F
+GLIBC_2.4 select F
+GLIBC_2.4 semctl F
+GLIBC_2.4 semget F
+GLIBC_2.4 semop F
+GLIBC_2.4 semtimedop F
+GLIBC_2.4 send F
+GLIBC_2.4 sendfile F
+GLIBC_2.4 sendfile64 F
+GLIBC_2.4 sendmsg F
+GLIBC_2.4 sendto F
+GLIBC_2.4 setaliasent F
+GLIBC_2.4 setbuf F
+GLIBC_2.4 setbuffer F
+GLIBC_2.4 setcontext F
+GLIBC_2.4 setdomainname F
+GLIBC_2.4 setegid F
+GLIBC_2.4 setenv F
+GLIBC_2.4 seteuid F
+GLIBC_2.4 setfsent F
+GLIBC_2.4 setfsgid F
+GLIBC_2.4 setfsuid F
+GLIBC_2.4 setgid F
+GLIBC_2.4 setgrent F
+GLIBC_2.4 setgroups F
+GLIBC_2.4 sethostent F
+GLIBC_2.4 sethostid F
+GLIBC_2.4 sethostname F
+GLIBC_2.4 setipv4sourcefilter F
+GLIBC_2.4 setitimer F
+GLIBC_2.4 setjmp F
+GLIBC_2.4 setlinebuf F
+GLIBC_2.4 setlocale F
+GLIBC_2.4 setlogin F
+GLIBC_2.4 setlogmask F
+GLIBC_2.4 setmntent F
+GLIBC_2.4 setnetent F
+GLIBC_2.4 setnetgrent F
+GLIBC_2.4 setpgid F
+GLIBC_2.4 setpgrp F
+GLIBC_2.4 setpriority F
+GLIBC_2.4 setprotoent F
+GLIBC_2.4 setpwent F
+GLIBC_2.4 setregid F
+GLIBC_2.4 setresgid F
+GLIBC_2.4 setresuid F
+GLIBC_2.4 setreuid F
+GLIBC_2.4 setrlimit F
+GLIBC_2.4 setrlimit64 F
+GLIBC_2.4 setrpcent F
+GLIBC_2.4 setservent F
+GLIBC_2.4 setsid F
+GLIBC_2.4 setsockopt F
+GLIBC_2.4 setsourcefilter F
+GLIBC_2.4 setspent F
+GLIBC_2.4 setstate F
+GLIBC_2.4 setstate_r F
+GLIBC_2.4 settimeofday F
+GLIBC_2.4 setttyent F
+GLIBC_2.4 setuid F
+GLIBC_2.4 setusershell F
+GLIBC_2.4 setutent F
+GLIBC_2.4 setutxent F
+GLIBC_2.4 setvbuf F
+GLIBC_2.4 setxattr F
+GLIBC_2.4 sgetspent F
+GLIBC_2.4 sgetspent_r F
+GLIBC_2.4 shmat F
+GLIBC_2.4 shmctl F
+GLIBC_2.4 shmdt F
+GLIBC_2.4 shmget F
+GLIBC_2.4 shutdown F
+GLIBC_2.4 sigaction F
+GLIBC_2.4 sigaddset F
+GLIBC_2.4 sigaltstack F
+GLIBC_2.4 sigandset F
+GLIBC_2.4 sigblock F
+GLIBC_2.4 sigdelset F
+GLIBC_2.4 sigemptyset F
+GLIBC_2.4 sigfillset F
+GLIBC_2.4 siggetmask F
+GLIBC_2.4 sighold F
+GLIBC_2.4 sigignore F
+GLIBC_2.4 siginterrupt F
+GLIBC_2.4 sigisemptyset F
+GLIBC_2.4 sigismember F
+GLIBC_2.4 siglongjmp F
+GLIBC_2.4 signal F
+GLIBC_2.4 sigorset F
+GLIBC_2.4 sigpause F
+GLIBC_2.4 sigpending F
+GLIBC_2.4 sigprocmask F
+GLIBC_2.4 sigqueue F
+GLIBC_2.4 sigrelse F
+GLIBC_2.4 sigreturn F
+GLIBC_2.4 sigset F
+GLIBC_2.4 sigsetmask F
+GLIBC_2.4 sigstack F
+GLIBC_2.4 sigsuspend F
+GLIBC_2.4 sigtimedwait F
+GLIBC_2.4 sigvec F
+GLIBC_2.4 sigwait F
+GLIBC_2.4 sigwaitinfo F
+GLIBC_2.4 sleep F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sockatmark F
+GLIBC_2.4 socket F
+GLIBC_2.4 socketpair F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sprofil F
+GLIBC_2.4 srand F
+GLIBC_2.4 srand48 F
+GLIBC_2.4 srand48_r F
+GLIBC_2.4 srandom F
+GLIBC_2.4 srandom_r F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 ssignal F
+GLIBC_2.4 sstk F
+GLIBC_2.4 statfs F
+GLIBC_2.4 statfs64 F
+GLIBC_2.4 statvfs F
+GLIBC_2.4 statvfs64 F
+GLIBC_2.4 stderr D 0x4
+GLIBC_2.4 stdin D 0x4
+GLIBC_2.4 stdout D 0x4
+GLIBC_2.4 step F
+GLIBC_2.4 stime F
+GLIBC_2.4 stpcpy F
+GLIBC_2.4 stpncpy F
+GLIBC_2.4 strcasecmp F
+GLIBC_2.4 strcasecmp_l F
+GLIBC_2.4 strcasestr F
+GLIBC_2.4 strcat F
+GLIBC_2.4 strchr F
+GLIBC_2.4 strchrnul F
+GLIBC_2.4 strcmp F
+GLIBC_2.4 strcoll F
+GLIBC_2.4 strcoll_l F
+GLIBC_2.4 strcpy F
+GLIBC_2.4 strcspn F
+GLIBC_2.4 strdup F
+GLIBC_2.4 strerror F
+GLIBC_2.4 strerror_r F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strfry F
+GLIBC_2.4 strftime F
+GLIBC_2.4 strftime_l F
+GLIBC_2.4 strlen F
+GLIBC_2.4 strncasecmp F
+GLIBC_2.4 strncasecmp_l F
+GLIBC_2.4 strncat F
+GLIBC_2.4 strncmp F
+GLIBC_2.4 strncpy F
+GLIBC_2.4 strndup F
+GLIBC_2.4 strnlen F
+GLIBC_2.4 strpbrk F
+GLIBC_2.4 strptime F
+GLIBC_2.4 strptime_l F
+GLIBC_2.4 strrchr F
+GLIBC_2.4 strsep F
+GLIBC_2.4 strsignal F
+GLIBC_2.4 strspn F
+GLIBC_2.4 strstr F
+GLIBC_2.4 strtod F
+GLIBC_2.4 strtod_l F
+GLIBC_2.4 strtof F
+GLIBC_2.4 strtof_l F
+GLIBC_2.4 strtoimax F
+GLIBC_2.4 strtok F
+GLIBC_2.4 strtok_r F
+GLIBC_2.4 strtol F
+GLIBC_2.4 strtol_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 strtoll F
+GLIBC_2.4 strtoll_l F
+GLIBC_2.4 strtoq F
+GLIBC_2.4 strtoul F
+GLIBC_2.4 strtoul_l F
+GLIBC_2.4 strtoull F
+GLIBC_2.4 strtoull_l F
+GLIBC_2.4 strtoumax F
+GLIBC_2.4 strtouq F
+GLIBC_2.4 strverscmp F
+GLIBC_2.4 strxfrm F
+GLIBC_2.4 strxfrm_l F
+GLIBC_2.4 stty F
+GLIBC_2.4 svc_exit F
+GLIBC_2.4 svc_fdset D 0x80
+GLIBC_2.4 svc_getreq F
+GLIBC_2.4 svc_getreq_common F
+GLIBC_2.4 svc_getreq_poll F
+GLIBC_2.4 svc_getreqset F
+GLIBC_2.4 svc_max_pollfd D 0x4
+GLIBC_2.4 svc_pollfd D 0x4
+GLIBC_2.4 svc_register F
+GLIBC_2.4 svc_run F
+GLIBC_2.4 svc_sendreply F
+GLIBC_2.4 svc_unregister F
+GLIBC_2.4 svcauthdes_stats D 0xc
+GLIBC_2.4 svcerr_auth F
+GLIBC_2.4 svcerr_decode F
+GLIBC_2.4 svcerr_noproc F
+GLIBC_2.4 svcerr_noprog F
+GLIBC_2.4 svcerr_progvers F
+GLIBC_2.4 svcerr_systemerr F
+GLIBC_2.4 svcerr_weakauth F
+GLIBC_2.4 svcfd_create F
+GLIBC_2.4 svcraw_create F
+GLIBC_2.4 svctcp_create F
+GLIBC_2.4 svcudp_bufcreate F
+GLIBC_2.4 svcudp_create F
+GLIBC_2.4 svcudp_enablecache F
+GLIBC_2.4 svcunix_create F
+GLIBC_2.4 svcunixfd_create F
+GLIBC_2.4 swab F
+GLIBC_2.4 swapcontext F
+GLIBC_2.4 swapoff F
+GLIBC_2.4 swapon F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlink F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sync F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 sys_sigabbrev D 0x104
+GLIBC_2.4 sys_siglist D 0x104
+GLIBC_2.4 syscall F
+GLIBC_2.4 sysconf F
+GLIBC_2.4 sysctl F
+GLIBC_2.4 sysinfo F
+GLIBC_2.4 syslog F
+GLIBC_2.4 system F
+GLIBC_2.4 sysv_signal F
+GLIBC_2.4 tcdrain F
+GLIBC_2.4 tcflow F
+GLIBC_2.4 tcflush F
+GLIBC_2.4 tcgetattr F
+GLIBC_2.4 tcgetpgrp F
+GLIBC_2.4 tcgetsid F
+GLIBC_2.4 tcsendbreak F
+GLIBC_2.4 tcsetattr F
+GLIBC_2.4 tcsetpgrp F
+GLIBC_2.4 tdelete F
+GLIBC_2.4 tdestroy F
+GLIBC_2.4 telldir F
+GLIBC_2.4 tempnam F
+GLIBC_2.4 textdomain F
+GLIBC_2.4 tfind F
+GLIBC_2.4 time F
+GLIBC_2.4 timegm F
+GLIBC_2.4 timelocal F
+GLIBC_2.4 times F
+GLIBC_2.4 timezone D 0x4
+GLIBC_2.4 tmpfile F
+GLIBC_2.4 tmpfile64 F
+GLIBC_2.4 tmpnam F
+GLIBC_2.4 tmpnam_r F
+GLIBC_2.4 toascii F
+GLIBC_2.4 tolower F
+GLIBC_2.4 tolower_l F
+GLIBC_2.4 toupper F
+GLIBC_2.4 toupper_l F
+GLIBC_2.4 towctrans F
+GLIBC_2.4 towctrans_l F
+GLIBC_2.4 towlower F
+GLIBC_2.4 towlower_l F
+GLIBC_2.4 towupper F
+GLIBC_2.4 towupper_l F
+GLIBC_2.4 tr_break F
+GLIBC_2.4 truncate F
+GLIBC_2.4 truncate64 F
+GLIBC_2.4 tsearch F
+GLIBC_2.4 ttyname F
+GLIBC_2.4 ttyname_r F
+GLIBC_2.4 ttyslot F
+GLIBC_2.4 twalk F
+GLIBC_2.4 tzname D 0x8
+GLIBC_2.4 tzset F
+GLIBC_2.4 ualarm F
+GLIBC_2.4 ulckpwdf F
+GLIBC_2.4 ulimit F
+GLIBC_2.4 umask F
+GLIBC_2.4 umount F
+GLIBC_2.4 umount2 F
+GLIBC_2.4 uname F
+GLIBC_2.4 ungetc F
+GLIBC_2.4 ungetwc F
+GLIBC_2.4 unlink F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unlockpt F
+GLIBC_2.4 unsetenv F
+GLIBC_2.4 unshare F
+GLIBC_2.4 updwtmp F
+GLIBC_2.4 updwtmpx F
+GLIBC_2.4 uselib F
+GLIBC_2.4 uselocale F
+GLIBC_2.4 user2netname F
+GLIBC_2.4 usleep F
+GLIBC_2.4 ustat F
+GLIBC_2.4 utime F
+GLIBC_2.4 utimes F
+GLIBC_2.4 utmpname F
+GLIBC_2.4 utmpxname F
+GLIBC_2.4 valloc F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 verr F
+GLIBC_2.4 verrx F
+GLIBC_2.4 versionsort F
+GLIBC_2.4 versionsort64 F
+GLIBC_2.4 vfork F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vhangup F
+GLIBC_2.4 vlimit F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vtimes F
+GLIBC_2.4 vwarn F
+GLIBC_2.4 vwarnx F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wait F
+GLIBC_2.4 wait3 F
+GLIBC_2.4 wait4 F
+GLIBC_2.4 waitid F
+GLIBC_2.4 waitpid F
+GLIBC_2.4 warn F
+GLIBC_2.4 warnx F
+GLIBC_2.4 wcpcpy F
+GLIBC_2.4 wcpncpy F
+GLIBC_2.4 wcrtomb F
+GLIBC_2.4 wcscasecmp F
+GLIBC_2.4 wcscasecmp_l F
+GLIBC_2.4 wcscat F
+GLIBC_2.4 wcschr F
+GLIBC_2.4 wcschrnul F
+GLIBC_2.4 wcscmp F
+GLIBC_2.4 wcscoll F
+GLIBC_2.4 wcscoll_l F
+GLIBC_2.4 wcscpy F
+GLIBC_2.4 wcscspn F
+GLIBC_2.4 wcsdup F
+GLIBC_2.4 wcsftime F
+GLIBC_2.4 wcsftime_l F
+GLIBC_2.4 wcslen F
+GLIBC_2.4 wcsncasecmp F
+GLIBC_2.4 wcsncasecmp_l F
+GLIBC_2.4 wcsncat F
+GLIBC_2.4 wcsncmp F
+GLIBC_2.4 wcsncpy F
+GLIBC_2.4 wcsnlen F
+GLIBC_2.4 wcsnrtombs F
+GLIBC_2.4 wcspbrk F
+GLIBC_2.4 wcsrchr F
+GLIBC_2.4 wcsrtombs F
+GLIBC_2.4 wcsspn F
+GLIBC_2.4 wcsstr F
+GLIBC_2.4 wcstod F
+GLIBC_2.4 wcstod_l F
+GLIBC_2.4 wcstof F
+GLIBC_2.4 wcstof_l F
+GLIBC_2.4 wcstoimax F
+GLIBC_2.4 wcstok F
+GLIBC_2.4 wcstol F
+GLIBC_2.4 wcstol_l F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wcstoll F
+GLIBC_2.4 wcstoll_l F
+GLIBC_2.4 wcstombs F
+GLIBC_2.4 wcstoq F
+GLIBC_2.4 wcstoul F
+GLIBC_2.4 wcstoul_l F
+GLIBC_2.4 wcstoull F
+GLIBC_2.4 wcstoull_l F
+GLIBC_2.4 wcstoumax F
+GLIBC_2.4 wcstouq F
+GLIBC_2.4 wcswcs F
+GLIBC_2.4 wcswidth F
+GLIBC_2.4 wcsxfrm F
+GLIBC_2.4 wcsxfrm_l F
+GLIBC_2.4 wctob F
+GLIBC_2.4 wctomb F
+GLIBC_2.4 wctrans F
+GLIBC_2.4 wctrans_l F
+GLIBC_2.4 wctype F
+GLIBC_2.4 wctype_l F
+GLIBC_2.4 wcwidth F
+GLIBC_2.4 wmemchr F
+GLIBC_2.4 wmemcmp F
+GLIBC_2.4 wmemcpy F
+GLIBC_2.4 wmemmove F
+GLIBC_2.4 wmempcpy F
+GLIBC_2.4 wmemset F
+GLIBC_2.4 wordexp F
+GLIBC_2.4 wordfree F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 write F
+GLIBC_2.4 writev F
+GLIBC_2.4 wscanf F
+GLIBC_2.4 xdecrypt F
+GLIBC_2.4 xdr_accepted_reply F
+GLIBC_2.4 xdr_array F
+GLIBC_2.4 xdr_authdes_cred F
+GLIBC_2.4 xdr_authdes_verf F
+GLIBC_2.4 xdr_authunix_parms F
+GLIBC_2.4 xdr_bool F
+GLIBC_2.4 xdr_bytes F
+GLIBC_2.4 xdr_callhdr F
+GLIBC_2.4 xdr_callmsg F
+GLIBC_2.4 xdr_char F
+GLIBC_2.4 xdr_cryptkeyarg F
+GLIBC_2.4 xdr_cryptkeyarg2 F
+GLIBC_2.4 xdr_cryptkeyres F
+GLIBC_2.4 xdr_des_block F
+GLIBC_2.4 xdr_double F
+GLIBC_2.4 xdr_enum F
+GLIBC_2.4 xdr_float F
+GLIBC_2.4 xdr_free F
+GLIBC_2.4 xdr_getcredres F
+GLIBC_2.4 xdr_hyper F
+GLIBC_2.4 xdr_int F
+GLIBC_2.4 xdr_int16_t F
+GLIBC_2.4 xdr_int32_t F
+GLIBC_2.4 xdr_int64_t F
+GLIBC_2.4 xdr_int8_t F
+GLIBC_2.4 xdr_key_netstarg F
+GLIBC_2.4 xdr_key_netstres F
+GLIBC_2.4 xdr_keybuf F
+GLIBC_2.4 xdr_keystatus F
+GLIBC_2.4 xdr_long F
+GLIBC_2.4 xdr_longlong_t F
+GLIBC_2.4 xdr_netnamestr F
+GLIBC_2.4 xdr_netobj F
+GLIBC_2.4 xdr_opaque F
+GLIBC_2.4 xdr_opaque_auth F
+GLIBC_2.4 xdr_pmap F
+GLIBC_2.4 xdr_pmaplist F
+GLIBC_2.4 xdr_pointer F
+GLIBC_2.4 xdr_quad_t F
+GLIBC_2.4 xdr_reference F
+GLIBC_2.4 xdr_rejected_reply F
+GLIBC_2.4 xdr_replymsg F
+GLIBC_2.4 xdr_rmtcall_args F
+GLIBC_2.4 xdr_rmtcallres F
+GLIBC_2.4 xdr_short F
+GLIBC_2.4 xdr_sizeof F
+GLIBC_2.4 xdr_string F
+GLIBC_2.4 xdr_u_char F
+GLIBC_2.4 xdr_u_hyper F
+GLIBC_2.4 xdr_u_int F
+GLIBC_2.4 xdr_u_long F
+GLIBC_2.4 xdr_u_longlong_t F
+GLIBC_2.4 xdr_u_quad_t F
+GLIBC_2.4 xdr_u_short F
+GLIBC_2.4 xdr_uint16_t F
+GLIBC_2.4 xdr_uint32_t F
+GLIBC_2.4 xdr_uint64_t F
+GLIBC_2.4 xdr_uint8_t F
+GLIBC_2.4 xdr_union F
+GLIBC_2.4 xdr_unixcred F
+GLIBC_2.4 xdr_vector F
+GLIBC_2.4 xdr_void F
+GLIBC_2.4 xdr_wrapstring F
+GLIBC_2.4 xdrmem_create F
+GLIBC_2.4 xdrrec_create F
+GLIBC_2.4 xdrrec_endofrecord F
+GLIBC_2.4 xdrrec_eof F
+GLIBC_2.4 xdrrec_skiprecord F
+GLIBC_2.4 xdrstdio_create F
+GLIBC_2.4 xencrypt F
+GLIBC_2.4 xprt_register F
+GLIBC_2.4 xprt_unregister 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 __gnu_mcount_nc 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/arm/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libcrypt.abilist
new file mode 100644
index 0000000000..04f1f02fa3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 crypt F
+GLIBC_2.4 crypt_r F
+GLIBC_2.4 encrypt F
+GLIBC_2.4 encrypt_r F
+GLIBC_2.4 fcrypt F
+GLIBC_2.4 setkey F
+GLIBC_2.4 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libdl.abilist
new file mode 100644
index 0000000000..89a750a0a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 dladdr F
+GLIBC_2.4 dladdr1 F
+GLIBC_2.4 dlclose F
+GLIBC_2.4 dlerror F
+GLIBC_2.4 dlinfo F
+GLIBC_2.4 dlmopen F
+GLIBC_2.4 dlopen F
+GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libm.abilist
new file mode 100644
index 0000000000..d0c33d2a11
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libm.abilist
@@ -0,0 +1,432 @@
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 _LIB_VERSION D 0x4
+GLIBC_2.4 __clog10 F
+GLIBC_2.4 __clog10f F
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finite F
+GLIBC_2.4 __finitef F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassify F
+GLIBC_2.4 __fpclassifyf F
+GLIBC_2.4 __signbit F
+GLIBC_2.4 __signbitf F
+GLIBC_2.4 acos F
+GLIBC_2.4 acosf F
+GLIBC_2.4 acosh F
+GLIBC_2.4 acoshf F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asin F
+GLIBC_2.4 asinf F
+GLIBC_2.4 asinh F
+GLIBC_2.4 asinhf F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan F
+GLIBC_2.4 atan2 F
+GLIBC_2.4 atan2f F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanf F
+GLIBC_2.4 atanh F
+GLIBC_2.4 atanhf F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabs F
+GLIBC_2.4 cabsf F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacos F
+GLIBC_2.4 cacosf F
+GLIBC_2.4 cacosh F
+GLIBC_2.4 cacoshf F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 carg F
+GLIBC_2.4 cargf F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casin F
+GLIBC_2.4 casinf F
+GLIBC_2.4 casinh F
+GLIBC_2.4 casinhf F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catan F
+GLIBC_2.4 catanf F
+GLIBC_2.4 catanh F
+GLIBC_2.4 catanhf F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrt F
+GLIBC_2.4 cbrtf F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccos F
+GLIBC_2.4 ccosf F
+GLIBC_2.4 ccosh F
+GLIBC_2.4 ccoshf F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceil F
+GLIBC_2.4 ceilf F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexp F
+GLIBC_2.4 cexpf F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimag F
+GLIBC_2.4 cimagf F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog F
+GLIBC_2.4 clog10 F
+GLIBC_2.4 clog10f F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogf F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conj F
+GLIBC_2.4 conjf F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysign F
+GLIBC_2.4 copysignf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 cos F
+GLIBC_2.4 cosf F
+GLIBC_2.4 cosh F
+GLIBC_2.4 coshf F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpow F
+GLIBC_2.4 cpowf F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cproj F
+GLIBC_2.4 cprojf F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creal F
+GLIBC_2.4 crealf F
+GLIBC_2.4 creall F
+GLIBC_2.4 csin F
+GLIBC_2.4 csinf F
+GLIBC_2.4 csinh F
+GLIBC_2.4 csinhf F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrt F
+GLIBC_2.4 csqrtf F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctan F
+GLIBC_2.4 ctanf F
+GLIBC_2.4 ctanh F
+GLIBC_2.4 ctanhf F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 drem F
+GLIBC_2.4 dremf F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erf F
+GLIBC_2.4 erfc F
+GLIBC_2.4 erfcf F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erff F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp F
+GLIBC_2.4 exp10 F
+GLIBC_2.4 exp10f F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2 F
+GLIBC_2.4 exp2f F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expf F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1 F
+GLIBC_2.4 expm1f F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabs F
+GLIBC_2.4 fabsf F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdim F
+GLIBC_2.4 fdimf F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 feclearexcept F
+GLIBC_2.4 fedisableexcept F
+GLIBC_2.4 feenableexcept F
+GLIBC_2.4 fegetenv F
+GLIBC_2.4 fegetexcept F
+GLIBC_2.4 fegetexceptflag F
+GLIBC_2.4 fegetround F
+GLIBC_2.4 feholdexcept F
+GLIBC_2.4 feraiseexcept F
+GLIBC_2.4 fesetenv F
+GLIBC_2.4 fesetexceptflag F
+GLIBC_2.4 fesetround F
+GLIBC_2.4 fetestexcept F
+GLIBC_2.4 feupdateenv F
+GLIBC_2.4 finite F
+GLIBC_2.4 finitef F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floor F
+GLIBC_2.4 floorf F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fma F
+GLIBC_2.4 fmaf F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmax F
+GLIBC_2.4 fmaxf F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fmin F
+GLIBC_2.4 fminf F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmod F
+GLIBC_2.4 fmodf F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexp F
+GLIBC_2.4 frexpf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gamma F
+GLIBC_2.4 gammaf F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypot F
+GLIBC_2.4 hypotf F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogb F
+GLIBC_2.4 ilogbf F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0 F
+GLIBC_2.4 j0f F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1 F
+GLIBC_2.4 j1f F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jn F
+GLIBC_2.4 jnf F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexp F
+GLIBC_2.4 ldexpf F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgamma F
+GLIBC_2.4 lgamma_r F
+GLIBC_2.4 lgammaf F
+GLIBC_2.4 lgammaf_r F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrint F
+GLIBC_2.4 llrintf F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llround F
+GLIBC_2.4 llroundf F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log F
+GLIBC_2.4 log10 F
+GLIBC_2.4 log10f F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1p F
+GLIBC_2.4 log1pf F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2 F
+GLIBC_2.4 log2f F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logb F
+GLIBC_2.4 logbf F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logf F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrint F
+GLIBC_2.4 lrintf F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lround F
+GLIBC_2.4 lroundf F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 matherr F
+GLIBC_2.4 modf F
+GLIBC_2.4 modff F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nan F
+GLIBC_2.4 nanf F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyint F
+GLIBC_2.4 nearbyintf F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafter F
+GLIBC_2.4 nextafterf F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow F
+GLIBC_2.4 pow10 F
+GLIBC_2.4 pow10f F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powf F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainder F
+GLIBC_2.4 remainderf F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquo F
+GLIBC_2.4 remquof F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rint F
+GLIBC_2.4 rintf F
+GLIBC_2.4 rintl F
+GLIBC_2.4 round F
+GLIBC_2.4 roundf F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalb F
+GLIBC_2.4 scalbf F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalbln F
+GLIBC_2.4 scalblnf F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbn F
+GLIBC_2.4 scalbnf F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 signgam D 0x4
+GLIBC_2.4 significand F
+GLIBC_2.4 significandf F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sin F
+GLIBC_2.4 sincos F
+GLIBC_2.4 sincosf F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinf F
+GLIBC_2.4 sinh F
+GLIBC_2.4 sinhf F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrt F
+GLIBC_2.4 sqrtf F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tan F
+GLIBC_2.4 tanf F
+GLIBC_2.4 tanh F
+GLIBC_2.4 tanhf F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgamma F
+GLIBC_2.4 tgammaf F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 trunc F
+GLIBC_2.4 truncf F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0 F
+GLIBC_2.4 y0f F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1 F
+GLIBC_2.4 y1f F
+GLIBC_2.4 y1l F
+GLIBC_2.4 yn F
+GLIBC_2.4 ynf F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libnsl.abilist
new file mode 100644
index 0000000000..2b2e49e6a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __free_fdresult F
+GLIBC_2.4 __nis_default_access F
+GLIBC_2.4 __nis_default_group F
+GLIBC_2.4 __nis_default_owner F
+GLIBC_2.4 __nis_default_ttl F
+GLIBC_2.4 __nis_finddirectory F
+GLIBC_2.4 __nis_hash F
+GLIBC_2.4 __nisbind_connect F
+GLIBC_2.4 __nisbind_create F
+GLIBC_2.4 __nisbind_destroy F
+GLIBC_2.4 __nisbind_next F
+GLIBC_2.4 __yp_check F
+GLIBC_2.4 nis_add F
+GLIBC_2.4 nis_add_entry F
+GLIBC_2.4 nis_addmember F
+GLIBC_2.4 nis_checkpoint F
+GLIBC_2.4 nis_clone_directory F
+GLIBC_2.4 nis_clone_object F
+GLIBC_2.4 nis_clone_result F
+GLIBC_2.4 nis_creategroup F
+GLIBC_2.4 nis_destroy_object F
+GLIBC_2.4 nis_destroygroup F
+GLIBC_2.4 nis_dir_cmp F
+GLIBC_2.4 nis_domain_of F
+GLIBC_2.4 nis_domain_of_r F
+GLIBC_2.4 nis_first_entry F
+GLIBC_2.4 nis_free_directory F
+GLIBC_2.4 nis_free_object F
+GLIBC_2.4 nis_free_request F
+GLIBC_2.4 nis_freenames F
+GLIBC_2.4 nis_freeresult F
+GLIBC_2.4 nis_freeservlist F
+GLIBC_2.4 nis_freetags F
+GLIBC_2.4 nis_getnames F
+GLIBC_2.4 nis_getservlist F
+GLIBC_2.4 nis_ismember F
+GLIBC_2.4 nis_leaf_of F
+GLIBC_2.4 nis_leaf_of_r F
+GLIBC_2.4 nis_lerror F
+GLIBC_2.4 nis_list F
+GLIBC_2.4 nis_local_directory F
+GLIBC_2.4 nis_local_group F
+GLIBC_2.4 nis_local_host F
+GLIBC_2.4 nis_local_principal F
+GLIBC_2.4 nis_lookup F
+GLIBC_2.4 nis_mkdir F
+GLIBC_2.4 nis_modify F
+GLIBC_2.4 nis_modify_entry F
+GLIBC_2.4 nis_name_of F
+GLIBC_2.4 nis_name_of_r F
+GLIBC_2.4 nis_next_entry F
+GLIBC_2.4 nis_perror F
+GLIBC_2.4 nis_ping F
+GLIBC_2.4 nis_print_directory F
+GLIBC_2.4 nis_print_entry F
+GLIBC_2.4 nis_print_group F
+GLIBC_2.4 nis_print_group_entry F
+GLIBC_2.4 nis_print_link F
+GLIBC_2.4 nis_print_object F
+GLIBC_2.4 nis_print_result F
+GLIBC_2.4 nis_print_rights F
+GLIBC_2.4 nis_print_table F
+GLIBC_2.4 nis_read_obj F
+GLIBC_2.4 nis_remove F
+GLIBC_2.4 nis_remove_entry F
+GLIBC_2.4 nis_removemember F
+GLIBC_2.4 nis_rmdir F
+GLIBC_2.4 nis_servstate F
+GLIBC_2.4 nis_sperrno F
+GLIBC_2.4 nis_sperror F
+GLIBC_2.4 nis_sperror_r F
+GLIBC_2.4 nis_stats F
+GLIBC_2.4 nis_verifygroup F
+GLIBC_2.4 nis_write_obj F
+GLIBC_2.4 readColdStartFile F
+GLIBC_2.4 writeColdStartFile F
+GLIBC_2.4 xdr_cback_data F
+GLIBC_2.4 xdr_domainname F
+GLIBC_2.4 xdr_keydat F
+GLIBC_2.4 xdr_mapname F
+GLIBC_2.4 xdr_obj_p F
+GLIBC_2.4 xdr_peername F
+GLIBC_2.4 xdr_valdat F
+GLIBC_2.4 xdr_yp_buf F
+GLIBC_2.4 xdr_ypall F
+GLIBC_2.4 xdr_ypbind_binding F
+GLIBC_2.4 xdr_ypbind_resp F
+GLIBC_2.4 xdr_ypbind_resptype F
+GLIBC_2.4 xdr_ypbind_setdom F
+GLIBC_2.4 xdr_ypdelete_args F
+GLIBC_2.4 xdr_ypmap_parms F
+GLIBC_2.4 xdr_ypmaplist F
+GLIBC_2.4 xdr_yppush_status F
+GLIBC_2.4 xdr_yppushresp_xfr F
+GLIBC_2.4 xdr_ypreq_key F
+GLIBC_2.4 xdr_ypreq_nokey F
+GLIBC_2.4 xdr_ypreq_xfr F
+GLIBC_2.4 xdr_ypresp_all F
+GLIBC_2.4 xdr_ypresp_key_val F
+GLIBC_2.4 xdr_ypresp_maplist F
+GLIBC_2.4 xdr_ypresp_master F
+GLIBC_2.4 xdr_ypresp_order F
+GLIBC_2.4 xdr_ypresp_val F
+GLIBC_2.4 xdr_ypresp_xfr F
+GLIBC_2.4 xdr_ypstat F
+GLIBC_2.4 xdr_ypupdate_args F
+GLIBC_2.4 xdr_ypxfrstat F
+GLIBC_2.4 yp_all F
+GLIBC_2.4 yp_bind F
+GLIBC_2.4 yp_first F
+GLIBC_2.4 yp_get_default_domain F
+GLIBC_2.4 yp_maplist F
+GLIBC_2.4 yp_master F
+GLIBC_2.4 yp_match F
+GLIBC_2.4 yp_next F
+GLIBC_2.4 yp_order F
+GLIBC_2.4 yp_unbind F
+GLIBC_2.4 yp_update F
+GLIBC_2.4 ypbinderr_string F
+GLIBC_2.4 yperr_string F
+GLIBC_2.4 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libpthread.abilist
new file mode 100644
index 0000000000..91545c1542
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libpthread.abilist
@@ -0,0 +1,228 @@
+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.4 GLIBC_2.4 A
+GLIBC_2.4 _IO_flockfile F
+GLIBC_2.4 _IO_ftrylockfile F
+GLIBC_2.4 _IO_funlockfile F
+GLIBC_2.4 __close F
+GLIBC_2.4 __connect F
+GLIBC_2.4 __errno_location F
+GLIBC_2.4 __fcntl F
+GLIBC_2.4 __fork F
+GLIBC_2.4 __h_errno_location F
+GLIBC_2.4 __libc_allocate_rtsig F
+GLIBC_2.4 __libc_current_sigrtmax F
+GLIBC_2.4 __libc_current_sigrtmin F
+GLIBC_2.4 __lseek F
+GLIBC_2.4 __nanosleep F
+GLIBC_2.4 __open F
+GLIBC_2.4 __open64 F
+GLIBC_2.4 __pread64 F
+GLIBC_2.4 __pthread_cleanup_routine F
+GLIBC_2.4 __pthread_getspecific F
+GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_trylock F
+GLIBC_2.4 __pthread_mutex_unlock F
+GLIBC_2.4 __pthread_mutexattr_destroy F
+GLIBC_2.4 __pthread_mutexattr_init F
+GLIBC_2.4 __pthread_mutexattr_settype F
+GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_register_cancel F
+GLIBC_2.4 __pthread_register_cancel_defer F
+GLIBC_2.4 __pthread_rwlock_destroy F
+GLIBC_2.4 __pthread_rwlock_init F
+GLIBC_2.4 __pthread_rwlock_rdlock F
+GLIBC_2.4 __pthread_rwlock_tryrdlock F
+GLIBC_2.4 __pthread_rwlock_trywrlock F
+GLIBC_2.4 __pthread_rwlock_unlock F
+GLIBC_2.4 __pthread_rwlock_wrlock F
+GLIBC_2.4 __pthread_setspecific F
+GLIBC_2.4 __pthread_unregister_cancel F
+GLIBC_2.4 __pthread_unregister_cancel_restore F
+GLIBC_2.4 __pthread_unwind_next F
+GLIBC_2.4 __pwrite64 F
+GLIBC_2.4 __read F
+GLIBC_2.4 __res_state F
+GLIBC_2.4 __send F
+GLIBC_2.4 __sigaction F
+GLIBC_2.4 __vfork F
+GLIBC_2.4 __wait F
+GLIBC_2.4 __write F
+GLIBC_2.4 _pthread_cleanup_pop F
+GLIBC_2.4 _pthread_cleanup_pop_restore F
+GLIBC_2.4 _pthread_cleanup_push F
+GLIBC_2.4 _pthread_cleanup_push_defer F
+GLIBC_2.4 accept F
+GLIBC_2.4 close F
+GLIBC_2.4 connect F
+GLIBC_2.4 fcntl F
+GLIBC_2.4 flockfile F
+GLIBC_2.4 fork F
+GLIBC_2.4 fsync F
+GLIBC_2.4 ftrylockfile F
+GLIBC_2.4 funlockfile F
+GLIBC_2.4 longjmp F
+GLIBC_2.4 lseek F
+GLIBC_2.4 lseek64 F
+GLIBC_2.4 msync F
+GLIBC_2.4 nanosleep F
+GLIBC_2.4 open F
+GLIBC_2.4 open64 F
+GLIBC_2.4 pause F
+GLIBC_2.4 pread F
+GLIBC_2.4 pread64 F
+GLIBC_2.4 pthread_attr_destroy F
+GLIBC_2.4 pthread_attr_getaffinity_np F
+GLIBC_2.4 pthread_attr_getdetachstate F
+GLIBC_2.4 pthread_attr_getguardsize F
+GLIBC_2.4 pthread_attr_getinheritsched F
+GLIBC_2.4 pthread_attr_getschedparam F
+GLIBC_2.4 pthread_attr_getschedpolicy F
+GLIBC_2.4 pthread_attr_getscope F
+GLIBC_2.4 pthread_attr_getstack F
+GLIBC_2.4 pthread_attr_getstackaddr F
+GLIBC_2.4 pthread_attr_getstacksize F
+GLIBC_2.4 pthread_attr_init F
+GLIBC_2.4 pthread_attr_setaffinity_np F
+GLIBC_2.4 pthread_attr_setdetachstate F
+GLIBC_2.4 pthread_attr_setguardsize F
+GLIBC_2.4 pthread_attr_setinheritsched F
+GLIBC_2.4 pthread_attr_setschedparam F
+GLIBC_2.4 pthread_attr_setschedpolicy F
+GLIBC_2.4 pthread_attr_setscope F
+GLIBC_2.4 pthread_attr_setstack F
+GLIBC_2.4 pthread_attr_setstackaddr F
+GLIBC_2.4 pthread_attr_setstacksize F
+GLIBC_2.4 pthread_barrier_destroy F
+GLIBC_2.4 pthread_barrier_init F
+GLIBC_2.4 pthread_barrier_wait F
+GLIBC_2.4 pthread_barrierattr_destroy F
+GLIBC_2.4 pthread_barrierattr_getpshared F
+GLIBC_2.4 pthread_barrierattr_init F
+GLIBC_2.4 pthread_barrierattr_setpshared F
+GLIBC_2.4 pthread_cancel F
+GLIBC_2.4 pthread_cond_broadcast F
+GLIBC_2.4 pthread_cond_destroy F
+GLIBC_2.4 pthread_cond_init F
+GLIBC_2.4 pthread_cond_signal F
+GLIBC_2.4 pthread_cond_timedwait F
+GLIBC_2.4 pthread_cond_wait F
+GLIBC_2.4 pthread_condattr_destroy F
+GLIBC_2.4 pthread_condattr_getclock F
+GLIBC_2.4 pthread_condattr_getpshared F
+GLIBC_2.4 pthread_condattr_init F
+GLIBC_2.4 pthread_condattr_setclock F
+GLIBC_2.4 pthread_condattr_setpshared F
+GLIBC_2.4 pthread_create F
+GLIBC_2.4 pthread_detach F
+GLIBC_2.4 pthread_equal F
+GLIBC_2.4 pthread_exit F
+GLIBC_2.4 pthread_getaffinity_np F
+GLIBC_2.4 pthread_getattr_np F
+GLIBC_2.4 pthread_getconcurrency F
+GLIBC_2.4 pthread_getcpuclockid F
+GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_getspecific F
+GLIBC_2.4 pthread_join F
+GLIBC_2.4 pthread_key_create F
+GLIBC_2.4 pthread_key_delete F
+GLIBC_2.4 pthread_kill F
+GLIBC_2.4 pthread_kill_other_threads_np F
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_destroy F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_init F
+GLIBC_2.4 pthread_mutex_lock F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutex_timedlock F
+GLIBC_2.4 pthread_mutex_trylock F
+GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_mutexattr_destroy F
+GLIBC_2.4 pthread_mutexattr_getkind_np F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getpshared F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_gettype F
+GLIBC_2.4 pthread_mutexattr_init F
+GLIBC_2.4 pthread_mutexattr_setkind_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setpshared F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
+GLIBC_2.4 pthread_mutexattr_settype F
+GLIBC_2.4 pthread_once F
+GLIBC_2.4 pthread_rwlock_destroy F
+GLIBC_2.4 pthread_rwlock_init F
+GLIBC_2.4 pthread_rwlock_rdlock F
+GLIBC_2.4 pthread_rwlock_timedrdlock F
+GLIBC_2.4 pthread_rwlock_timedwrlock F
+GLIBC_2.4 pthread_rwlock_tryrdlock F
+GLIBC_2.4 pthread_rwlock_trywrlock F
+GLIBC_2.4 pthread_rwlock_unlock F
+GLIBC_2.4 pthread_rwlock_wrlock F
+GLIBC_2.4 pthread_rwlockattr_destroy F
+GLIBC_2.4 pthread_rwlockattr_getkind_np F
+GLIBC_2.4 pthread_rwlockattr_getpshared F
+GLIBC_2.4 pthread_rwlockattr_init F
+GLIBC_2.4 pthread_rwlockattr_setkind_np F
+GLIBC_2.4 pthread_rwlockattr_setpshared F
+GLIBC_2.4 pthread_self F
+GLIBC_2.4 pthread_setaffinity_np F
+GLIBC_2.4 pthread_setcancelstate F
+GLIBC_2.4 pthread_setcanceltype F
+GLIBC_2.4 pthread_setconcurrency F
+GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 pthread_setschedprio F
+GLIBC_2.4 pthread_setspecific F
+GLIBC_2.4 pthread_sigmask F
+GLIBC_2.4 pthread_spin_destroy F
+GLIBC_2.4 pthread_spin_init F
+GLIBC_2.4 pthread_spin_lock F
+GLIBC_2.4 pthread_spin_trylock F
+GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
+GLIBC_2.4 pthread_timedjoin_np F
+GLIBC_2.4 pthread_tryjoin_np F
+GLIBC_2.4 pthread_yield F
+GLIBC_2.4 pwrite F
+GLIBC_2.4 pwrite64 F
+GLIBC_2.4 raise F
+GLIBC_2.4 read F
+GLIBC_2.4 recv F
+GLIBC_2.4 recvfrom F
+GLIBC_2.4 recvmsg F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_destroy F
+GLIBC_2.4 sem_getvalue F
+GLIBC_2.4 sem_init F
+GLIBC_2.4 sem_open F
+GLIBC_2.4 sem_post F
+GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_trywait F
+GLIBC_2.4 sem_unlink F
+GLIBC_2.4 sem_wait F
+GLIBC_2.4 send F
+GLIBC_2.4 sendmsg F
+GLIBC_2.4 sendto F
+GLIBC_2.4 sigaction F
+GLIBC_2.4 siglongjmp F
+GLIBC_2.4 sigwait F
+GLIBC_2.4 system F
+GLIBC_2.4 tcdrain F
+GLIBC_2.4 vfork F
+GLIBC_2.4 wait F
+GLIBC_2.4 waitpid F
+GLIBC_2.4 write F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libresolv.abilist
new file mode 100644
index 0000000000..c7023be532
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libresolv.abilist
@@ -0,0 +1,93 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __b64_ntop F
+GLIBC_2.4 __b64_pton F
+GLIBC_2.4 __dn_comp F
+GLIBC_2.4 __dn_count_labels F
+GLIBC_2.4 __dn_expand F
+GLIBC_2.4 __dn_skipname F
+GLIBC_2.4 __fp_nquery F
+GLIBC_2.4 __fp_query F
+GLIBC_2.4 __fp_resstat F
+GLIBC_2.4 __hostalias F
+GLIBC_2.4 __loc_aton F
+GLIBC_2.4 __loc_ntoa F
+GLIBC_2.4 __p_cdname F
+GLIBC_2.4 __p_cdnname F
+GLIBC_2.4 __p_class F
+GLIBC_2.4 __p_class_syms D 0x54
+GLIBC_2.4 __p_fqname F
+GLIBC_2.4 __p_fqnname F
+GLIBC_2.4 __p_option F
+GLIBC_2.4 __p_query F
+GLIBC_2.4 __p_rcode F
+GLIBC_2.4 __p_secstodate F
+GLIBC_2.4 __p_time F
+GLIBC_2.4 __p_type F
+GLIBC_2.4 __p_type_syms D 0x228
+GLIBC_2.4 __putlong F
+GLIBC_2.4 __putshort F
+GLIBC_2.4 __res_close F
+GLIBC_2.4 __res_dnok F
+GLIBC_2.4 __res_hnok F
+GLIBC_2.4 __res_hostalias F
+GLIBC_2.4 __res_isourserver F
+GLIBC_2.4 __res_mailok F
+GLIBC_2.4 __res_mkquery F
+GLIBC_2.4 __res_nameinquery F
+GLIBC_2.4 __res_nmkquery F
+GLIBC_2.4 __res_nquery F
+GLIBC_2.4 __res_nquerydomain F
+GLIBC_2.4 __res_nsearch F
+GLIBC_2.4 __res_nsend F
+GLIBC_2.4 __res_ownok F
+GLIBC_2.4 __res_queriesmatch F
+GLIBC_2.4 __res_query F
+GLIBC_2.4 __res_querydomain F
+GLIBC_2.4 __res_search F
+GLIBC_2.4 __res_send F
+GLIBC_2.4 __sym_ntop F
+GLIBC_2.4 __sym_ntos F
+GLIBC_2.4 __sym_ston F
+GLIBC_2.4 _gethtbyaddr F
+GLIBC_2.4 _gethtbyname F
+GLIBC_2.4 _gethtbyname2 F
+GLIBC_2.4 _gethtent F
+GLIBC_2.4 _getlong F
+GLIBC_2.4 _getshort F
+GLIBC_2.4 _res_opcodes D 0x40
+GLIBC_2.4 _sethtent F
+GLIBC_2.4 inet_net_ntop F
+GLIBC_2.4 inet_net_pton F
+GLIBC_2.4 inet_neta F
+GLIBC_2.4 res_gethostbyaddr F
+GLIBC_2.4 res_gethostbyname F
+GLIBC_2.4 res_gethostbyname2 F
+GLIBC_2.4 res_send_setqhook F
+GLIBC_2.4 res_send_setrhook 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/arm/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/librt.abilist
new file mode 100644
index 0000000000..b47aa0cc9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/librt.abilist
@@ -0,0 +1,42 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 aio_cancel F
+GLIBC_2.4 aio_cancel64 F
+GLIBC_2.4 aio_error F
+GLIBC_2.4 aio_error64 F
+GLIBC_2.4 aio_fsync F
+GLIBC_2.4 aio_fsync64 F
+GLIBC_2.4 aio_init F
+GLIBC_2.4 aio_read F
+GLIBC_2.4 aio_read64 F
+GLIBC_2.4 aio_return F
+GLIBC_2.4 aio_return64 F
+GLIBC_2.4 aio_suspend F
+GLIBC_2.4 aio_suspend64 F
+GLIBC_2.4 aio_write F
+GLIBC_2.4 aio_write64 F
+GLIBC_2.4 clock_getcpuclockid F
+GLIBC_2.4 clock_getres F
+GLIBC_2.4 clock_gettime F
+GLIBC_2.4 clock_nanosleep F
+GLIBC_2.4 clock_settime F
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.4 mq_close F
+GLIBC_2.4 mq_getattr F
+GLIBC_2.4 mq_notify F
+GLIBC_2.4 mq_open F
+GLIBC_2.4 mq_receive F
+GLIBC_2.4 mq_send F
+GLIBC_2.4 mq_setattr F
+GLIBC_2.4 mq_timedreceive F
+GLIBC_2.4 mq_timedsend F
+GLIBC_2.4 mq_unlink F
+GLIBC_2.4 shm_open F
+GLIBC_2.4 shm_unlink F
+GLIBC_2.4 timer_create F
+GLIBC_2.4 timer_delete F
+GLIBC_2.4 timer_getoverrun F
+GLIBC_2.4 timer_gettime F
+GLIBC_2.4 timer_settime F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libthread_db.abilist
new file mode 100644
index 0000000000..4cffcd2238
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 td_init F
+GLIBC_2.4 td_log F
+GLIBC_2.4 td_symbol_list F
+GLIBC_2.4 td_ta_clear_event F
+GLIBC_2.4 td_ta_delete F
+GLIBC_2.4 td_ta_enable_stats F
+GLIBC_2.4 td_ta_event_addr F
+GLIBC_2.4 td_ta_event_getmsg F
+GLIBC_2.4 td_ta_get_nthreads F
+GLIBC_2.4 td_ta_get_ph F
+GLIBC_2.4 td_ta_get_stats F
+GLIBC_2.4 td_ta_map_id2thr F
+GLIBC_2.4 td_ta_map_lwp2thr F
+GLIBC_2.4 td_ta_new F
+GLIBC_2.4 td_ta_reset_stats F
+GLIBC_2.4 td_ta_set_event F
+GLIBC_2.4 td_ta_setconcurrency F
+GLIBC_2.4 td_ta_thr_iter F
+GLIBC_2.4 td_ta_tsd_iter F
+GLIBC_2.4 td_thr_clear_event F
+GLIBC_2.4 td_thr_dbresume F
+GLIBC_2.4 td_thr_dbsuspend F
+GLIBC_2.4 td_thr_event_enable F
+GLIBC_2.4 td_thr_event_getmsg F
+GLIBC_2.4 td_thr_get_info F
+GLIBC_2.4 td_thr_getfpregs F
+GLIBC_2.4 td_thr_getgregs F
+GLIBC_2.4 td_thr_getxregs F
+GLIBC_2.4 td_thr_getxregsize F
+GLIBC_2.4 td_thr_set_event F
+GLIBC_2.4 td_thr_setfpregs F
+GLIBC_2.4 td_thr_setgregs F
+GLIBC_2.4 td_thr_setprio F
+GLIBC_2.4 td_thr_setsigpending F
+GLIBC_2.4 td_thr_setxregs F
+GLIBC_2.4 td_thr_sigsetmask F
+GLIBC_2.4 td_thr_tls_get_addr F
+GLIBC_2.4 td_thr_tlsbase F
+GLIBC_2.4 td_thr_tsd F
+GLIBC_2.4 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libutil.abilist
new file mode 100644
index 0000000000..0b4f746094
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 forkpty F
+GLIBC_2.4 login F
+GLIBC_2.4 login_tty F
+GLIBC_2.4 logout F
+GLIBC_2.4 logwtmp F
+GLIBC_2.4 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/arm/localplt.data
new file mode 100644
index 0000000000..19d3299d98
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/localplt.data
@@ -0,0 +1,19 @@
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: raise
+libc.so: realloc
+libm.so: matherr
+libpthread.so: raise
+# The dynamic loader needs __tls_get_addr for TLS.
+ld.so: __tls_get_addr
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error
+ld.so: _dl_catch_error
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/lxstat.c
new file mode 100644
index 0000000000..0efa0aea49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/lxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/makecontext.c
new file mode 100644
index 0000000000..2ccd563869
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/makecontext.c
@@ -0,0 +1,73 @@
+/* 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 <stdarg.h>
+#include <ucontext.h>
+
+/* Number of arguments that go in registers.  */
+#define NREG_ARGS  4
+
+/* Take a context previously prepared via getcontext() and set to
+   call func() with the given int only args.  */
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __startcontext (void);
+  unsigned long *funcstack;
+  va_list vl;
+  unsigned long *regptr;
+  unsigned int reg;
+  int misaligned;
+
+  /* Start at the top of stack.  */
+  funcstack = (unsigned long *) (ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+
+  /* Ensure the stack stays eight byte aligned.  */
+  misaligned = ((unsigned long) funcstack & 4) != 0;
+
+  if ((argc > NREG_ARGS) && (argc & 1) != 0)
+    misaligned = !misaligned;
+
+  if (misaligned)
+    funcstack -= 1;
+
+  va_start (vl, argc);
+
+  /* Reserve space for the on-stack arguments.  */
+  if (argc > NREG_ARGS)
+    funcstack -= (argc - NREG_ARGS);
+
+  ucp->uc_mcontext.arm_sp = (unsigned long) funcstack;
+  ucp->uc_mcontext.arm_pc = (unsigned long) func;
+
+  /* Exit to startcontext() with the next context in R4 */
+  ucp->uc_mcontext.arm_r4 = (unsigned long) ucp->uc_link;
+  ucp->uc_mcontext.arm_lr = (unsigned long) __startcontext;
+
+  /* The first four arguments go into registers.  */
+  regptr = &(ucp->uc_mcontext.arm_r0);
+
+  for (reg = 0; (reg < argc) && (reg < NREG_ARGS); reg++)
+    *regptr++ = va_arg (vl, unsigned long);
+
+  /* And the remainder on the stack.  */
+  for (; reg < argc; reg++)
+    *funcstack++ = va_arg (vl, unsigned long);
+
+  va_end (vl);
+}
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/profil-counter.h
new file mode 100644
index 0000000000..20346704b3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/profil-counter.h
@@ -0,0 +1,34 @@
+/* Low-level statistical profiling support function.  Linux/ARM version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigcontextinfo.h>
+
+void
+__profil_counter (int signo, const SIGCONTEXT scp)
+{
+  profil_count ((void *) GET_PC (scp));
+
+  /* This is a hack to prevent the compiler from implementing the
+     above function call as a sibcall.  The sibcall would overwrite
+     the signal context.  */
+  asm volatile ("");
+}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/readahead.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readahead.c
new file mode 100644
index 0000000000..fa0279ed19
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readahead.c
@@ -0,0 +1,37 @@
+/* Provide kernel hint to read ahead.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <endian.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+ssize_t
+__readahead (int fd, off64_t offset, size_t count)
+{
+  return INLINE_SYSCALL (readahead, 5, fd, 0,
+			 __LONG_LONG_PAIR ((off_t) (offset >> 32),
+					   (off_t) (offset & 0xffffffff)),
+			 count);
+}
+
+weak_alias (__readahead, readahead)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64.c
new file mode 100644
index 0000000000..2ea26dd409
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64_r.c
new file mode 100644
index 0000000000..9f54f897e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readdir64_r.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readelflib.c
new file mode 100644
index 0000000000..65273bcf77
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/readelflib.c
@@ -0,0 +1,79 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 1999 and
+		  Jakub Jelinek <jakub@redhat.com>, 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/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret;
+
+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+    {
+      Elf32_Ehdr *elf32_header = (Elf32_Ehdr *) elf_header;
+
+      ret = process_elf32_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+
+      if (!ret && EF_ARM_EABI_VERSION (elf32_header->e_flags) == EF_ARM_EABI_VER5)
+	{
+	  if (elf32_header->e_flags & EF_ARM_ABI_FLOAT_HARD)
+	    *flag = FLAG_ARM_LIBHF|FLAG_ELF_LIBC6;
+	  else if (elf32_header->e_flags & EF_ARM_ABI_FLOAT_SOFT)
+	    *flag = FLAG_ARM_LIBSF|FLAG_ELF_LIBC6;
+	  else
+	    /* We must assume the unmarked objects are compatible
+	       with all ABI variants. Such objects may have been
+	       generated in a transitional period when the ABI
+	       tags were not added to all objects.  */
+	    *flag = FLAG_ELF_LIBC6;
+	}
+    }
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* AArch64 libraries are always libc.so.6+.  */
+      if (!ret)
+	*flag = FLAG_AARCH64_LIB64|FLAG_ELF_LIBC6;
+    }
+  return ret;
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/register-dump.h
new file mode 100644
index 0000000000..0f2bed7d1d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/register-dump.h
@@ -0,0 +1,136 @@
+/* Dump registers.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <pb@nexus.co.uk>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+#include <sys/ucontext.h>
+
+/* We will print the register dump in this format:
+
+ R0: XXXXXXXX   R1: XXXXXXXX   R2: XXXXXXXX   R3: XXXXXXXX
+ R4: XXXXXXXX   R5: XXXXXXXX   R6: XXXXXXXX   R7: XXXXXXXX
+ R8: XXXXXXXX   R9: XXXXXXXX   SL: XXXXXXXX   FP: XXXXXXXX
+ IP: XXXXXXXX   SP: XXXXXXXX   LR: XXXXXXXX   PC: XXXXXXXX
+
+ CPSR: XXXXXXXX
+
+ Trap: XXXXXXXX   Error: XXXXXXXX   OldMask: XXXXXXXX
+ Addr: XXXXXXXX
+
+ */
+
+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, const struct ucontext *ctx)
+{
+  char regs[21][8];
+  struct iovec iov[97];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->uc_mcontext.arm_r0, regs[0], 8);
+  hexvalue (ctx->uc_mcontext.arm_r1, regs[1], 8);
+  hexvalue (ctx->uc_mcontext.arm_r2, regs[2], 8);
+  hexvalue (ctx->uc_mcontext.arm_r3, regs[3], 8);
+  hexvalue (ctx->uc_mcontext.arm_r4, regs[4], 8);
+  hexvalue (ctx->uc_mcontext.arm_r5, regs[5], 8);
+  hexvalue (ctx->uc_mcontext.arm_r6, regs[6], 8);
+  hexvalue (ctx->uc_mcontext.arm_r7, regs[7], 8);
+  hexvalue (ctx->uc_mcontext.arm_r8, regs[8], 8);
+  hexvalue (ctx->uc_mcontext.arm_r9, regs[9], 8);
+  hexvalue (ctx->uc_mcontext.arm_r10, regs[10], 8);
+  hexvalue (ctx->uc_mcontext.arm_fp, regs[11], 8);
+  hexvalue (ctx->uc_mcontext.arm_ip, regs[12], 8);
+  hexvalue (ctx->uc_mcontext.arm_sp, regs[13], 8);
+  hexvalue (ctx->uc_mcontext.arm_lr, regs[14], 8);
+  hexvalue (ctx->uc_mcontext.arm_pc, regs[15], 8);
+  hexvalue (ctx->uc_mcontext.arm_cpsr, regs[16], 8);
+  hexvalue (ctx->uc_mcontext.trap_no, regs[17], 8);
+  hexvalue (ctx->uc_mcontext.error_code, regs[18], 8);
+  hexvalue (ctx->uc_mcontext.oldmask, regs[19], 8);
+  hexvalue (ctx->uc_mcontext.fault_address, regs[20], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n R0: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("   R1: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("   R2: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("   R3: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n R4: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("   R5: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("   R6: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("   R7: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n R8: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("   R9: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("   SL: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("   FP: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("\n IP: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("   SP: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("   LR: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("   PC: ");
+  ADD_MEM (regs[15], 8);
+  ADD_STRING ("\n\n CPSR: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING ("\n\n Trap: ");
+  ADD_MEM (regs[17], 8);
+  ADD_STRING ("   Error: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("   OldMask: ");
+  ADD_MEM (regs[19], 8);
+  ADD_STRING ("\n Addr: ");
+  ADD_MEM (regs[20], 8);
+
+  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/arm/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/scandir64.c
new file mode 100644
index 0000000000..506fd8877c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/scandir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/setcontext.S
new file mode 100644
index 0000000000..db6aebfbd4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/setcontext.S
@@ -0,0 +1,111 @@
+/* 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/>.  */
+
+/* ??? Needs more rearrangement for the LDM to handle thumb mode.  */
+#define NO_THUMB
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+
+#include "ucontext_i.h"
+
+	.syntax unified
+	.text
+
+/* int setcontext (const ucontext_t *ucp) */
+
+ENTRY(__setcontext)
+	mov	r4, r0
+	add	r0, r0, #UCONTEXT_REGSPACE
+
+	/* Restore the VFP registers.  Copied from arm/__longjmp.S.  */
+#ifdef PIC
+	ldr     r2, 1f
+	ldr     r1, .Lrtld_global_ro
+0:      add     r2, pc, r2
+	ldr     r2, [r2, r1]
+	ldr     r2, [r2, #RTLD_GLOBAL_RO_DL_HWCAP_OFFSET]
+#else
+	ldr     r2, .Lhwcap
+	ldr     r2, [r2, #0]
+#endif
+
+#ifdef __SOFTFP__
+	tst     r2, #HWCAP_ARM_VFP
+	beq     .Lno_vfp_sc
+#endif
+
+	/* Following instruction is vldmia r0!, {d8-d15}.  */
+	ldc     p11, cr8, [r0], #64
+	/* Restore the floating-point status register.  */
+	ldr     r1, [r0], #4
+	/* Following instruction is fmxr fpscr, r1.  */
+	mcr     p10, 7, r1, cr1, cr0, 0
+.Lno_vfp_sc:
+	tst     r2, #HWCAP_ARM_IWMMXT
+	beq     .Lno_iwmmxt_sc
+
+	/* Restore the call-preserved iWMMXt registers.  */
+	/* Following instructions are wldrd wr10, [r0], #8 (etc.)  */
+	ldcl    p1, cr10, [r0], #8
+	ldcl    p1, cr11, [r0], #8
+	ldcl    p1, cr12, [r0], #8
+	ldcl    p1, cr13, [r0], #8
+	ldcl    p1, cr14, [r0], #8
+	ldcl    p1, cr15, [r0], #8
+.Lno_iwmmxt_sc:
+
+	/* Now bring back the signal status.  */
+	mov	r0, #SIG_SETMASK
+	add	r1, r4, #UCONTEXT_SIGMASK
+	mov	r2, #0
+	bl	PLTJMP(__sigprocmask)
+
+	/* Loading r0-r3 makes makecontext easier.  */
+	add     r14, r4, #MCONTEXT_ARM_R0
+	ldmia   r14, {r0-r12}
+	ldr     r13, [r14, #(MCONTEXT_ARM_SP - MCONTEXT_ARM_R0)]
+	add     r14, r14, #(MCONTEXT_ARM_LR - MCONTEXT_ARM_R0)
+	ldmia   r14, {r14, pc}
+
+END(setcontext)
+weak_alias(__setcontext, setcontext)
+
+	/* Called when a makecontext() context returns.  Start the
+	   context in R4 or fall through to exit().  */
+	/* Unwind descriptors are looked up based on PC - 2, so we have to
+	   make sure to mark the instruction preceding the __startcontext
+	   label as .cantunwind.  */
+	.fnstart
+	.cantunwind
+	nop
+ENTRY(__startcontext)
+	movs    r0, r4
+	bne     PLTJMP(__setcontext)
+
+	@ New context was 0 - exit
+	b       PLTJMP(HIDDEN_JUMPTARGET(exit))
+	.fnend
+END(__startcontext)
+
+#ifdef PIC
+1:      .long   _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
+.Lrtld_global_ro:
+	.long   C_SYMBOL_NAME(_rtld_global_ro)(GOT)
+#else
+.Lhwcap:
+	.long   C_SYMBOL_NAME(_dl_hwcap)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/arm/shlib-versions
new file mode 100644
index 0000000000..9b169530d4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/shlib-versions
@@ -0,0 +1,9 @@
+DEFAULT			GLIBC_2.4
+
+%ifdef HAVE_ARM_PCS_VFP
+# The EABI-derived hard-float ABI uses a new dynamic linker.
+ld=ld-linux-armhf.so.3
+%else
+# The EABI-derived soft-float ABI continues to use ld-linux.so.3.
+ld=ld-linux.so.3
+%endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigaction.c
new file mode 100644
index 0000000000..e4c0d976b0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigaction.c
@@ -0,0 +1,84 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+#define SA_RESTORER	0x04000000
+
+extern void __default_sa_restorer (void);
+extern void __default_rt_sa_restorer (void);
+
+/* When RT signals are in use we need to use a different return stub.  */
+#define choose_restorer(flags)					\
+  (flags & SA_SIGINFO) ? __default_rt_sa_restorer		\
+  : __default_sa_restorer
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+
+  struct kernel_sigaction kact, koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+      if (kact.sa_flags & SA_RESTORER)
+	kact.sa_restorer = act->sa_restorer;
+      else
+	{
+	  kact.sa_restorer = choose_restorer (kact.sa_flags);
+	  kact.sa_flags |= SA_RESTORER;
+	}
+#endif
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+			   act ? &kact : NULL,
+			   oact ? &koact : NULL, _NSIG / 8);
+
+  if (oact && result >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+      oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+      oact->sa_restorer = koact.sa_restorer;
+#endif
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
new file mode 100644
index 0000000000..f2a66d154d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <philb@gnu.org>, 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/ucontext.h>
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT_EXTRA_ARGS _si,
+
+/* The sigcontext structure changed between 2.0 and 2.1 kernels.  On any
+   modern system we should be able to assume that the "new" format will be
+   in use.  */
+
+#define GET_PC(ctx)	((void *) (ctx)->uc_mcontext.arm_pc)
+#define GET_FRAME(ctx)	ADVANCE_STACK_FRAME ((void *) ctx->uc_mcontext.arm_fp)
+#define GET_STACK(ctx)	((void *) (ctx)->uc_mcontext.arm_sp)
+
+#define ADVANCE_STACK_FRAME(frm)	\
+			((struct layout *)frm - 1)
+
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
+
+/* There is no reliable way to get the sigcontext unless we use a
+   three-argument signal handler.  */
+#define __sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (__sigaction) (sig, act, oact); \
+})
+
+#define sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (sigaction) (sig, act, oact); \
+})
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigrestorer.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigrestorer.S
new file mode 100644
index 0000000000..01136bef0e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sigrestorer.S
@@ -0,0 +1,84 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* If no SA_RESTORER function was specified by the application we use
+   one of these.  This avoids the need for the kernel to synthesise a return
+   instruction on the stack, which would involve expensive cache flushes.
+
+   Nowadays (2.6 series, and somewhat earlier) the kernel uses a high page
+   for signal trampolines, so the cache flushes are not an issue.  But since
+   we do not have a vDSO, continue to use these so that we can provide
+   unwind information.
+
+   Start the unwind tables at least one instruction before the signal
+   trampoline, because the unwinder will assume we are returning after
+   a call site.  */
+
+/* Used in ENTRY.  */
+#undef cfi_startproc
+#define cfi_startproc \
+	.cfi_startproc simple; \
+	.cfi_signal_frame
+
+/* The CFA is not computed / used correctly here; this is neither trivial to
+   do, nor is it needed.  */
+#define CFI \
+	cfi_def_cfa (sp, 0); \
+	cfi_offset (r0, OFFSET + 0 * 4); \
+	cfi_offset (r1, OFFSET + 1 * 4); \
+	cfi_offset (r2, OFFSET + 2 * 4); \
+	cfi_offset (r3, OFFSET + 3 * 4); \
+	cfi_offset (r4, OFFSET + 4 * 4); \
+	cfi_offset (r5, OFFSET + 5 * 4); \
+	cfi_offset (r6, OFFSET + 6 * 4); \
+	cfi_offset (r7, OFFSET + 7 * 4); \
+	cfi_offset (r8, OFFSET + 8 * 4); \
+	cfi_offset (r9, OFFSET + 9 * 4); \
+	cfi_offset (r10, OFFSET + 10 * 4); \
+	cfi_offset (r11, OFFSET + 11 * 4); \
+	cfi_offset (r12, OFFSET + 12 * 4); \
+	cfi_offset (r13, OFFSET + 13 * 4); \
+	cfi_offset (r14, OFFSET + 14 * 4); \
+	cfi_offset (r15, OFFSET + 15 * 4)
+
+#define OFFSET 32
+	.fnstart
+	.save {r0-r15}
+	.pad #OFFSET
+	nop
+ENTRY(__default_sa_restorer)
+	CFI
+	mov	r7, $SYS_ify(sigreturn)
+	swi	0x0
+	.fnend
+END(__default_sa_restorer)
+#undef OFFSET
+
+#define OFFSET 160
+	.fnstart
+	.save {r0-r15}
+	.pad #OFFSET
+	nop
+ENTRY(__default_rt_sa_restorer)
+	CFI
+	mov	r7, $SYS_ify(rt_sigreturn)
+	swi	0x0
+	.fnend
+END(__default_rt_sa_restorer)
+#undef OFFSET
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/swapcontext.S
new file mode 100644
index 0000000000..555da1fe0a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/swapcontext.S
@@ -0,0 +1,63 @@
+/* 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>
+
+#include "ucontext_i.h"
+
+	.syntax unified
+	.text
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+
+ENTRY(swapcontext)
+
+	/* Have getcontext() do most of the work then fix up
+	   LR afterwards.  Save R3 to keep the stack aligned.  */
+	push	{r0,r1,r3,r14}
+	cfi_adjust_cfa_offset (16)
+	cfi_rel_offset (r0,0)
+	cfi_rel_offset (r1,4)
+	cfi_rel_offset (r3,8)
+	cfi_rel_offset (r14,12)
+
+	bl	__getcontext
+	mov	r4, r0
+
+	pop	{r0,r1,r3,r14}
+	cfi_adjust_cfa_offset (-16)
+	cfi_restore (r0)
+	cfi_restore (r1)
+	cfi_restore (r3)
+	cfi_restore (r14)
+
+	/* Exit if getcontext() failed.  */
+	cmp 	r4, #0
+	itt	ne
+	movne	r0, r4
+	RETINSTR(ne, r14)
+
+	/* Fix up LR and the PC.  */
+	str	r13,[r0, #MCONTEXT_ARM_SP]
+	str	r14,[r0, #MCONTEXT_ARM_LR]
+	str	r14,[r0, #MCONTEXT_ARM_PC]
+
+	/* And swap using swapcontext().  */
+	mov	r0, r1
+	b	__setcontext
+
+END(swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/elf.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/elf.h
new file mode 100644
index 0000000000..44af8d2b1e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/elf.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ELF_H
+#define _SYS_ELF_H	1
+
+#warning "This header is obsolete; use <sys/procfs.h> instead."
+
+#include <sys/procfs.h>
+
+#endif	/* sys/elf.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/io.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/io.h
new file mode 100644
index 0000000000..f4337823ce
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/io.h
@@ -0,0 +1,47 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_IO_H
+
+#define	_SYS_IO_H	1
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* If TURN_ON is TRUE, request for permission to do direct i/o on the
+   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
+   permission off for that range.  This call requires root privileges.  */
+extern int ioperm (unsigned long int __from, unsigned long int __num,
+		   int __turn_on) __THROW;
+
+/* Set the I/O privilege level to LEVEL.  If LEVEL is nonzero,
+   permission to access any I/O port is granted.  This call requires
+   root privileges. */
+extern int iopl (int __level) __THROW;
+
+/* The functions that actually perform reads and writes.  */
+extern unsigned char inb (unsigned long int __port) __THROW;
+extern unsigned short int inw (unsigned long int __port) __THROW;
+extern unsigned long int inl (unsigned long int __port) __THROW;
+
+extern void outb (unsigned char __value, unsigned long int __port) __THROW;
+extern void outw (unsigned short __value, unsigned long int __port) __THROW;
+extern void outl (unsigned long __value, unsigned long int __port) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_IO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/procfs.h
new file mode 100644
index 0000000000..1b1b153730
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/procfs.h
@@ -0,0 +1,122 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   user_regs' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_fpregs elf_fpregset_t;
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/ucontext.h
new file mode 100644
index 0000000000..0ce9b14ba5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/ucontext.h
@@ -0,0 +1,114 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* System V/ARM ABI compliant context switching support.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+#ifdef __USE_MISC
+typedef int greg_t;
+
+/* Number of general registers.  */
+# define NGREG	18
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[NGREG];
+
+/* Number of each register is the `gregset_t' array.  */
+enum
+{
+  REG_R0 = 0,
+# define REG_R0	REG_R0
+  REG_R1 = 1,
+# define REG_R1	REG_R1
+  REG_R2 = 2,
+# define REG_R2	REG_R2
+  REG_R3 = 3,
+# define REG_R3	REG_R3
+  REG_R4 = 4,
+# define REG_R4	REG_R4
+  REG_R5 = 5,
+# define REG_R5	REG_R5
+  REG_R6 = 6,
+# define REG_R6	REG_R6
+  REG_R7 = 7,
+# define REG_R7	REG_R7
+  REG_R8 = 8,
+# define REG_R8	REG_R8
+  REG_R9 = 9,
+# define REG_R9	REG_R9
+  REG_R10 = 10,
+# define REG_R10	REG_R10
+  REG_R11 = 11,
+# define REG_R11	REG_R11
+  REG_R12 = 12,
+# define REG_R12	REG_R12
+  REG_R13 = 13,
+# define REG_R13	REG_R13
+  REG_R14 = 14,
+# define REG_R14	REG_R14
+  REG_R15 = 15
+# define REG_R15	REG_R15
+};
+
+struct _libc_fpstate
+{
+  struct
+  {
+    unsigned int sign1:1;
+    unsigned int unused:15;
+    unsigned int sign2:1;
+    unsigned int exponent:14;
+    unsigned int j:1;
+    unsigned int mantissa1:31;
+    unsigned int mantissa0:32;
+  } fpregs[8];
+  unsigned int fpsr:32;
+  unsigned int fpcr:32;
+  unsigned char ftype[8];
+  unsigned int init_flag;
+};
+/* Structure to describe FPU registers.  */
+typedef struct _libc_fpstate fpregset_t;
+#endif
+
+/* Context to describe whole processor state.  This only describes
+   the core registers; coprocessor registers get saved elsewhere
+   (e.g. in uc_regspace, or somewhere unspecified on the stack
+   during non-RT signal handlers).  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+    unsigned long uc_regspace[128] __attribute__((__aligned__(8)));
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/user.h
new file mode 100644
index 0000000000..46ca428e66
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sys/user.h
@@ -0,0 +1,71 @@
+/* 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 _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct user_fpregs
+{
+  struct fp_reg
+  {
+    unsigned int sign1:1;
+    unsigned int unused:15;
+    unsigned int sign2:1;
+    unsigned int exponent:14;
+    unsigned int j:1;
+    unsigned int mantissa1:31;
+    unsigned int mantissa0:32;
+  } fpregs[8];
+  unsigned int fpsr:32;
+  unsigned int fpcr:32;
+  unsigned char ftype[8];
+  unsigned int init_flag;
+};
+
+struct user_regs
+{
+  unsigned long int uregs[18];
+};
+
+struct user
+{
+  struct user_regs regs;	/* General registers */
+  int u_fpvalid;		/* True if math co-processor being used. */
+
+  unsigned long int u_tsize;	/* Text segment size (pages). */
+  unsigned long int u_dsize;	/* Data segment size (pages). */
+  unsigned long int u_ssize;	/* Stack segment size (pages). */
+
+  unsigned long start_code;	/* Starting virtual address of text. */
+  unsigned long start_stack;	/* Starting virtual address of stack. */
+
+  long int signal;     		/* Signal that caused the core dump. */
+  int reserved;			/* No longer used */
+  struct user_regs *u_ar0;	/* help gdb to find the general registers. */
+
+  unsigned long magic;		/* uniquely identify a core file */
+  char u_comm[32];		/* User command that was responsible */
+  int u_debugreg[8];
+  struct user_fpregs u_fp;	/* Floating point registers */
+  struct user_fpregs *u_fp0;	/* help gdb to find the FP registers. */
+};
+
+#endif  /* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscall.S
new file mode 100644
index 0000000000..c9528fff40
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscall.S
@@ -0,0 +1,48 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* In the EABI syscall interface, we don't need a special syscall to
+   implement syscall().  It won't work reliably with 64-bit arguments
+   (but that is true on many modern platforms).  */
+
+ENTRY (syscall)
+	mov	ip, sp
+	push	{r4, r5, r6, r7}
+	cfi_adjust_cfa_offset (16)
+	cfi_rel_offset (r4, 0)
+	cfi_rel_offset (r5, 4)
+	cfi_rel_offset (r6, 8)
+	cfi_rel_offset (r7, 12)
+	mov	r7, r0
+	mov	r0, r1
+	mov	r1, r2
+	mov	r2, r3
+	ldmfd	ip, {r3, r4, r5, r6}
+	swi	0x0
+	pop	{r4, r5, r6, r7}
+	cfi_adjust_cfa_offset (-16)
+	cfi_restore (r4)
+	cfi_restore (r5)
+	cfi_restore (r6)
+	cfi_restore (r7)
+	cmn	r0, #4096
+	it	cc
+	RETINSTR(cc, lr)
+	b	PLTJMP(syscall_error)
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscalls.list
new file mode 100644
index 0000000000..13441f7eb4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/syscalls.list
@@ -0,0 +1,33 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown
+lchown		-	lchown32	i:sii	__lchown	lchown
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
+getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
+
+personality	EXTRA	personality	Ei:i	__personality	personality
+
+# proper socket implementations:
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
new file mode 100644
index 0000000000..de12acf046
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
@@ -0,0 +1,241 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+/* NOTE: We do mark syscalls with unwind annotations, for the benefit of
+   cancellation; but they're really only accurate at the point of the
+   syscall.  The ARM unwind directives are not rich enough without adding
+   a custom personality function.  */
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+	.text;								\
+  ENTRY (__##syscall_name##_nocancel);					\
+	CFI_SECTIONS;							\
+	DO_CALL (syscall_name, args);					\
+	cmn	r0, $4096;						\
+	PSEUDO_RET;							\
+  END (__##syscall_name##_nocancel);					\
+  ENTRY (name);								\
+	SINGLE_THREAD_P;						\
+	DOARGS_##args;							\
+	bne .Lpseudo_cancel;						\
+	cfi_remember_state;						\
+	ldr	r7, =SYS_ify (syscall_name);				\
+	swi	0x0;							\
+	UNDOARGS_##args;						\
+	cmn	r0, $4096;						\
+	PSEUDO_RET;							\
+	cfi_restore_state;						\
+  .Lpseudo_cancel:							\
+	.fnstart;	/* matched by the .fnend in UNDOARGS below.  */	\
+	DOCARGS_##args;	/* save syscall args etc. around CENABLE.  */	\
+	CENABLE;							\
+	mov ip, r0;		/* put mask in safe place.  */		\
+	UNDOCARGS_##args;	/* restore syscall args.  */		\
+	ldr	r7, =SYS_ify (syscall_name);				\
+	swi	0x0;		/* do the call.  */			\
+	mov	r7, r0;		/* save syscall return value.  */	\
+	mov	r0, ip;		/* get mask back.  */			\
+	CDISABLE;							\
+	mov	r0, r7;		/* retrieve return value.  */		\
+	RESTORE_LR_##args;						\
+	UNDOARGS_##args;						\
+	cmn	r0, $4096
+
+/* DOARGS pushes eight bytes on the stack for five arguments, twelve bytes for
+   six arguments, and four bytes for fewer.  In order to preserve doubleword
+   alignment, sometimes we must save an extra register.  */
+
+# define RESTART_UNWIND				\
+	.fnend;					\
+	.fnstart;				\
+	.save	{r7};				\
+	.save	{lr}
+
+# define DOCARGS_0				\
+	.save {r7};				\
+	push	{lr};				\
+	cfi_adjust_cfa_offset (4);		\
+	cfi_rel_offset (lr, 0);			\
+	.save	{lr}
+# define UNDOCARGS_0
+# define RESTORE_LR_0				\
+	pop	{lr};				\
+	cfi_adjust_cfa_offset (-4);		\
+	cfi_restore (lr)
+
+# define DOCARGS_1				\
+	.save	{r7};				\
+	push	{r0, r1, lr};			\
+	cfi_adjust_cfa_offset (12);		\
+	cfi_rel_offset (lr, 8);			\
+	.save	{lr};				\
+	.pad	#8
+# define UNDOCARGS_1				\
+	ldr r0, [sp], #8;			\
+	cfi_adjust_cfa_offset (-8);		\
+	RESTART_UNWIND
+# define RESTORE_LR_1				\
+	RESTORE_LR_0
+
+# define DOCARGS_2				\
+	.save	{r7};				\
+	push	{r0, r1, lr};			\
+	cfi_adjust_cfa_offset (12);		\
+	cfi_rel_offset (lr, 8);			\
+	.save	{lr};				\
+	.pad	#8
+# define UNDOCARGS_2				\
+	pop	{r0, r1};			\
+	cfi_adjust_cfa_offset (-8);		\
+	RESTART_UNWIND
+# define RESTORE_LR_2				\
+	RESTORE_LR_0
+
+# define DOCARGS_3				\
+	.save	{r7};				\
+	push	{r0, r1, r2, r3, lr};		\
+	cfi_adjust_cfa_offset (20);		\
+	cfi_rel_offset (lr, 16);		\
+	.save	{lr};				\
+	.pad	#16
+# define UNDOCARGS_3				\
+	pop	{r0, r1, r2, r3};		\
+	cfi_adjust_cfa_offset (-16);		\
+	RESTART_UNWIND
+# define RESTORE_LR_3				\
+	RESTORE_LR_0
+
+# define DOCARGS_4				\
+	.save	{r7};				\
+	push	{r0, r1, r2, r3, lr};		\
+	cfi_adjust_cfa_offset (20);		\
+	cfi_rel_offset (lr, 16);		\
+	.save	{lr};				\
+	.pad	#16
+# define UNDOCARGS_4				\
+	pop	{r0, r1, r2, r3};		\
+	cfi_adjust_cfa_offset (-16);		\
+	RESTART_UNWIND
+# define RESTORE_LR_4				\
+	RESTORE_LR_0
+
+/* r4 is only stmfd'ed for correct stack alignment.  */
+# define DOCARGS_5				\
+	.save	{r4, r7};			\
+	push	{r0, r1, r2, r3, r4, lr};	\
+	cfi_adjust_cfa_offset (24);		\
+	cfi_rel_offset (lr, 20);		\
+	.save	{lr};				\
+	.pad	#20
+# define UNDOCARGS_5				\
+	pop	{r0, r1, r2, r3};		\
+	cfi_adjust_cfa_offset (-16);		\
+	.fnend;					\
+	.fnstart;				\
+	.save	{r4, r7};			\
+	.save	{lr};				\
+	.pad	#4
+# define RESTORE_LR_5				\
+	pop	{r4, lr};			\
+	cfi_adjust_cfa_offset (-8);		\
+	/* r4 will be marked as restored later.  */ \
+	cfi_restore (lr)
+
+# define DOCARGS_6				\
+	.save	{r4, r5, r7};			\
+	push	{r0, r1, r2, r3, lr};		\
+	cfi_adjust_cfa_offset (20);		\
+	cfi_rel_offset (lr, 16);		\
+	.save	{lr};				\
+	.pad	#16
+# define UNDOCARGS_6				\
+	pop	{r0, r1, r2, r3};		\
+	cfi_adjust_cfa_offset (-16);		\
+	.fnend;					\
+	.fnstart;				\
+	.save	{r4, r5, r7};			\
+	.save	{lr};
+# define RESTORE_LR_6				\
+	RESTORE_LR_0
+
+# if IS_IN (libpthread)
+#  define CENABLE	bl PLTJMP(__pthread_enable_asynccancel)
+#  define CDISABLE	bl PLTJMP(__pthread_disable_asynccancel)
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE	bl PLTJMP(__libc_enable_asynccancel)
+#  define CDISABLE	bl PLTJMP(__libc_disable_asynccancel)
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE	bl PLTJMP(__librt_enable_asynccancel)
+#  define CDISABLE	bl PLTJMP(__librt_disable_asynccancel)
+# else
+#  error Unsupported library
+# endif
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   define SINGLE_THREAD_P						\
+	LDST_PCREL(ldr, ip, ip, __local_multiple_threads);		\
+	teq ip, #0
+#  endif
+# else
+/*  There is no __local_multiple_threads for librt, so use the TCB.  */
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P						\
+	push	{r0, lr};						\
+	cfi_adjust_cfa_offset (8);					\
+	cfi_rel_offset (lr, 4);						\
+	GET_TLS (lr);							\
+	NEGOFF_ADJ_BASE (r0, MULTIPLE_THREADS_OFFSET);			\
+	ldr	ip, NEGOFF_OFF1 (r0, MULTIPLE_THREADS_OFFSET);		\
+	pop	{r0, lr};						\
+	cfi_adjust_cfa_offset (-8);					\
+	cfi_restore (lr);						\
+	teq	ip, #0
+#  endif
+# endif
+
+#elif !defined __ASSEMBLER__
+
+/* For rtld, et cetera.  */
+# define SINGLE_THREAD_P 1
+# define NO_CANCELLATION 1
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.S
new file mode 100644
index 0000000000..a9b8a034c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.S
@@ -0,0 +1,33 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+
+/* The syscall stubs jump here when they detect an error.
+   The code for Linux is almost identical to the canonical Unix
+   code, except that the error number in R0 is negated.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers R0.  */
+
+ENTRY (__syscall_error)
+	rsb r0, r0, $0
+
+#define __syscall_error __syscall_error_1
+#include <sysdeps/unix/arm/sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.h
new file mode 100644
index 0000000000..3ca2198596
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -0,0 +1,442 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
+   ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 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_ARM_SYSDEP_H
+#define _LINUX_ARM_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/arm/sysdep.h>
+
+/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO.  */
+#include <dl-sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	(__NR_##syscall_name)
+
+#include <bits/hwcap.h>
+
+#ifdef __ASSEMBLER__
+
+#ifndef ARCH_HAS_HARD_TP
+/* Internal macro calling the linux kernel kuser_get_tls helper.
+   Note that in thumb mode, a constant pool break is often out of range, so
+   we always expand the constant inline.  */
+# ifdef __thumb2__
+#  define GET_TLS_BODY			\
+	movw	r0, #0x0fe0;		\
+	movt	r0, #0xffff;		\
+	blx	r0
+# else
+#  define GET_TLS_BODY \
+	mov	r0, #0xffff0fff;	/* Point to the high page.  */	\
+	mov	lr, pc;			/* Save our return address.  */	\
+	sub	pc, r0, #31		/* Jump to the TLS entry.  */
+# endif
+
+/* Helper to get the TLS base pointer.  Save LR in TMP, return in R0,
+   and no other registers clobbered.  TMP may be LR itself to indicate
+   that no save is necessary.  */
+# undef GET_TLS
+# define GET_TLS(TMP)			\
+  .ifnc TMP, lr;			\
+	mov	TMP, lr;		\
+	cfi_register (lr, TMP);		\
+	GET_TLS_BODY;			\
+	mov	lr, TMP;		\
+	cfi_restore (lr);		\
+  .else;				\
+	GET_TLS_BODY;			\
+  .endif
+#endif /* ARCH_HAS_HARD_TP */
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in R0
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can safely
+   test with -4095.  */
+
+#undef	PSEUDO
+#define	PSEUDO(name, syscall_name, args)		\
+	.text;						\
+  ENTRY (name);						\
+	DO_CALL (syscall_name, args);			\
+	cmn	r0, $4096;
+
+#define PSEUDO_RET					\
+	it	cc;					\
+	RETINSTR(cc, lr);				\
+	b	PLTJMP(SYSCALL_ERROR)
+#undef ret
+#define ret PSEUDO_RET
+
+#undef	PSEUDO_END
+#define	PSEUDO_END(name)				\
+	SYSCALL_ERROR_HANDLER;				\
+  END (name)
+
+#undef	PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)	\
+	.text;						\
+  ENTRY (name);						\
+	DO_CALL (syscall_name, args);
+
+#define PSEUDO_RET_NOERRNO				\
+	DO_RET (lr);
+
+#undef ret_NOERRNO
+#define ret_NOERRNO PSEUDO_RET_NOERRNO
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name)			\
+  END (name)
+
+/* The function has to return the error code.  */
+#undef	PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args)		\
+	.text;						\
+  ENTRY (name)						\
+	DO_CALL (syscall_name, args);			\
+	rsb	r0, r0, #0
+
+#undef	PSEUDO_END_ERRVAL
+#define	PSEUDO_END_ERRVAL(name)				\
+  END (name)
+
+#define ret_ERRVAL PSEUDO_RET_NOERRNO
+
+#if !IS_IN (libc)
+# define SYSCALL_ERROR __local_syscall_error
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_HANDLER					\
+__local_syscall_error:						\
+	rsb	r0, r0, #0;					\
+	LDST_PCREL(str, r0, r1, C_SYMBOL_NAME(rtld_errno));	\
+	mvn	r0, #0;						\
+	DO_RET(lr)
+# else
+#  if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
+#   define POP_PC \
+  pop { lr }; \
+  cfi_adjust_cfa_offset (-4); \
+  cfi_restore (lr); \
+  bx lr
+#  else
+#   define POP_PC  pop { pc }
+#  endif
+#  define SYSCALL_ERROR_HANDLER					\
+__local_syscall_error:						\
+	push	{ lr };						\
+	cfi_adjust_cfa_offset (4);				\
+	cfi_rel_offset (lr, 0);					\
+	push	{ r0 };	    					\
+	cfi_adjust_cfa_offset (4);				\
+	bl	PLTJMP(C_SYMBOL_NAME(__errno_location)); 	\
+	pop	{ r1 };						\
+	cfi_adjust_cfa_offset (-4);				\
+	rsb	r1, r1, #0;					\
+	str	r1, [r0];					\
+	mvn	r0, #0;						\
+	POP_PC;
+# endif
+#else
+# define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
+# define SYSCALL_ERROR __syscall_error
+#endif
+
+/* The ARM EABI user interface passes the syscall number in r7, instead
+   of in the swi.  This is more efficient, because the kernel does not need
+   to fetch the swi from memory to find out the number; which can be painful
+   with separate I-cache and D-cache.  Make sure to use 0 for the SWI
+   argument; otherwise the (optional) compatibility code for APCS binaries
+   may be invoked.  */
+
+/* Linux takes system call args in registers:
+	arg 1		r0
+	arg 2		r1
+	arg 3		r2
+	arg 4		r3
+	arg 5		r4	(this is different from the APCS convention)
+	arg 6		r5
+	arg 7		r6
+
+   The compiler is going to form a call by coming here, through PSEUDO, with
+   arguments
+	syscall number	in the DO_CALL macro
+	arg 1		r0
+	arg 2		r1
+	arg 3		r2
+	arg 4		r3
+	arg 5		[sp]
+	arg 6		[sp+4]
+	arg 7		[sp+8]
+
+   We need to shuffle values between R4..R6 and the stack so that the
+   caller's v1..v3 and stack frame are not corrupted, and the kernel
+   sees the right arguments.
+
+*/
+
+/* We must save and restore r7 (call-saved) for the syscall number.
+   We never make function calls from inside here (only potentially
+   signal handlers), so we do not bother with doubleword alignment.
+
+   Just like the APCS syscall convention, the EABI syscall convention uses
+   r0 through r6 for up to seven syscall arguments.  None are ever passed to
+   the kernel on the stack, although incoming arguments are on the stack for
+   syscalls with five or more arguments.
+
+   The assembler will convert the literal pool load to a move for most
+   syscalls.  */
+
+#undef	DO_CALL
+#define DO_CALL(syscall_name, args)			\
+	DOARGS_##args;					\
+	ldr	r7, =SYS_ify (syscall_name);		\
+	swi	0x0;					\
+	UNDOARGS_##args
+
+#undef  DOARGS_0
+#define DOARGS_0					\
+	.fnstart;					\
+	push	{ r7 };					\
+	cfi_adjust_cfa_offset (4);			\
+	cfi_rel_offset (r7, 0);				\
+	.save	{ r7 }
+#undef  DOARGS_1
+#define DOARGS_1 DOARGS_0
+#undef  DOARGS_2
+#define DOARGS_2 DOARGS_0
+#undef  DOARGS_3
+#define DOARGS_3 DOARGS_0
+#undef  DOARGS_4
+#define DOARGS_4 DOARGS_0
+#undef  DOARGS_5
+#define DOARGS_5					\
+	.fnstart;					\
+	push	{r4, r7};				\
+	cfi_adjust_cfa_offset (8);			\
+	cfi_rel_offset (r4, 0);				\
+	cfi_rel_offset (r7, 4);				\
+	.save	{ r4, r7 };				\
+	ldr	r4, [sp, #8]
+#undef  DOARGS_6
+#define DOARGS_6					\
+	.fnstart;					\
+	mov	ip, sp;					\
+	push	{r4, r5, r7};				\
+	cfi_adjust_cfa_offset (12);			\
+	cfi_rel_offset (r4, 0);				\
+	cfi_rel_offset (r5, 4);				\
+	cfi_rel_offset (r7, 8);				\
+	.save	{ r4, r5, r7 };				\
+	ldmia	ip, {r4, r5}
+#undef  DOARGS_7
+#define DOARGS_7					\
+	.fnstart;					\
+	mov	ip, sp;					\
+	push	{r4, r5, r6, r7};			\
+	cfi_adjust_cfa_offset (16);			\
+	cfi_rel_offset (r4, 0);				\
+	cfi_rel_offset (r5, 4);				\
+	cfi_rel_offset (r6, 8);				\
+	cfi_rel_offset (r7, 12);			\
+	.save	{ r4, r5, r6, r7 };			\
+	ldmia	ip, {r4, r5, r6}
+
+#undef  UNDOARGS_0
+#define UNDOARGS_0					\
+	pop	{r7};					\
+	cfi_adjust_cfa_offset (-4);			\
+	cfi_restore (r7);				\
+	.fnend
+#undef  UNDOARGS_1
+#define UNDOARGS_1 UNDOARGS_0
+#undef  UNDOARGS_2
+#define UNDOARGS_2 UNDOARGS_0
+#undef  UNDOARGS_3
+#define UNDOARGS_3 UNDOARGS_0
+#undef  UNDOARGS_4
+#define UNDOARGS_4 UNDOARGS_0
+#undef  UNDOARGS_5
+#define UNDOARGS_5					\
+	pop	{r4, r7};				\
+	cfi_adjust_cfa_offset (-8);			\
+	cfi_restore (r4);				\
+	cfi_restore (r7);				\
+	.fnend
+#undef  UNDOARGS_6
+#define UNDOARGS_6					\
+	pop	{r4, r5, r7};				\
+	cfi_adjust_cfa_offset (-12);			\
+	cfi_restore (r4);				\
+	cfi_restore (r5);				\
+	cfi_restore (r7);				\
+	.fnend
+#undef  UNDOARGS_7
+#define UNDOARGS_7					\
+	pop	{r4, r5, r6, r7};			\
+	cfi_adjust_cfa_offset (-16);			\
+	cfi_restore (r4);				\
+	cfi_restore (r5);				\
+	cfi_restore (r6);				\
+	cfi_restore (r7);				\
+	.fnend
+
+#else /* not __ASSEMBLER__ */
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+  ({ unsigned int _sys_result = INTERNAL_SYSCALL (name, , nr, args);	\
+     if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))	\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, ));		\
+	 _sys_result = (unsigned int) -1;				\
+       }								\
+     (int) _sys_result; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#if defined(__thumb__)
+/* We can not expose the use of r7 to the compiler.  GCC (as
+   of 4.5) uses r7 as the hard frame pointer for Thumb - although
+   for Thumb-2 it isn't obviously a better choice than r11.
+   And GCC does not support asms that conflict with the frame
+   pointer.
+
+   This would be easier if syscall numbers never exceeded 255,
+   but they do.  For the moment the LOAD_ARGS_7 is sacrificed.
+   We can't use push/pop inside the asm because that breaks
+   unwinding (i.e. thread cancellation) for this frame.  We can't
+   locally save and restore r7, because we do not know if this
+   function uses r7 or if it is our caller's r7; if it is our caller's,
+   then unwinding will fail higher up the stack.  So we move the
+   syscall out of line and provide its own unwind information.  */
+# undef INTERNAL_SYSCALL_RAW
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...)		\
+  ({								\
+      register int _a1 asm ("a1");				\
+      int _nametmp = name;					\
+      LOAD_ARGS_##nr (args)					\
+      register int _name asm ("ip") = _nametmp;			\
+      asm volatile ("bl      __libc_do_syscall"			\
+                    : "=r" (_a1)				\
+                    : "r" (_name) ASM_ARGS_##nr			\
+                    : "memory", "lr");				\
+      _a1; })
+#else /* ARM */
+# undef INTERNAL_SYSCALL_RAW
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...)		\
+  ({								\
+       register int _a1 asm ("r0"), _nr asm ("r7");		\
+       LOAD_ARGS_##nr (args)					\
+       _nr = name;						\
+       asm volatile ("swi	0x0	@ syscall " #name	\
+		     : "=r" (_a1)				\
+		     : "r" (_nr) ASM_ARGS_##nr			\
+		     : "memory");				\
+       _a1; })
+#endif
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)		\
+	INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+#undef INTERNAL_SYSCALL_ARM
+#define INTERNAL_SYSCALL_ARM(name, err, nr, args...)		\
+	INTERNAL_SYSCALL_RAW(__ARM_NR_##name, err, nr, args)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned int) (val) >= 0xfffff001u)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+#define LOAD_ARGS_0()
+#define ASM_ARGS_0
+#define LOAD_ARGS_1(a1)				\
+  int _a1tmp = (int) (a1);			\
+  LOAD_ARGS_0 ()				\
+  _a1 = _a1tmp;
+#define ASM_ARGS_1	ASM_ARGS_0, "r" (_a1)
+#define LOAD_ARGS_2(a1, a2)			\
+  int _a2tmp = (int) (a2);			\
+  LOAD_ARGS_1 (a1)				\
+  register int _a2 asm ("a2") = _a2tmp;
+#define ASM_ARGS_2	ASM_ARGS_1, "r" (_a2)
+#define LOAD_ARGS_3(a1, a2, a3)			\
+  int _a3tmp = (int) (a3);			\
+  LOAD_ARGS_2 (a1, a2)				\
+  register int _a3 asm ("a3") = _a3tmp;
+#define ASM_ARGS_3	ASM_ARGS_2, "r" (_a3)
+#define LOAD_ARGS_4(a1, a2, a3, a4)		\
+  int _a4tmp = (int) (a4);			\
+  LOAD_ARGS_3 (a1, a2, a3)			\
+  register int _a4 asm ("a4") = _a4tmp;
+#define ASM_ARGS_4	ASM_ARGS_3, "r" (_a4)
+#define LOAD_ARGS_5(a1, a2, a3, a4, a5)		\
+  int _v1tmp = (int) (a5);			\
+  LOAD_ARGS_4 (a1, a2, a3, a4)			\
+  register int _v1 asm ("v1") = _v1tmp;
+#define ASM_ARGS_5	ASM_ARGS_4, "r" (_v1)
+#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)	\
+  int _v2tmp = (int) (a6);			\
+  LOAD_ARGS_5 (a1, a2, a3, a4, a5)		\
+  register int _v2 asm ("v2") = _v2tmp;
+#define ASM_ARGS_6	ASM_ARGS_5, "r" (_v2)
+#ifndef __thumb__
+# define LOAD_ARGS_7(a1, a2, a3, a4, a5, a6, a7)	\
+  int _v3tmp = (int) (a7);				\
+  LOAD_ARGS_6 (a1, a2, a3, a4, a5, a6)			\
+  register int _v3 asm ("v3") = _v3tmp;
+# define ASM_ARGS_7	ASM_ARGS_6, "r" (_v3)
+#endif
+
+/* For EABI, non-constant syscalls are actually pretty easy...  */
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...)          \
+  INTERNAL_SYSCALL_RAW (number, err, nr, args)
+
+#endif	/* __ASSEMBLER__ */
+
+#endif /* linux/arm/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/tls.h b/REORG.TODO/sysdeps/unix/sysv/linux/arm/tls.h
new file mode 100644
index 0000000000..60f503081f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/tls.h
@@ -0,0 +1,42 @@
+/* Definition for thread-local data handling.  ARM/Linux version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_ARM_TLS_H
+#define _LINUX_ARM_TLS_H	1
+
+/* Almost everything is OS-independent and common for all NPTL on ARM.  */
+#include <sysdeps/arm/nptl/tls.h>
+
+#ifndef __ASSEMBLER__
+
+/* Get system call information.  */
+# include <sysdep.h>
+
+/* Code to initially initialize the thread pointer.  This might need
+   special attention since 'errno' is not yet available and if the
+   operation can cause a failure 'errno' must not be touched.  */
+# define TLS_INIT_TP(tcbp) \
+  ({ INTERNAL_SYSCALL_DECL (err);					\
+     long int result_var;						\
+     result_var = INTERNAL_SYSCALL_ARM (set_tls, err, 1, (tcbp));	\
+     INTERNAL_SYSCALL_ERROR_P (result_var, err)				\
+       ? "unknown error" : NULL; })
+
+#endif /* __ASSEMBLER__ */
+
+#endif  /* tls.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ucontext_i.sym
new file mode 100644
index 0000000000..306292f1f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/ucontext_i.sym
@@ -0,0 +1,30 @@
+#include <inttypes.h>
+#include <signal.h>
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+SIG_BLOCK
+SIG_SETMASK
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+UCONTEXT_FLAGS			ucontext (uc_flags)
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+
+UCONTEXT_REGSPACE		ucontext (uc_regspace)
+
+MCONTEXT_TRAP_NO		mcontext (trap_no)
+MCONTEXT_ERROR_CODE		mcontext (error_code)
+MCONTEXT_OLDMASK		mcontext (oldmask)
+MCONTEXT_ARM_R0			mcontext (arm_r0)
+MCONTEXT_ARM_R4			mcontext (arm_r4)
+MCONTEXT_ARM_SP			mcontext (arm_sp)
+MCONTEXT_ARM_LR			mcontext (arm_lr)
+MCONTEXT_ARM_PC			mcontext (arm_pc)
+MCONTEXT_ARM_CPSR		mcontext (arm_cpsr)
+MCONTEXT_FAULT_ADDRESS		mcontext (fault_address)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/umount.c
new file mode 100644
index 0000000000..64487c7819
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/umount.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Huggins-Daines <dhd@debian.org>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Since we don't have an oldumount system call, do what the kernel
+   does down here.  */
+
+extern long int __umount2 (const char *name, int flags);
+
+long int
+__umount (const char *name)
+{
+  return __umount2 (name, 0);
+}
+
+weak_alias (__umount, umount);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/versionsort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/versionsort64.c
new file mode 100644
index 0000000000..144b691e56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/versionsort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/versionsort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/arm/vfork.S
new file mode 100644
index 0000000000..e3666ea501
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/vfork.S
@@ -0,0 +1,59 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <philb@gnu.org>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+	/* The DO_CALL macro saves r7 on the stack, to enable generation
+	   of ARM unwind info.  Since the stack is initially shared between
+	   parent and child of vfork, that saved value could be corrupted.
+	   To avoid this problem, we save r7 into ip as well, and restore
+	   from there.  */
+	mov	ip, r7
+	cfi_register (r7, ip)
+	.fnstart
+	push	{ r7 }
+	cfi_adjust_cfa_offset (4)
+	.save { r7 }
+	ldr	r7, =SYS_ify (vfork)
+	swi	0x0
+	.fnend
+	add	sp, sp, #4
+	cfi_adjust_cfa_offset (-4)
+	mov	r7, ip
+	cfi_restore (r7)
+
+	cmn	a1, #4096
+	it	cc
+	RETINSTR(cc, lr)
+
+	b	PLTJMP(SYSCALL_ERROR)
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/arm/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/arm/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/arm/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bind.c b/REORG.TODO/sysdeps/unix/sysv/linux/bind.c
new file mode 100644
index 0000000000..b747f5e2f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bind.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__bind (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len)
+{
+#ifdef __ASSUME_BIND_SYSCALL
+  return INLINE_SYSCALL (bind, 3, fd, addr.__sockaddr__, len);
+#else
+  return SOCKETCALL (bind, fd, addr.__sockaddr__, len, 0, 0, 0);
+#endif
+}
+weak_alias (__bind, bind)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/a.out.h
new file mode 100644
index 0000000000..0e7fb030fc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/a.out.h
@@ -0,0 +1,7 @@
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
+
+/* Signal to users of this header that this architecture really doesn't
+   support a.out binary format.  */
+#define __NO_A_OUT_SUPPORT 1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/dirent.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/dirent.h
new file mode 100644
index 0000000000..a681f55bfd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/dirent.h
@@ -0,0 +1,57 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DIRENT_H
+# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
+#endif
+
+struct dirent
+  {
+#ifndef __USE_FILE_OFFSET64
+    __ino_t d_ino;
+    __off_t d_off;
+#else
+    __ino64_t d_ino;
+    __off64_t d_off;
+#endif
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct dirent64
+  {
+    __ino64_t d_ino;
+    __off64_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+#endif
+
+#define d_fileno	d_ino	/* Backwards compatibility.  */
+
+#undef  _DIRENT_HAVE_D_NAMLEN
+#define _DIRENT_HAVE_D_RECLEN
+#define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_TYPE
+
+#if defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T
+/* Inform libc code that these two types are effectively identical.  */
+# define _DIRENT_MATCHES_DIRENT64	1
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/epoll.h
new file mode 100644
index 0000000000..904e9c3e1a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/epoll.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC = 02000000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/errno.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/errno.h
new file mode 100644
index 0000000000..c0f4d20fe7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/errno.h
@@ -0,0 +1,66 @@
+/* Error constants.  Linux specific version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code.  */
+# define ENOTSUP EOPNOTSUPP
+
+/* Older Linux versions also had no ECANCELED error code.  */
+# ifndef ECANCELED
+#  define ECANCELED	125
+# endif
+
+/* Support for error codes to support robust mutexes was added later, too.  */
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		130
+#  define ENOTRECOVERABLE	131
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		132
+# endif
+
+# ifndef EHWPOISON
+#  define EHWPOISON		133
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable.  */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#  if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value.  */
+#   define errno (*__errno_location ())
+#  endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough.  We must
+   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+   defined.  */
+# define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	84	/* Illegal byte sequence.  */
+# define ERANGE	34	/* Math result not representable.  */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/eventfd.h
new file mode 100644
index 0000000000..9720712a09
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/eventfd.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
+#endif
+
+/* Flags for eventfd.  */
+enum
+  {
+    EFD_SEMAPHORE = 00000001,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
+    EFD_CLOEXEC = 02000000,
+#define EFD_CLOEXEC EFD_CLOEXEC
+    EFD_NONBLOCK = 00004000
+#define EFD_NONBLOCK EFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
new file mode 100644
index 0000000000..59d663196a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -0,0 +1,411 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."
+#endif
+
+/* This file contains shared definitions between Linux architectures
+   and is included by <bits/fcntl.h> to declare them.  The various
+   #ifndef cases allow the architecture specific file to define those
+   values with different values.
+
+   A minimal <bits/fcntl.h> contains just:
+
+   struct flock {...}
+   #ifdef __USE_LARGEFILE64
+   struct flock64 {...}
+   #endif
+   #include <bits/fcntl-linux.h>
+*/
+
+#ifdef __USE_GNU
+# include <bits/uio.h>
+#endif
+
+/* open/fcntl.  */
+#define O_ACCMODE	   0003
+#define O_RDONLY	     00
+#define O_WRONLY	     01
+#define O_RDWR		     02
+#ifndef O_CREAT
+# define O_CREAT	   0100	/* Not fcntl.  */
+#endif
+#ifndef O_EXCL
+# define O_EXCL		   0200	/* Not fcntl.  */
+#endif
+#ifndef O_NOCTTY
+# define O_NOCTTY	   0400	/* Not fcntl.  */
+#endif
+#ifndef O_TRUNC
+# define O_TRUNC	  01000	/* Not fcntl.  */
+#endif
+#ifndef O_APPEND
+# define O_APPEND	  02000
+#endif
+#ifndef O_NONBLOCK
+# define O_NONBLOCK	  04000
+#endif
+#ifndef O_NDELAY
+# define O_NDELAY	O_NONBLOCK
+#endif
+#ifndef O_SYNC
+# define O_SYNC	       04010000
+#endif
+#define O_FSYNC		O_SYNC
+#ifndef O_ASYNC
+# define O_ASYNC	 020000
+#endif
+#ifndef __O_LARGEFILE
+# define __O_LARGEFILE	0100000
+#endif
+
+#ifndef __O_DIRECTORY
+# define __O_DIRECTORY  0200000
+#endif
+#ifndef __O_NOFOLLOW
+# define __O_NOFOLLOW	0400000
+#endif
+#ifndef __O_CLOEXEC
+# define __O_CLOEXEC   02000000
+#endif
+#ifndef __O_DIRECT
+# define __O_DIRECT	 040000
+#endif
+#ifndef __O_NOATIME
+# define __O_NOATIME   01000000
+#endif
+#ifndef __O_PATH
+# define __O_PATH     010000000
+#endif
+#ifndef __O_DSYNC
+# define __O_DSYNC	 010000
+#endif
+#ifndef __O_TMPFILE
+# define __O_TMPFILE   (020000000 | __O_DIRECTORY)
+#endif
+
+#ifndef F_GETLK
+# ifndef __USE_FILE_OFFSET64
+#  define F_GETLK	5	/* Get record locking info.  */
+#  define F_SETLK	6	/* Set record locking info (non-blocking).  */
+#  define F_SETLKW	7	/* Set record locking info (blocking).	*/
+# else
+#  define F_GETLK	F_GETLK64  /* Get record locking info.	*/
+#  define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
+#  define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
+# endif
+#endif
+#ifndef F_GETLK64
+# define F_GETLK64	12	/* Get record locking info.  */
+# define F_SETLK64	13	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	14	/* Set record locking info (blocking).	*/
+#endif
+
+/* open file description locks.
+
+   Usually record locks held by a process are released on *any* close and are
+   not inherited across a fork.
+
+   These cmd values will set locks that conflict with process-associated record
+   locks, but are "owned" by the opened file description, not the process.
+   This means that they are inherited across fork or clone with CLONE_FILES
+   like BSD (flock) locks, and they are only released automatically when the
+   last reference to the the file description against which they were acquired
+   is put. */
+#ifdef __USE_GNU
+# define F_OFD_GETLK	36
+# define F_OFD_SETLK	37
+# define F_OFD_SETLKW	38
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define O_LARGEFILE __O_LARGEFILE
+#endif
+
+#ifdef __USE_XOPEN2K8
+# define O_DIRECTORY	__O_DIRECTORY	/* Must be a directory.	 */
+# define O_NOFOLLOW	__O_NOFOLLOW	/* Do not follow links.	 */
+# define O_CLOEXEC	__O_CLOEXEC	/* Set close_on_exec.  */
+#endif
+
+#ifdef __USE_GNU
+# define O_DIRECT	__O_DIRECT	/* Direct disk access.	*/
+# define O_NOATIME	__O_NOATIME	/* Do not set atime.  */
+# define O_PATH		__O_PATH	/* Resolve pathname but do not open file.  */
+# define O_TMPFILE	__O_TMPFILE	/* Atomically create nameless file.  */
+#endif
+
+/* For now, Linux has no separate synchronicitiy options for read
+   operations.  We define O_RSYNC therefore as the same as O_SYNC
+   since this is a superset.  */
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
+# define O_DSYNC	__O_DSYNC	/* Synchronize data.  */
+# if defined __O_RSYNC
+#  define O_RSYNC	__O_RSYNC	/* Synchronize read operations.	 */
+# else
+#  define O_RSYNC	O_SYNC		/* Synchronize read operations.	 */
+# endif
+#endif
+
+/* Values for the second argument to `fcntl'.  */
+#define F_DUPFD		0	/* Duplicate file descriptor.  */
+#define F_GETFD		1	/* Get file descriptor flags.  */
+#define F_SETFD		2	/* Set file descriptor flags.  */
+#define F_GETFL		3	/* Get file status flags.  */
+#define F_SETFL		4	/* Set file status flags.  */
+
+#ifndef __F_SETOWN
+# define __F_SETOWN	8
+# define __F_GETOWN	9
+#endif
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define F_SETOWN	__F_SETOWN /* Get owner (process receiving SIGIO).  */
+# define F_GETOWN	__F_GETOWN /* Set owner (process receiving SIGIO).  */
+#endif
+
+#ifndef __F_SETSIG
+# define __F_SETSIG	10	/* Set number of signal to be sent.  */
+# define __F_GETSIG	11	/* Get number of signal to be sent.  */
+#endif
+#ifndef __F_SETOWN_EX
+# define __F_SETOWN_EX	15	/* Get owner (thread receiving SIGIO).  */
+# define __F_GETOWN_EX	16	/* Set owner (thread receiving SIGIO).  */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETSIG	__F_SETSIG	/* Set number of signal to be sent.  */
+# define F_GETSIG	__F_GETSIG	/* Get number of signal to be sent.  */
+# define F_SETOWN_EX	__F_SETOWN_EX	/* Get owner (thread receiving SIGIO).  */
+# define F_GETOWN_EX	__F_GETOWN_EX	/* Set owner (thread receiving SIGIO).  */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETLEASE	1024	/* Set a lease.	 */
+# define F_GETLEASE	1025	/* Enquire what lease is active.  */
+# define F_NOTIFY	1026	/* Request notifications on a directory.  */
+# define F_SETPIPE_SZ	1031	/* Set pipe page size array.  */
+# define F_GETPIPE_SZ	1032	/* Set pipe page size array.  */
+#endif
+#ifdef __USE_XOPEN2K8
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
+#endif
+
+/* For F_[GET|SET]FD.  */
+#define FD_CLOEXEC	1	/* Actually anything with low bit set goes */
+
+#ifndef F_RDLCK
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
+# define F_RDLCK		0	/* Read lock.  */
+# define F_WRLCK		1	/* Write lock.	*/
+# define F_UNLCK		2	/* Remove lock.	 */
+#endif
+
+
+/* For old implementation of BSD flock.  */
+#ifndef F_EXLCK
+# define F_EXLCK		4	/* or 3 */
+# define F_SHLCK		8	/* or 4 */
+#endif
+
+#ifdef __USE_MISC
+/* Operations for BSD flock, also used by the kernel implementation.  */
+# define LOCK_SH	1	/* Shared lock.  */
+# define LOCK_EX	2	/* Exclusive lock.  */
+# define LOCK_NB	4	/* Or'd with one of the above to prevent
+				   blocking.  */
+# define LOCK_UN	8	/* Remove lock.  */
+#endif
+
+#ifdef __USE_GNU
+# define LOCK_MAND	32	/* This is a mandatory flock:	*/
+# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
+# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
+# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
+#endif
+
+#ifdef __USE_GNU
+/* Types of directory notifications that may be requested with F_NOTIFY.  */
+# define DN_ACCESS	0x00000001	/* File accessed.  */
+# define DN_MODIFY	0x00000002	/* File modified.  */
+# define DN_CREATE	0x00000004	/* File created.  */
+# define DN_DELETE	0x00000008	/* File removed.  */
+# define DN_RENAME	0x00000010	/* File renamed.  */
+# define DN_ATTRIB	0x00000020	/* File changed attributes.  */
+# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
+#endif
+
+
+#ifdef __USE_GNU
+/* Owner types.  */
+enum __pid_type
+  {
+    F_OWNER_TID = 0,		/* Kernel thread.  */
+    F_OWNER_PID,		/* Process.  */
+    F_OWNER_PGRP,		/* Process group.  */
+    F_OWNER_GID = F_OWNER_PGRP	/* Alternative, obsolete name.  */
+  };
+
+/* Structure to use with F_GETOWN_EX and F_SETOWN_EX.  */
+struct f_owner_ex
+  {
+    enum __pid_type type;	/* Owner type of ID.  */
+    __pid_t pid;		/* ID of owner.  */
+  };
+#endif
+
+/* Define some more compatibility macros to be backward compatible with
+   BSD systems which did not managed to hide these kernel macros.  */
+#ifdef	__USE_MISC
+# define FAPPEND	O_APPEND
+# define FFSYNC		O_FSYNC
+# define FASYNC		O_ASYNC
+# define FNONBLOCK	O_NONBLOCK
+# define FNDELAY	O_NDELAY
+#endif /* Use misc.  */
+
+#ifndef __POSIX_FADV_DONTNEED
+#  define __POSIX_FADV_DONTNEED	4
+#  define __POSIX_FADV_NOREUSE	5
+#endif
+/* Advise to `posix_fadvise'.  */
+#ifdef __USE_XOPEN2K
+# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
+# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
+# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
+# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
+# define POSIX_FADV_DONTNEED	__POSIX_FADV_DONTNEED /* Don't need these pages.  */
+# define POSIX_FADV_NOREUSE	__POSIX_FADV_NOREUSE /* Data will be accessed once.  */
+#endif
+
+
+#ifdef __USE_GNU
+/* Flags for SYNC_FILE_RANGE.  */
+# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
+					     in the range before performing the
+					     write.  */
+# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those
+					     dirty pages in the range which are
+					     not presently under writeback.  */
+# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in
+					     the range after performing the
+					     write.  */
+
+/* Flags for SPLICE and VMSPLICE.  */
+# define SPLICE_F_MOVE		1	/* Move pages instead of copying.  */
+# define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing
+					   (but we may still block on the fd
+					   we splice from/to).  */
+# define SPLICE_F_MORE		4	/* Expect more data.  */
+# define SPLICE_F_GIFT		8	/* Pages passed in are a gift.  */
+
+
+/* Flags for fallocate.  */
+# include <linux/falloc.h>
+
+
+/* File handle structure.  */
+struct file_handle
+{
+  unsigned int handle_bytes;
+  int handle_type;
+  /* File identifier.  */
+  unsigned char f_handle[0];
+};
+
+/* Maximum handle size (for now).  */
+# define MAX_HANDLE_SZ	128
+#endif
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+
+/* Provide kernel hint to read ahead.  */
+extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+    __THROW;
+
+
+/* Selective file content synch'ing.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
+			    unsigned int __flags);
+
+
+/* Splice address range into a pipe.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
+			 size_t __count, unsigned int __flags);
+
+/* Splice two files together.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
+		       __off64_t *__offout, size_t __len,
+		       unsigned int __flags);
+
+/* In-kernel implementation of tee for pipe buffers.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t tee (int __fdin, int __fdout, size_t __len,
+		    unsigned int __flags);
+
+/* Reserve storage for the data of the file associated with FD.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+				   __off64_t __len),
+		       fallocate64);
+#  else
+#   define fallocate fallocate64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
+			__off64_t __len);
+# endif
+
+
+/* Map file name to file handle.  */
+extern int name_to_handle_at (int __dfd, const char *__name,
+			      struct file_handle *__handle, int *__mnt_id,
+			      int __flags) __THROW;
+
+/* Open file using the file handle.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
+			      int __flags);
+
+#endif	/* use GNU */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl.h
new file mode 100644
index 0000000000..be40350e82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/fcntl.h
@@ -0,0 +1,3 @@
+/* bits/fcntl.h is architecture specific.  */
+#error "This file must be supplied by every Linux architecture."
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/in.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/in.h
new file mode 100644
index 0000000000..377732b9fe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/in.h
@@ -0,0 +1,256 @@
+/* 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/>.  */
+
+/* Linux version.  */
+
+#ifndef _NETINET_IN_H
+# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
+#endif
+
+/* If the application has already included linux/in6.h from a linux-based
+   kernel then we will not define the IPv6 IPPROTO_* defines, in6_addr (nor the
+   defines), sockaddr_in6, or ipv6_mreq. Same for in6_ptkinfo or ip6_mtuinfo
+   in linux/ipv6.h. The ABI used by the linux-kernel and glibc match exactly.
+   Neither the linux kernel nor glibc should break this ABI without coordination.
+   In upstream kernel 56c176c9 the _UAPI prefix was stripped so we need to check
+   for _LINUX_IN6_H and _IPV6_H now, and keep checking the old versions for
+   maximum backwards compatibility.  */
+#if defined _UAPI_LINUX_IN6_H \
+    || defined _UAPI_IPV6_H \
+    || defined _LINUX_IN6_H \
+    || defined _IPV6_H
+/* This is not quite the same API since the kernel always defines s6_addr16 and
+   s6_addr32. This is not a violation of POSIX since POSIX says "at least the
+   following member" and that holds true.  */
+# define __USE_KERNEL_IPV6_DEFS 1
+#else
+# define __USE_KERNEL_IPV6_DEFS 0
+#endif
+
+/* Options for use with `getsockopt' and `setsockopt' at the IP level.
+   The first word in the comment at the right is the data type used;
+   "bool" means a boolean value stored in an `int'.  */
+#define        IP_OPTIONS      4       /* ip_opts; IP per-packet options.  */
+#define        IP_HDRINCL      3       /* int; Header is included with data.  */
+#define        IP_TOS          1       /* int; IP type of service and precedence.  */
+#define        IP_TTL          2       /* int; IP time to live.  */
+#define        IP_RECVOPTS     6       /* bool; Receive all IP options w/datagram.  */
+/* For BSD compatibility.  */
+#define        IP_RECVRETOPTS  IP_RETOPTS       /* bool; Receive IP options for response.  */
+#define        IP_RETOPTS      7       /* ip_opts; Set/get IP per-packet options.  */
+#define IP_MULTICAST_IF 32	/* in_addr; set/get IP multicast i/f */
+#define IP_MULTICAST_TTL 33	/* unsigned char; set/get IP multicast ttl */
+#define IP_MULTICAST_LOOP 34	/* bool; set/get IP multicast loopback */
+#define IP_ADD_MEMBERSHIP 35	/* ip_mreq; add an IP group membership */
+#define IP_DROP_MEMBERSHIP 36	/* ip_mreq; drop an IP group membership */
+#define IP_UNBLOCK_SOURCE 37	/* ip_mreq_source: unblock data from source */
+#define IP_BLOCK_SOURCE 38	/* ip_mreq_source: block data from source */
+#define IP_ADD_SOURCE_MEMBERSHIP 39 /* ip_mreq_source: join source group */
+#define IP_DROP_SOURCE_MEMBERSHIP 40 /* ip_mreq_source: leave source group */
+#define IP_MSFILTER 41
+#ifdef __USE_MISC
+# define MCAST_JOIN_GROUP 42	/* group_req: join any-source group */
+# define MCAST_BLOCK_SOURCE 43	/* group_source_req: block from given group */
+# define MCAST_UNBLOCK_SOURCE 44 /* group_source_req: unblock from given group*/
+# define MCAST_LEAVE_GROUP 45	/* group_req: leave any-source group */
+# define MCAST_JOIN_SOURCE_GROUP 46 /* group_source_req: join source-spec gr */
+# define MCAST_LEAVE_SOURCE_GROUP 47 /* group_source_req: leave source-spec gr*/
+# define MCAST_MSFILTER 48
+# define IP_MULTICAST_ALL 49
+# define IP_UNICAST_IF 50
+
+# define MCAST_EXCLUDE   0
+# define MCAST_INCLUDE   1
+#endif
+
+#define IP_ROUTER_ALERT	5	/* bool */
+#define IP_PKTINFO	8	/* bool */
+#define IP_PKTOPTIONS	9
+#define IP_PMTUDISC	10	/* obsolete name? */
+#define IP_MTU_DISCOVER	10	/* int; see below */
+#define IP_RECVERR	11	/* bool */
+#define IP_RECVTTL	12	/* bool */
+#define IP_RECVTOS	13	/* bool */
+#define IP_MTU		14	/* int */
+#define IP_FREEBIND	15
+#define IP_IPSEC_POLICY 16
+#define IP_XFRM_POLICY	17
+#define IP_PASSSEC	18
+#define IP_TRANSPARENT	19
+#define IP_MULTICAST_ALL 49	/* bool */
+
+/* TProxy original addresses */
+#define IP_ORIGDSTADDR       20
+#define IP_RECVORIGDSTADDR   IP_ORIGDSTADDR
+
+#define IP_MINTTL       21
+#define IP_NODEFRAG     22
+#define IP_CHECKSUM     23
+#define IP_BIND_ADDRESS_NO_PORT 24
+#define IP_RECVFRAGSIZE 25
+
+/* IP_MTU_DISCOVER arguments.  */
+#define IP_PMTUDISC_DONT   0	/* Never send DF frames.  */
+#define IP_PMTUDISC_WANT   1	/* Use per route hints.  */
+#define IP_PMTUDISC_DO     2	/* Always DF.  */
+#define IP_PMTUDISC_PROBE  3	/* Ignore dst pmtu.  */
+/* Always use interface mtu (ignores dst pmtu) but don't set DF flag.
+   Also incoming ICMP frag_needed notifications will be ignored on
+   this socket to prevent accepting spoofed ones.  */
+#define IP_PMTUDISC_INTERFACE           4
+/* Like IP_PMTUDISC_INTERFACE but allow packets to be fragmented.  */
+#define IP_PMTUDISC_OMIT		5
+
+#define IP_MULTICAST_IF			32
+#define IP_MULTICAST_TTL 		33
+#define IP_MULTICAST_LOOP 		34
+#define IP_ADD_MEMBERSHIP		35
+#define IP_DROP_MEMBERSHIP		36
+#define IP_UNBLOCK_SOURCE		37
+#define IP_BLOCK_SOURCE			38
+#define IP_ADD_SOURCE_MEMBERSHIP	39
+#define IP_DROP_SOURCE_MEMBERSHIP	40
+#define IP_MSFILTER			41
+#define IP_MULTICAST_ALL		49
+#define IP_UNICAST_IF			50
+
+/* To select the IP level.  */
+#define SOL_IP	0
+
+#define IP_DEFAULT_MULTICAST_TTL        1
+#define IP_DEFAULT_MULTICAST_LOOP       1
+#define IP_MAX_MEMBERSHIPS              20
+
+#ifdef __USE_MISC
+/* Structure used to describe IP options for IP_OPTIONS and IP_RETOPTS.
+   The `ip_dst' field is used for the first-hop gateway when using a
+   source route (this gets put into the header proper).  */
+struct ip_opts
+  {
+    struct in_addr ip_dst;	/* First hop; zero without source route.  */
+    char ip_opts[40];		/* Actually variable in size.  */
+  };
+
+/* Like `struct ip_mreq' but including interface specification by index.  */
+struct ip_mreqn
+  {
+    struct in_addr imr_multiaddr;	/* IP multicast address of group */
+    struct in_addr imr_address;		/* local IP address of interface */
+    int	imr_ifindex;			/* Interface index */
+  };
+
+/* Structure used for IP_PKTINFO.  */
+struct in_pktinfo
+  {
+    int ipi_ifindex;			/* Interface index  */
+    struct in_addr ipi_spec_dst;	/* Routing destination address  */
+    struct in_addr ipi_addr;		/* Header destination address  */
+  };
+#endif
+
+/* Options for use with `getsockopt' and `setsockopt' at the IPv6 level.
+   The first word in the comment at the right is the data type used;
+   "bool" means a boolean value stored in an `int'.  */
+#define IPV6_ADDRFORM		1
+#define IPV6_2292PKTINFO	2
+#define IPV6_2292HOPOPTS	3
+#define IPV6_2292DSTOPTS	4
+#define IPV6_2292RTHDR		5
+#define IPV6_2292PKTOPTIONS	6
+#define IPV6_CHECKSUM		7
+#define IPV6_2292HOPLIMIT	8
+
+#define SCM_SRCRT		IPV6_RXSRCRT
+
+#define IPV6_NEXTHOP		9
+#define IPV6_AUTHHDR		10
+#define IPV6_UNICAST_HOPS	16
+#define IPV6_MULTICAST_IF	17
+#define IPV6_MULTICAST_HOPS	18
+#define IPV6_MULTICAST_LOOP	19
+#define IPV6_JOIN_GROUP		20
+#define IPV6_LEAVE_GROUP	21
+#define IPV6_ROUTER_ALERT	22
+#define IPV6_MTU_DISCOVER	23
+#define IPV6_MTU		24
+#define IPV6_RECVERR		25
+#define IPV6_V6ONLY		26
+#define IPV6_JOIN_ANYCAST	27
+#define IPV6_LEAVE_ANYCAST	28
+#define IPV6_IPSEC_POLICY	34
+#define IPV6_XFRM_POLICY	35
+#define IPV6_HDRINCL		36
+
+/* Advanced API (RFC3542) (1).  */
+#define IPV6_RECVPKTINFO	49
+#define IPV6_PKTINFO		50
+#define IPV6_RECVHOPLIMIT	51
+#define IPV6_HOPLIMIT		52
+#define IPV6_RECVHOPOPTS	53
+#define IPV6_HOPOPTS		54
+#define IPV6_RTHDRDSTOPTS	55
+#define IPV6_RECVRTHDR		56
+#define IPV6_RTHDR		57
+#define IPV6_RECVDSTOPTS	58
+#define IPV6_DSTOPTS		59
+#define IPV6_RECVPATHMTU	60
+#define IPV6_PATHMTU		61
+#define IPV6_DONTFRAG		62
+
+/* Advanced API (RFC3542) (2).  */
+#define IPV6_RECVTCLASS		66
+#define IPV6_TCLASS		67
+
+#define IPV6_AUTOFLOWLABEL	70
+
+/* RFC5014.  */
+#define IPV6_ADDR_PREFERENCES	72
+
+/* RFC5082.  */
+#define IPV6_MINHOPCOUNT	73
+
+#define IPV6_ORIGDSTADDR	74
+#define IPV6_RECVORIGDSTADDR	IPV6_ORIGDSTADDR
+#define IPV6_TRANSPARENT	75
+#define IPV6_UNICAST_IF		76
+#define IPV6_RECVFRAGSIZE	77
+
+/* Obsolete synonyms for the above.  */
+#if !__USE_KERNEL_IPV6_DEFS
+# define IPV6_ADD_MEMBERSHIP	IPV6_JOIN_GROUP
+# define IPV6_DROP_MEMBERSHIP	IPV6_LEAVE_GROUP
+#endif
+#define IPV6_RXHOPOPTS		IPV6_HOPOPTS
+#define IPV6_RXDSTOPTS		IPV6_DSTOPTS
+
+/* IPV6_MTU_DISCOVER values.  */
+#define IPV6_PMTUDISC_DONT	0	/* Never send DF frames.  */
+#define IPV6_PMTUDISC_WANT	1	/* Use per route hints.  */
+#define IPV6_PMTUDISC_DO	2	/* Always DF.  */
+#define IPV6_PMTUDISC_PROBE	3	/* Ignore dst pmtu.  */
+#define IPV6_PMTUDISC_INTERFACE	4	/* See IP_PMTUDISC_INTERFACE.  */
+#define IPV6_PMTUDISC_OMIT	5	/* See IP_PMTUDISC_OMIT.  */
+
+/* Socket level values for IPv6.  */
+#define SOL_IPV6        41
+#define SOL_ICMPV6      58
+
+/* Routing header options for IPv6.  */
+#define IPV6_RTHDR_LOOSE	0	/* Hop doesn't need to be neighbour. */
+#define IPV6_RTHDR_STRICT	1	/* Hop must be a neighbour.  */
+
+#define IPV6_RTHDR_TYPE_0	0	/* IPv6 Routing header type 0.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/initspin.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/initspin.h
new file mode 100644
index 0000000000..936f178497
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/initspin.h
@@ -0,0 +1 @@
+/* No thread support. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/inotify.h
new file mode 100644
index 0000000000..c9d83eb7e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/inotify.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
+#endif
+
+/* Flags for the parameter of inotify_init1.  */
+enum
+  {
+    IN_CLOEXEC = 02000000,
+#define IN_CLOEXEC IN_CLOEXEC
+    IN_NONBLOCK = 00004000
+#define IN_NONBLOCK IN_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctl-types.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctl-types.h
new file mode 100644
index 0000000000..f6fe26acce
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctl-types.h
@@ -0,0 +1,77 @@
+/* Structure types for pre-termios terminal ioctls.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Get definition of constants for use with `ioctl'.  */
+#include <asm/ioctls.h>
+
+
+struct winsize
+  {
+    unsigned short int ws_row;
+    unsigned short int ws_col;
+    unsigned short int ws_xpixel;
+    unsigned short int ws_ypixel;
+  };
+
+#define NCC 8
+struct termio
+  {
+    unsigned short int c_iflag;		/* input mode flags */
+    unsigned short int c_oflag;		/* output mode flags */
+    unsigned short int c_cflag;		/* control mode flags */
+    unsigned short int c_lflag;		/* local mode flags */
+    unsigned char c_line;		/* line discipline */
+    unsigned char c_cc[NCC];		/* control characters */
+};
+
+/* modem lines */
+#define TIOCM_LE	0x001
+#define TIOCM_DTR	0x002
+#define TIOCM_RTS	0x004
+#define TIOCM_ST	0x008
+#define TIOCM_SR	0x010
+#define TIOCM_CTS	0x020
+#define TIOCM_CAR	0x040
+#define TIOCM_RNG	0x080
+#define TIOCM_DSR	0x100
+#define TIOCM_CD	TIOCM_CAR
+#define TIOCM_RI	TIOCM_RNG
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+
+/* line disciplines */
+#define N_TTY		0
+#define N_SLIP		1
+#define N_MOUSE		2
+#define N_PPP		3
+#define N_STRIP		4
+#define N_AX25		5
+#define N_X25		6	/* X.25 async  */
+#define N_6PACK		7
+#define N_MASC		8	/* Mobitex module  */
+#define N_R3964		9	/* Simatic R3964 module  */
+#define N_PROFIBUS_FDL	10	/* Profibus  */
+#define N_IRDA		11	/* Linux IR  */
+#define N_SMSBLOCK	12	/* SMS block mode  */
+#define N_HDLC		13	/* synchronous HDLC  */
+#define N_SYNC_PPP	14	/* synchronous PPP  */
+#define	N_HCI		15	/* Bluetooth HCI UART  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctls.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctls.h
new file mode 100644
index 0000000000..28ab1d0f1a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ioctls.h
@@ -0,0 +1,108 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Use the definitions from the kernel header files.  */
+#include <asm/ioctls.h>
+
+/* Routing table calls.  */
+#define SIOCADDRT	0x890B		/* add routing table entry	*/
+#define SIOCDELRT	0x890C		/* delete routing table entry	*/
+#define SIOCRTMSG	0x890D		/* call to routing system	*/
+
+/* Socket configuration controls. */
+#define SIOCGIFNAME	0x8910		/* get iface name		*/
+#define SIOCSIFLINK	0x8911		/* set iface channel		*/
+#define SIOCGIFCONF	0x8912		/* get iface list		*/
+#define SIOCGIFFLAGS	0x8913		/* get flags			*/
+#define SIOCSIFFLAGS	0x8914		/* set flags			*/
+#define SIOCGIFADDR	0x8915		/* get PA address		*/
+#define SIOCSIFADDR	0x8916		/* set PA address		*/
+#define SIOCGIFDSTADDR	0x8917		/* get remote PA address	*/
+#define SIOCSIFDSTADDR	0x8918		/* set remote PA address	*/
+#define SIOCGIFBRDADDR	0x8919		/* get broadcast PA address	*/
+#define SIOCSIFBRDADDR	0x891a		/* set broadcast PA address	*/
+#define SIOCGIFNETMASK	0x891b		/* get network PA mask		*/
+#define SIOCSIFNETMASK	0x891c		/* set network PA mask		*/
+#define SIOCGIFMETRIC	0x891d		/* get metric			*/
+#define SIOCSIFMETRIC	0x891e		/* set metric			*/
+#define SIOCGIFMEM	0x891f		/* get memory address (BSD)	*/
+#define SIOCSIFMEM	0x8920		/* set memory address (BSD)	*/
+#define SIOCGIFMTU	0x8921		/* get MTU size			*/
+#define SIOCSIFMTU	0x8922		/* set MTU size			*/
+#define SIOCSIFNAME	0x8923		/* set interface name		*/
+#define	SIOCSIFHWADDR	0x8924		/* set hardware address 	*/
+#define SIOCGIFENCAP	0x8925		/* get/set encapsulations       */
+#define SIOCSIFENCAP	0x8926
+#define SIOCGIFHWADDR	0x8927		/* Get hardware address		*/
+#define SIOCGIFSLAVE	0x8929		/* Driver slaving support	*/
+#define SIOCSIFSLAVE	0x8930
+#define SIOCADDMULTI	0x8931		/* Multicast address lists	*/
+#define SIOCDELMULTI	0x8932
+#define SIOCGIFINDEX	0x8933		/* name -> if_index mapping	*/
+#define SIOGIFINDEX	SIOCGIFINDEX	/* misprint compatibility :-)	*/
+#define SIOCSIFPFLAGS	0x8934		/* set/get extended flags set	*/
+#define SIOCGIFPFLAGS	0x8935
+#define SIOCDIFADDR	0x8936		/* delete PA address		*/
+#define	SIOCSIFHWBROADCAST	0x8937	/* set hardware broadcast addr	*/
+#define SIOCGIFCOUNT	0x8938		/* get number of devices */
+
+#define SIOCGIFBR	0x8940		/* Bridging support		*/
+#define SIOCSIFBR	0x8941		/* Set bridging options 	*/
+
+#define SIOCGIFTXQLEN	0x8942		/* Get the tx queue length	*/
+#define SIOCSIFTXQLEN	0x8943		/* Set the tx queue length 	*/
+
+
+/* ARP cache control calls. */
+		    /*  0x8950 - 0x8952  * obsolete calls, don't re-use */
+#define SIOCDARP	0x8953		/* delete ARP table entry	*/
+#define SIOCGARP	0x8954		/* get ARP table entry		*/
+#define SIOCSARP	0x8955		/* set ARP table entry		*/
+
+/* RARP cache control calls. */
+#define SIOCDRARP	0x8960		/* delete RARP table entry	*/
+#define SIOCGRARP	0x8961		/* get RARP table entry		*/
+#define SIOCSRARP	0x8962		/* set RARP table entry		*/
+
+/* Driver configuration calls */
+
+#define SIOCGIFMAP	0x8970		/* Get device parameters	*/
+#define SIOCSIFMAP	0x8971		/* Set device parameters	*/
+
+/* DLCI configuration calls */
+
+#define SIOCADDDLCI	0x8980		/* Create new DLCI device	*/
+#define SIOCDELDLCI	0x8981		/* Delete DLCI device		*/
+
+/* Device private ioctl calls.  */
+
+/* These 16 ioctls are available to devices via the do_ioctl() device
+   vector.  Each device should include this file and redefine these
+   names as their own. Because these are device dependent it is a good
+   idea _NOT_ to issue them to random objects and hope.  */
+
+#define SIOCDEVPRIVATE 		0x89F0	/* to 89FF */
+
+/*
+ *	These 16 ioctl calls are protocol private
+ */
+
+#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ipc.h
new file mode 100644
index 0000000000..f86fe8b5a4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ipc.h
@@ -0,0 +1,55 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+    unsigned short int mode;		/* Read/write permission.  */
+    unsigned short int __pad1;
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned short int __pad2;
+    __syscall_ulong_t __glibc_reserved1;
+    __syscall_ulong_t __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/local_lim.h
new file mode 100644
index 0000000000..7b5303cf0e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	16384
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/mqueue.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/mqueue.h
new file mode 100644
index 0000000000..47bcce60ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/mqueue.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2004-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 _MQUEUE_H
+# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
+#endif
+
+#include <bits/types.h>
+
+typedef int mqd_t;
+
+struct mq_attr
+{
+  __syscall_slong_t mq_flags;	/* Message queue flags.  */
+  __syscall_slong_t mq_maxmsg;	/* Maximum number of messages.  */
+  __syscall_slong_t mq_msgsize;	/* Maximum message size.  */
+  __syscall_slong_t mq_curmsgs;	/* Number of messages currently queued.  */
+  __syscall_slong_t __pad[4];
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/msq.h
new file mode 100644
index 0000000000..31c4863e7b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/msq.h
@@ -0,0 +1,77 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+  unsigned long int __glibc_reserved1;
+  __time_t msg_rtime;		/* time of last msgrcv command */
+  unsigned long int __glibc_reserved2;
+  __time_t msg_ctime;		/* time of last change */
+  unsigned long int __glibc_reserved3;
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved4;
+  unsigned long int __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/param.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/param.h
new file mode 100644
index 0000000000..a53868acdb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/param.h
@@ -0,0 +1,42 @@
+/* Old-style Unix parameters and limits.  Linux version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PARAM_H
+# error "Never use <bits/param.h> directly; include <sys/param.h> instead."
+#endif
+
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+#include <linux/limits.h>
+#include <linux/param.h>
+
+/* The kernel headers define ARG_MAX.  The value is wrong, though.  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+#define	MAXSYMLINKS	20
+
+/* The following are not really correct but it is a value we used for a
+   long time and which seems to be usable.  People should not use NOFILE
+   and NCARGS anyway.  */
+#define NOFILE		256
+#define	NCARGS		131072
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/poll.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/poll.h
new file mode 100644
index 0000000000..da1c66b32b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/poll.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for.  These bits may be set in `events'
+   to indicate the interesting event types; they will appear in `revents'
+   to indicate the status of the file descriptor.  */
+#define POLLIN		0x001		/* There is data to read.  */
+#define POLLPRI		0x002		/* There is urgent data to read.  */
+#define POLLOUT		0x004		/* Writing now will not block.  */
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+/* These values are defined in XPG4.2.  */
+# define POLLRDNORM	0x040		/* Normal data may be read.  */
+# define POLLRDBAND	0x080		/* Priority data may be read.  */
+# define POLLWRNORM	0x100		/* Writing now will not block.  */
+# define POLLWRBAND	0x200		/* Priority data may be written.  */
+#endif
+
+#ifdef __USE_GNU
+/* These are extensions for Linux.  */
+# define POLLMSG	0x400
+# define POLLREMOVE	0x1000
+# define POLLRDHUP	0x2000
+#endif
+
+/* Event types always implicitly polled for.  These bits need not be set in
+   `events', but they will appear in `revents' to indicate the status of
+   the file descriptor.  */
+#define POLLERR		0x008		/* Error condition.  */
+#define POLLHUP		0x010		/* Hung up.  */
+#define POLLNVAL	0x020		/* Invalid polling request.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/posix_opt.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/posix_opt.h
new file mode 100644
index 0000000000..56cbbb88a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -0,0 +1,191 @@
+/* Define POSIX options for Linux.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_BITS_POSIX_OPT_H
+#define	_BITS_POSIX_OPT_H	1
+
+/* Job control is supported.  */
+#define	_POSIX_JOB_CONTROL	1
+
+/* Processes have a saved set-user-ID and a saved set-group-ID.  */
+#define	_POSIX_SAVED_IDS	1
+
+/* Priority scheduling is supported.  */
+#define	_POSIX_PRIORITY_SCHEDULING	200809L
+
+/* Synchronizing file data is supported.  */
+#define	_POSIX_SYNCHRONIZED_IO	200809L
+
+/* The fsync function is present.  */
+#define	_POSIX_FSYNC	200809L
+
+/* Mapping of files to memory is supported.  */
+#define	_POSIX_MAPPED_FILES	200809L
+
+/* Locking of all memory is supported.  */
+#define	_POSIX_MEMLOCK	200809L
+
+/* Locking of ranges of memory is supported.  */
+#define	_POSIX_MEMLOCK_RANGE	200809L
+
+/* Setting of memory protections is supported.  */
+#define	_POSIX_MEMORY_PROTECTION	200809L
+
+/* Some filesystems allow all users to change file ownership.  */
+#define	_POSIX_CHOWN_RESTRICTED	0
+
+/* `c_cc' member of 'struct termios' structure can be disabled by
+   using the value _POSIX_VDISABLE.  */
+#define	_POSIX_VDISABLE	'\0'
+
+/* Filenames are not silently truncated.  */
+#define	_POSIX_NO_TRUNC	1
+
+/* X/Open realtime support is available.  */
+#define _XOPEN_REALTIME	1
+
+/* X/Open thread realtime support is available.  */
+#define _XOPEN_REALTIME_THREADS	1
+
+/* XPG4.2 shared memory is supported.  */
+#define	_XOPEN_SHM	1
+
+/* Tell we have POSIX threads.  */
+#define _POSIX_THREADS	200809L
+
+/* We have the reentrant functions described in POSIX.  */
+#define _POSIX_REENTRANT_FUNCTIONS      1
+#define _POSIX_THREAD_SAFE_FUNCTIONS	200809L
+
+/* We provide priority scheduling for threads.  */
+#define _POSIX_THREAD_PRIORITY_SCHEDULING	200809L
+
+/* We support user-defined stack sizes.  */
+#define _POSIX_THREAD_ATTR_STACKSIZE	200809L
+
+/* We support user-defined stacks.  */
+#define _POSIX_THREAD_ATTR_STACKADDR	200809L
+
+/* We support priority inheritence.  */
+#define _POSIX_THREAD_PRIO_INHERIT	200809L
+
+/* We support priority protection, though only for non-robust
+   mutexes.  */
+#define _POSIX_THREAD_PRIO_PROTECT	200809L
+
+#ifdef __USE_XOPEN2K8
+/* We support priority inheritence for robust mutexes.  */
+# define _POSIX_THREAD_ROBUST_PRIO_INHERIT	200809L
+
+/* We do not support priority protection for robust mutexes.  */
+# define _POSIX_THREAD_ROBUST_PRIO_PROTECT	-1
+#endif
+
+/* We support POSIX.1b semaphores.  */
+#define _POSIX_SEMAPHORES	200809L
+
+/* Real-time signals are supported.  */
+#define _POSIX_REALTIME_SIGNALS	200809L
+
+/* We support asynchronous I/O.  */
+#define _POSIX_ASYNCHRONOUS_IO	200809L
+#define _POSIX_ASYNC_IO		1
+/* Alternative name for Unix98.  */
+#define _LFS_ASYNCHRONOUS_IO	1
+/* Support for prioritization is also available.  */
+#define _POSIX_PRIORITIZED_IO	200809L
+
+/* The LFS support in asynchronous I/O is also available.  */
+#define _LFS64_ASYNCHRONOUS_IO	1
+
+/* The rest of the LFS is also available.  */
+#define _LFS_LARGEFILE		1
+#define _LFS64_LARGEFILE	1
+#define _LFS64_STDIO		1
+
+/* POSIX shared memory objects are implemented.  */
+#define _POSIX_SHARED_MEMORY_OBJECTS	200809L
+
+/* CPU-time clocks support needs to be checked at runtime.  */
+#define _POSIX_CPUTIME	0
+
+/* Clock support in threads must be also checked at runtime.  */
+#define _POSIX_THREAD_CPUTIME	0
+
+/* GNU libc provides regular expression handling.  */
+#define _POSIX_REGEXP	1
+
+/* Reader/Writer locks are available.  */
+#define _POSIX_READER_WRITER_LOCKS	200809L
+
+/* We have a POSIX shell.  */
+#define _POSIX_SHELL	1
+
+/* We support the Timeouts option.  */
+#define _POSIX_TIMEOUTS	200809L
+
+/* We support spinlocks.  */
+#define _POSIX_SPIN_LOCKS	200809L
+
+/* The `spawn' function family is supported.  */
+#define _POSIX_SPAWN	200809L
+
+/* We have POSIX timers.  */
+#define _POSIX_TIMERS	200809L
+
+/* The barrier functions are available.  */
+#define _POSIX_BARRIERS	200809L
+
+/* POSIX message queues are available.  */
+#define	_POSIX_MESSAGE_PASSING	200809L
+
+/* Thread process-shared synchronization is supported.  */
+#define _POSIX_THREAD_PROCESS_SHARED	200809L
+
+/* The monotonic clock might be available.  */
+#define _POSIX_MONOTONIC_CLOCK	0
+
+/* The clock selection interfaces are available.  */
+#define _POSIX_CLOCK_SELECTION	200809L
+
+/* Advisory information interfaces are available.  */
+#define _POSIX_ADVISORY_INFO	200809L
+
+/* IPv6 support is available.  */
+#define _POSIX_IPV6	200809L
+
+/* Raw socket support is available.  */
+#define _POSIX_RAW_SOCKETS	200809L
+
+/* We have at least one terminal.  */
+#define _POSIX2_CHAR_TERM	200809L
+
+/* Neither process nor thread sporadic server interfaces is available.  */
+#define _POSIX_SPORADIC_SERVER	-1
+#define _POSIX_THREAD_SPORADIC_SERVER	-1
+
+/* trace.h is not available.  */
+#define _POSIX_TRACE	-1
+#define _POSIX_TRACE_EVENT_FILTER	-1
+#define _POSIX_TRACE_INHERIT	-1
+#define _POSIX_TRACE_LOG	-1
+
+/* Typed memory objects are not available.  */
+#define _POSIX_TYPED_MEMORY_OBJECTS	-1
+
+#endif /* bits/posix_opt.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/resource.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/resource.h
new file mode 100644
index 0000000000..d4dbc268cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/resource.h
@@ -0,0 +1,327 @@
+/* Bit values & structures for resource limits.  Linux version.
+   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_RESOURCE_H
+# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Transmute defines to enumerations.  The macro re-definitions are
+   necessary because some programs want to test for operating system
+   features with #ifdef RUSAGE_SELF.  In ISO C the reflexive
+   definition is a no-op.  */
+
+/* Kinds of resource limit.  */
+enum __rlimit_resource
+{
+  /* Per-process CPU limit, in seconds.  */
+  RLIMIT_CPU = 0,
+#define RLIMIT_CPU RLIMIT_CPU
+
+  /* Largest file that can be created, in bytes.  */
+  RLIMIT_FSIZE = 1,
+#define	RLIMIT_FSIZE RLIMIT_FSIZE
+
+  /* Maximum size of data segment, in bytes.  */
+  RLIMIT_DATA = 2,
+#define	RLIMIT_DATA RLIMIT_DATA
+
+  /* Maximum size of stack segment, in bytes.  */
+  RLIMIT_STACK = 3,
+#define	RLIMIT_STACK RLIMIT_STACK
+
+  /* Largest core file that can be created, in bytes.  */
+  RLIMIT_CORE = 4,
+#define	RLIMIT_CORE RLIMIT_CORE
+
+  /* Largest resident set size, in bytes.
+     This affects swapping; processes that are exceeding their
+     resident set size will be more likely to have physical memory
+     taken from them.  */
+  __RLIMIT_RSS = 5,
+#define	RLIMIT_RSS __RLIMIT_RSS
+
+  /* Number of open files.  */
+  RLIMIT_NOFILE = 7,
+  __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
+#define RLIMIT_NOFILE RLIMIT_NOFILE
+#define RLIMIT_OFILE __RLIMIT_OFILE
+
+  /* Address space limit.  */
+  RLIMIT_AS = 9,
+#define RLIMIT_AS RLIMIT_AS
+
+  /* Number of processes.  */
+  __RLIMIT_NPROC = 6,
+#define RLIMIT_NPROC __RLIMIT_NPROC
+
+  /* Locked-in-memory address space.  */
+  __RLIMIT_MEMLOCK = 8,
+#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
+
+  /* Maximum number of file locks.  */
+  __RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS __RLIMIT_LOCKS
+
+  /* Maximum number of pending signals.  */
+  __RLIMIT_SIGPENDING = 11,
+#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
+
+  /* Maximum bytes in POSIX message queues.  */
+  __RLIMIT_MSGQUEUE = 12,
+#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
+
+  /* Maximum nice priority allowed to raise to.
+     Nice levels 19 .. -20 correspond to 0 .. 39
+     values of this resource limit.  */
+  __RLIMIT_NICE = 13,
+#define RLIMIT_NICE __RLIMIT_NICE
+
+  /* Maximum realtime priority allowed for non-priviledged
+     processes.  */
+  __RLIMIT_RTPRIO = 14,
+#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
+
+  /* Maximum CPU time in µs that a process scheduled under a real-time
+     scheduling policy may consume without making a blocking system
+     call before being forcibly descheduled.  */
+  __RLIMIT_RTTIME = 15,
+#define RLIMIT_RTTIME __RLIMIT_RTTIME
+
+  __RLIMIT_NLIMITS = 16,
+  __RLIM_NLIMITS = __RLIMIT_NLIMITS
+#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
+#define RLIM_NLIMITS __RLIM_NLIMITS
+};
+
+/* Value to indicate that there is no limit.  */
+#ifndef __USE_FILE_OFFSET64
+# define RLIM_INFINITY ((__rlim_t) -1)
+#else
+# define RLIM_INFINITY 0xffffffffffffffffuLL
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define RLIM64_INFINITY 0xffffffffffffffffuLL
+#endif
+
+/* We can represent all limits.  */
+#define RLIM_SAVED_MAX	RLIM_INFINITY
+#define RLIM_SAVED_CUR	RLIM_INFINITY
+
+
+/* Type for resource quantity measurement.  */
+#ifndef __USE_FILE_OFFSET64
+typedef __rlim_t rlim_t;
+#else
+typedef __rlim64_t rlim_t;
+#endif
+#ifdef __USE_LARGEFILE64
+typedef __rlim64_t rlim64_t;
+#endif
+
+struct rlimit
+  {
+    /* The current (soft) limit.  */
+    rlim_t rlim_cur;
+    /* The hard limit.  */
+    rlim_t rlim_max;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct rlimit64
+  {
+    /* The current (soft) limit.  */
+    rlim64_t rlim_cur;
+    /* The hard limit.  */
+    rlim64_t rlim_max;
+ };
+#endif
+
+/* Whose usage statistics do you want?  */
+enum __rusage_who
+{
+  /* The calling process.  */
+  RUSAGE_SELF = 0,
+#define RUSAGE_SELF RUSAGE_SELF
+
+  /* All of its terminated child processes.  */
+  RUSAGE_CHILDREN = -1
+#define RUSAGE_CHILDREN RUSAGE_CHILDREN
+
+#ifdef __USE_GNU
+  ,
+  /* The calling thread.  */
+  RUSAGE_THREAD = 1
+# define RUSAGE_THREAD RUSAGE_THREAD
+  /* Name for the same functionality on Solaris.  */
+# define RUSAGE_LWP RUSAGE_THREAD
+#endif
+};
+
+#include <bits/types/struct_timeval.h>
+
+/* Structure which says how much of each resource has been used.  */
+
+/* The purpose of all the unions is to have the kernel-compatible layout
+   while keeping the API type as 'long int', and among machines where
+   __syscall_slong_t is not 'long int', this only does the right thing
+   for little-endian ones, like x32.  */
+struct rusage
+  {
+    /* Total amount of user time used.  */
+    struct timeval ru_utime;
+    /* Total amount of system time used.  */
+    struct timeval ru_stime;
+    /* Maximum resident set size (in kilobytes).  */
+    __extension__ union
+      {
+	long int ru_maxrss;
+	__syscall_slong_t __ru_maxrss_word;
+      };
+    /* Amount of sharing of text segment memory
+       with other processes (kilobyte-seconds).  */
+    /* Maximum resident set size (in kilobytes).  */
+    __extension__ union
+      {
+	long int ru_ixrss;
+	__syscall_slong_t __ru_ixrss_word;
+      };
+    /* Amount of data segment memory used (kilobyte-seconds).  */
+    __extension__ union
+      {
+	long int ru_idrss;
+	__syscall_slong_t __ru_idrss_word;
+      };
+    /* Amount of stack memory used (kilobyte-seconds).  */
+    __extension__ union
+      {
+	long int ru_isrss;
+	 __syscall_slong_t __ru_isrss_word;
+      };
+    /* Number of soft page faults (i.e. those serviced by reclaiming
+       a page from the list of pages awaiting reallocation.  */
+    __extension__ union
+      {
+	long int ru_minflt;
+	__syscall_slong_t __ru_minflt_word;
+      };
+    /* Number of hard page faults (i.e. those that required I/O).  */
+    __extension__ union
+      {
+	long int ru_majflt;
+	__syscall_slong_t __ru_majflt_word;
+      };
+    /* Number of times a process was swapped out of physical memory.  */
+    __extension__ union
+      {
+	long int ru_nswap;
+	__syscall_slong_t __ru_nswap_word;
+      };
+    /* Number of input operations via the file system.  Note: This
+       and `ru_oublock' do not include operations with the cache.  */
+    __extension__ union
+      {
+	long int ru_inblock;
+	__syscall_slong_t __ru_inblock_word;
+      };
+    /* Number of output operations via the file system.  */
+    __extension__ union
+      {
+	long int ru_oublock;
+	__syscall_slong_t __ru_oublock_word;
+      };
+    /* Number of IPC messages sent.  */
+    __extension__ union
+      {
+	long int ru_msgsnd;
+	__syscall_slong_t __ru_msgsnd_word;
+      };
+    /* Number of IPC messages received.  */
+    __extension__ union
+      {
+	long int ru_msgrcv;
+	__syscall_slong_t __ru_msgrcv_word;
+      };
+    /* Number of signals delivered.  */
+    __extension__ union
+      {
+	long int ru_nsignals;
+	__syscall_slong_t __ru_nsignals_word;
+      };
+    /* Number of voluntary context switches, i.e. because the process
+       gave up the process before it had to (usually to wait for some
+       resource to be available).  */
+    __extension__ union
+      {
+	long int ru_nvcsw;
+	__syscall_slong_t __ru_nvcsw_word;
+      };
+    /* Number of involuntary context switches, i.e. a higher priority process
+       became runnable or the current process used up its time slice.  */
+    __extension__ union
+      {
+	long int ru_nivcsw;
+	__syscall_slong_t __ru_nivcsw_word;
+      };
+  };
+
+/* Priority limits.  */
+#define PRIO_MIN	-20	/* Minimum priority a process can have.  */
+#define PRIO_MAX	20	/* Maximum priority a process can have.  */
+
+/* The type of the WHICH argument to `getpriority' and `setpriority',
+   indicating what flavor of entity the WHO argument specifies.  */
+enum __priority_which
+{
+  PRIO_PROCESS = 0,		/* WHO is a process ID.  */
+#define PRIO_PROCESS PRIO_PROCESS
+  PRIO_PGRP = 1,		/* WHO is a process group ID.  */
+#define PRIO_PGRP PRIO_PGRP
+  PRIO_USER = 2			/* WHO is a user ID.  */
+#define PRIO_USER PRIO_USER
+};
+
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically.  */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+		    const struct rlimit *__new_limit,
+		    struct rlimit *__old_limit) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+				     enum __rlimit_resource __resource,
+				     const struct rlimit *__new_limit,
+				     struct rlimit *__old_limit), prlimit64);
+#  else
+#   define prlimit prlimit64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+		      const struct rlimit64 *__new_limit,
+		      struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sched.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sched.h
new file mode 100644
index 0000000000..cc0d698f34
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sched.h
@@ -0,0 +1,211 @@
+/* Definitions of constants and data structure for POSIX 1003.1b-1993
+   scheduling interface.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __need_schedparam
+
+#ifndef _SCHED_H
+# error "Never include <bits/sched.h> directly; use <sched.h> instead."
+#endif
+
+
+/* Scheduling algorithms.  */
+#define SCHED_OTHER		0
+#define SCHED_FIFO		1
+#define SCHED_RR		2
+#ifdef __USE_GNU
+# define SCHED_BATCH		3
+# define SCHED_IDLE		5
+
+# define SCHED_RESET_ON_FORK	0x40000000
+#endif
+
+#ifdef __USE_GNU
+/* Cloning flags.  */
+# define CSIGNAL       0x000000ff /* Signal mask to be sent at exit.  */
+# define CLONE_VM      0x00000100 /* Set if VM shared between processes.  */
+# define CLONE_FS      0x00000200 /* Set if fs info shared between processes.  */
+# define CLONE_FILES   0x00000400 /* Set if open files shared between processes.  */
+# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared.  */
+# define CLONE_PTRACE  0x00002000 /* Set if tracing continues on the child.  */
+# define CLONE_VFORK   0x00004000 /* Set if the parent wants the child to
+				     wake it up on mm_release.  */
+# define CLONE_PARENT  0x00008000 /* Set if we want to have the same
+				     parent as the cloner.  */
+# define CLONE_THREAD  0x00010000 /* Set to add to same thread group.  */
+# define CLONE_NEWNS   0x00020000 /* Set to create new namespace.  */
+# define CLONE_SYSVSEM 0x00040000 /* Set to shared SVID SEM_UNDO semantics.  */
+# define CLONE_SETTLS  0x00080000 /* Set TLS info.  */
+# define CLONE_PARENT_SETTID 0x00100000 /* Store TID in userlevel buffer
+					   before MM copy.  */
+# define CLONE_CHILD_CLEARTID 0x00200000 /* Register exit futex and memory
+					    location to clear.  */
+# define CLONE_DETACHED 0x00400000 /* Create clone detached.  */
+# define CLONE_UNTRACED 0x00800000 /* Set if the tracing process can't
+				      force CLONE_PTRACE on this clone.  */
+# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
+					  the child.  */
+# define CLONE_NEWCGROUP    0x02000000	/* New cgroup namespace.  */
+# define CLONE_NEWUTS	0x04000000	/* New utsname group.  */
+# define CLONE_NEWIPC	0x08000000	/* New ipcs.  */
+# define CLONE_NEWUSER	0x10000000	/* New user namespace.  */
+# define CLONE_NEWPID	0x20000000	/* New pid namespace.  */
+# define CLONE_NEWNET	0x40000000	/* New network namespace.  */
+# define CLONE_IO	0x80000000	/* Clone I/O context.  */
+#endif
+
+/* The official definition.  */
+struct sched_param
+  {
+    int __sched_priority;
+  };
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Clone current process.  */
+extern int clone (int (*__fn) (void *__arg), void *__child_stack,
+		  int __flags, void *__arg, ...) __THROW;
+
+/* Unshare the specified resources.  */
+extern int unshare (int __flags) __THROW;
+
+/* Get index of currently used CPU.  */
+extern int sched_getcpu (void) __THROW;
+
+/* Switch process to namespace of type NSTYPE indicated by FD.  */
+extern int setns (int __fd, int __nstype) __THROW;
+#endif
+
+
+__END_DECLS
+
+#endif	/* need schedparam */
+
+#if !defined __defined_schedparam \
+    && (defined __need_schedparam || defined _SCHED_H)
+# define __defined_schedparam	1
+/* Data structure to describe a process' schedulability.  */
+struct __sched_param
+  {
+    int __sched_priority;
+  };
+# undef __need_schedparam
+#endif
+
+
+#if defined _SCHED_H && !defined __cpu_set_t_defined
+# define __cpu_set_t_defined
+/* Size definition for CPU sets.  */
+# define __CPU_SETSIZE	1024
+# define __NCPUBITS	(8 * sizeof (__cpu_mask))
+
+/* Type for array elements in 'cpu_set_t'.  */
+typedef __CPU_MASK_TYPE __cpu_mask;
+
+/* Basic access functions.  */
+# define __CPUELT(cpu)	((cpu) / __NCPUBITS)
+# define __CPUMASK(cpu)	((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
+
+/* Data structure to describe CPU mask.  */
+typedef struct
+{
+  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
+} cpu_set_t;
+
+/* Access functions for CPU masks.  */
+# if __GNUC_PREREQ (2, 91)
+#  define __CPU_ZERO_S(setsize, cpusetp) \
+  do __builtin_memset (cpusetp, '\0', setsize); while (0)
+# else
+#  define __CPU_ZERO_S(setsize, cpusetp) \
+  do {									      \
+    size_t __i;								      \
+    size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
+    __cpu_mask *__bits = (cpusetp)->__bits;				      \
+    for (__i = 0; __i < __imax; ++__i)					      \
+      __bits[__i] = 0;							      \
+  } while (0)
+# endif
+# define __CPU_SET_S(cpu, setsize, cpusetp) \
+  (__extension__							      \
+   ({ size_t __cpu = (cpu);						      \
+      __cpu / 8 < (setsize)						      \
+      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]		      \
+	 |= __CPUMASK (__cpu))						      \
+      : 0; }))
+# define __CPU_CLR_S(cpu, setsize, cpusetp) \
+  (__extension__							      \
+   ({ size_t __cpu = (cpu);						      \
+      __cpu / 8 < (setsize)						      \
+      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]		      \
+	 &= ~__CPUMASK (__cpu))						      \
+      : 0; }))
+# define __CPU_ISSET_S(cpu, setsize, cpusetp) \
+  (__extension__							      \
+   ({ size_t __cpu = (cpu);						      \
+      __cpu / 8 < (setsize)						      \
+      ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]	      \
+	  & __CPUMASK (__cpu))) != 0					      \
+      : 0; }))
+
+# define __CPU_COUNT_S(setsize, cpusetp) \
+  __sched_cpucount (setsize, cpusetp)
+
+# if __GNUC_PREREQ (2, 91)
+#  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
+  (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
+# else
+#  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
+  (__extension__							      \
+   ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits;			      \
+      const __cpu_mask *__arr2 = (cpusetp2)->__bits;			      \
+      size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
+      size_t __i;							      \
+      for (__i = 0; __i < __imax; ++__i)				      \
+	if (__arr1[__i] != __arr2[__i])					      \
+	  break;							      \
+      __i == __imax; }))
+# endif
+
+# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
+  (__extension__							      \
+   ({ cpu_set_t *__dest = (destset);					      \
+      const __cpu_mask *__arr1 = (srcset1)->__bits;			      \
+      const __cpu_mask *__arr2 = (srcset2)->__bits;			      \
+      size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
+      size_t __i;							      \
+      for (__i = 0; __i < __imax; ++__i)				      \
+	((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i];    \
+      __dest; }))
+
+# define __CPU_ALLOC_SIZE(count) \
+  ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
+# define __CPU_ALLOC(count) __sched_cpualloc (count)
+# define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
+
+__BEGIN_DECLS
+
+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
+  __THROW;
+extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
+extern void __sched_cpufree (cpu_set_t *__set) __THROW;
+
+__END_DECLS
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sem.h
new file mode 100644
index 0000000000..7659ca97b9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sem.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+  unsigned long int __glibc_reserved1;
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int __glibc_reserved2;
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved3;
+  unsigned long int __glibc_reserved4;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/shm.h
new file mode 100644
index 0000000000..f8f593c4a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/shm.h
@@ -0,0 +1,103 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    unsigned long int __glibc_reserved1;
+    __time_t shm_dtime;			/* time of last shmdt() */
+    unsigned long int __glibc_reserved2;
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    unsigned long int __glibc_reserved3;
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigaction.h
new file mode 100644
index 0000000000..1e96d74daf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigaction.h
@@ -0,0 +1,78 @@
+/* The proper definitions for Linux's sigaction.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* Special flags.  */
+    int sa_flags;
+
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+  };
+
+/* Bits in `sa_flags'.  */
+#define	SA_NOCLDSTOP  1		 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    4		 /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
+				    its handler is being executed.  */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define	SIG_BLOCK     0		 /* Block signals.  */
+#define	SIG_UNBLOCK   1		 /* Unblock signals.  */
+#define	SIG_SETMASK   2		 /* Set the set of blocked signals.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigcontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigcontext.h
new file mode 100644
index 0000000000..cb7e6b1e30
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigcontext.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
+#ifndef sigcontext_struct
+/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
+   we need sigcontext.  */
+# define sigcontext_struct sigcontext
+
+# include <asm/sigcontext.h>
+
+/* The Linux kernel headers redefine NULL wrongly, so cleanup afterwards.  */
+# define __need_NULL
+# include <stddef.h>
+#endif
+
+#endif /* bits/sigcontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigevent-consts.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigevent-consts.h
new file mode 100644
index 0000000000..df3513bde2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigevent-consts.h
@@ -0,0 +1,41 @@
+/* sigevent constants.  Linux version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGEVENT_CONSTS_H
+#define _BITS_SIGEVENT_CONSTS_H 1
+
+#if !defined _SIGNAL_H && !defined _AIO_H
+#error "Don't include <bits/sigevent-consts.h> directly; use <signal.h> instead."
+#endif
+
+/* `sigev_notify' values.  */
+enum
+{
+  SIGEV_SIGNAL = 0,		/* Notify via signal.  */
+# define SIGEV_SIGNAL	SIGEV_SIGNAL
+  SIGEV_NONE,			/* Other notification: meaningless.  */
+# define SIGEV_NONE	SIGEV_NONE
+  SIGEV_THREAD,			/* Deliver via thread creation.  */
+# define SIGEV_THREAD	SIGEV_THREAD
+
+  SIGEV_THREAD_ID = 4		/* Send signal to specific thread.
+				   This is a Linux extension.  */
+#define SIGEV_THREAD_ID	SIGEV_THREAD_ID
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-arch.h
new file mode 100644
index 0000000000..00018fa620
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-arch.h
@@ -0,0 +1,7 @@
+/* Architecture-specific adjustments to siginfo_t.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+/* This architecture has no adjustments to make to siginfo_t.  */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h
new file mode 100644
index 0000000000..96b4edbccd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h
@@ -0,0 +1,7 @@
+/* Architecture-specific additional siginfo constants.  */
+#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
+#define _BITS_SIGINFO_CONSTS_ARCH_H 1
+
+/* This architecture has no additional siginfo constants.  */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
new file mode 100644
index 0000000000..525840cea1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
@@ -0,0 +1,187 @@
+/* siginfo constants.  Linux version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGINFO_CONSTS_H
+#define _BITS_SIGINFO_CONSTS_H 1
+
+#ifndef _SIGNAL_H
+#error "Don't include <bits/siginfo-consts.h> directly; use <signal.h> instead."
+#endif
+
+/* Most of these constants are uniform across all architectures, but there
+   is one exception.  */
+#include <bits/siginfo-arch.h>
+#ifndef __SI_ASYNCIO_AFTER_SIGIO
+# define __SI_ASYNCIO_AFTER_SIGIO 1
+#endif
+
+/* Values for `si_code'.  Positive values are reserved for kernel-generated
+   signals.  */
+enum
+{
+  SI_ASYNCNL = -60,		/* Sent by asynch name lookup completion.  */
+  SI_TKILL = -6,		/* Sent by tkill.  */
+  SI_SIGIO,			/* Sent by queued SIGIO. */
+#if __SI_ASYNCIO_AFTER_SIGIO
+  SI_ASYNCIO,			/* Sent by AIO completion.  */
+  SI_MESGQ,			/* Sent by real time mesq state change.  */
+  SI_TIMER,			/* Sent by timer expiration.  */
+#else
+  SI_MESGQ,
+  SI_TIMER,
+  SI_ASYNCIO,
+#endif
+  SI_QUEUE,			/* Sent by sigqueue.  */
+  SI_USER,			/* Sent by kill, sigsend.  */
+  SI_KERNEL = 0x80		/* Send by kernel.  */
+
+#define SI_ASYNCNL	SI_ASYNCNL
+#define SI_TKILL	SI_TKILL
+#define SI_SIGIO	SI_SIGIO
+#define SI_ASYNCIO	SI_ASYNCIO
+#define SI_MESGQ	SI_MESGQ
+#define SI_TIMER	SI_TIMER
+#define SI_ASYNCIO	SI_ASYNCIO
+#define SI_QUEUE	SI_QUEUE
+#define SI_USER		SI_USER
+#define SI_KERNEL	SI_KERNEL
+};
+
+
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+/* `si_code' values for SIGILL signal.  */
+enum
+{
+  ILL_ILLOPC = 1,		/* Illegal opcode.  */
+#  define ILL_ILLOPC	ILL_ILLOPC
+  ILL_ILLOPN,			/* Illegal operand.  */
+#  define ILL_ILLOPN	ILL_ILLOPN
+  ILL_ILLADR,			/* Illegal addressing mode.  */
+#  define ILL_ILLADR	ILL_ILLADR
+  ILL_ILLTRP,			/* Illegal trap. */
+#  define ILL_ILLTRP	ILL_ILLTRP
+  ILL_PRVOPC,			/* Privileged opcode.  */
+#  define ILL_PRVOPC	ILL_PRVOPC
+  ILL_PRVREG,			/* Privileged register.  */
+#  define ILL_PRVREG	ILL_PRVREG
+  ILL_COPROC,			/* Coprocessor error.  */
+#  define ILL_COPROC	ILL_COPROC
+  ILL_BADSTK			/* Internal stack error.  */
+#  define ILL_BADSTK	ILL_BADSTK
+};
+
+/* `si_code' values for SIGFPE signal.  */
+enum
+{
+  FPE_INTDIV = 1,		/* Integer divide by zero.  */
+#  define FPE_INTDIV	FPE_INTDIV
+  FPE_INTOVF,			/* Integer overflow.  */
+#  define FPE_INTOVF	FPE_INTOVF
+  FPE_FLTDIV,			/* Floating point divide by zero.  */
+#  define FPE_FLTDIV	FPE_FLTDIV
+  FPE_FLTOVF,			/* Floating point overflow.  */
+#  define FPE_FLTOVF	FPE_FLTOVF
+  FPE_FLTUND,			/* Floating point underflow.  */
+#  define FPE_FLTUND	FPE_FLTUND
+  FPE_FLTRES,			/* Floating point inexact result.  */
+#  define FPE_FLTRES	FPE_FLTRES
+  FPE_FLTINV,			/* Floating point invalid operation.  */
+#  define FPE_FLTINV	FPE_FLTINV
+  FPE_FLTSUB			/* Subscript out of range.  */
+#  define FPE_FLTSUB	FPE_FLTSUB
+};
+
+/* `si_code' values for SIGSEGV signal.  */
+enum
+{
+  SEGV_MAPERR = 1,		/* Address not mapped to object.  */
+#  define SEGV_MAPERR	SEGV_MAPERR
+  SEGV_ACCERR			/* Invalid permissions for mapped object.  */
+#  define SEGV_ACCERR	SEGV_ACCERR
+};
+
+/* `si_code' values for SIGBUS signal.  */
+enum
+{
+  BUS_ADRALN = 1,		/* Invalid address alignment.  */
+#  define BUS_ADRALN	BUS_ADRALN
+  BUS_ADRERR,			/* Non-existant physical address.  */
+#  define BUS_ADRERR	BUS_ADRERR
+  BUS_OBJERR,			/* Object specific hardware error.  */
+#  define BUS_OBJERR	BUS_OBJERR
+  BUS_MCEERR_AR,		/* Hardware memory error: action required.  */
+#  define BUS_MCEERR_AR	BUS_MCEERR_AR
+  BUS_MCEERR_AO			/* Hardware memory error: action optional.  */
+#  define BUS_MCEERR_AO	BUS_MCEERR_AO
+};
+# endif
+
+# ifdef __USE_XOPEN_EXTENDED
+/* `si_code' values for SIGTRAP signal.  */
+enum
+{
+  TRAP_BRKPT = 1,		/* Process breakpoint.  */
+#  define TRAP_BRKPT	TRAP_BRKPT
+  TRAP_TRACE			/* Process trace trap.  */
+#  define TRAP_TRACE	TRAP_TRACE
+};
+# endif
+
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+/* `si_code' values for SIGCHLD signal.  */
+enum
+{
+  CLD_EXITED = 1,		/* Child has exited.  */
+#  define CLD_EXITED	CLD_EXITED
+  CLD_KILLED,			/* Child was killed.  */
+#  define CLD_KILLED	CLD_KILLED
+  CLD_DUMPED,			/* Child terminated abnormally.  */
+#  define CLD_DUMPED	CLD_DUMPED
+  CLD_TRAPPED,			/* Traced child has trapped.  */
+#  define CLD_TRAPPED	CLD_TRAPPED
+  CLD_STOPPED,			/* Child has stopped.  */
+#  define CLD_STOPPED	CLD_STOPPED
+  CLD_CONTINUED			/* Stopped child has continued.  */
+#  define CLD_CONTINUED	CLD_CONTINUED
+};
+
+/* `si_code' values for SIGPOLL signal.  */
+enum
+{
+  POLL_IN = 1,			/* Data input available.  */
+#  define POLL_IN	POLL_IN
+  POLL_OUT,			/* Output buffers available.  */
+#  define POLL_OUT	POLL_OUT
+  POLL_MSG,			/* Input message available.   */
+#  define POLL_MSG	POLL_MSG
+  POLL_ERR,			/* I/O error.  */
+#  define POLL_ERR	POLL_ERR
+  POLL_PRI,			/* High priority input available.  */
+#  define POLL_PRI	POLL_PRI
+  POLL_HUP			/* Device disconnected.  */
+#  define POLL_HUP	POLL_HUP
+};
+# endif
+
+/* Architectures might also add architecture-specific constants.
+   These are all considered GNU extensions.  */
+#ifdef __USE_GNU
+# include <bits/siginfo-consts-arch.h>
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/signalfd.h
new file mode 100644
index 0000000000..9830b6953e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/signalfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC = 02000000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 00004000
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/signum.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/signum.h
new file mode 100644
index 0000000000..e30efead0d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/signum.h
@@ -0,0 +1,79 @@
+/* Signal number definitions.  Linux version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* Fake signal functions.  */
+#define SIG_ERR	((__sighandler_t) -1)		/* Error return.  */
+#define SIG_DFL	((__sighandler_t) 0)		/* Default action.  */
+#define SIG_IGN	((__sighandler_t) 1)		/* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
+#endif
+
+
+/* Signals.  */
+#define	SIGHUP		1	/* Hangup (POSIX).  */
+#define	SIGINT		2	/* Interrupt (ANSI).  */
+#define	SIGQUIT		3	/* Quit (POSIX).  */
+#define	SIGILL		4	/* Illegal instruction (ANSI).  */
+#define	SIGTRAP		5	/* Trace trap (POSIX).  */
+#define	SIGABRT		6	/* Abort (ANSI).  */
+#define	SIGIOT		6	/* IOT trap (4.2 BSD).  */
+#define	SIGBUS		7	/* BUS error (4.2 BSD).  */
+#define	SIGFPE		8	/* Floating-point exception (ANSI).  */
+#define	SIGKILL		9	/* Kill, unblockable (POSIX).  */
+#define	SIGUSR1		10	/* User-defined signal 1 (POSIX).  */
+#define	SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define	SIGUSR2		12	/* User-defined signal 2 (POSIX).  */
+#define	SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define	SIGALRM		14	/* Alarm clock (POSIX).  */
+#define	SIGTERM		15	/* Termination (ANSI).  */
+#define	SIGSTKFLT	16	/* Stack fault.  */
+#define	SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define	SIGCHLD		17	/* Child status has changed (POSIX).  */
+#define	SIGCONT		18	/* Continue (POSIX).  */
+#define	SIGSTOP		19	/* Stop, unblockable (POSIX).  */
+#define	SIGTSTP		20	/* Keyboard stop (POSIX).  */
+#define	SIGTTIN		21	/* Background read from tty (POSIX).  */
+#define	SIGTTOU		22	/* Background write to tty (POSIX).  */
+#define	SIGURG		23	/* Urgent condition on socket (4.2 BSD).  */
+#define	SIGXCPU		24	/* CPU limit exceeded (4.2 BSD).  */
+#define	SIGXFSZ		25	/* File size limit exceeded (4.2 BSD).  */
+#define	SIGVTALRM	26	/* Virtual alarm clock (4.2 BSD).  */
+#define	SIGPROF		27	/* Profiling alarm clock (4.2 BSD).  */
+#define	SIGWINCH	28	/* Window size change (4.3 BSD, Sun).  */
+#define	SIGPOLL		SIGIO	/* Pollable event occurred (System V).  */
+#define	SIGIO		29	/* I/O now possible (4.2 BSD).  */
+#define	SIGPWR		30	/* Power failure restart (System V).  */
+#define SIGSYS		31	/* Bad system call.  */
+#define SIGUNUSED	31
+
+#define	_NSIG		65	/* Biggest signal number + 1
+				   (including real-time signals).  */
+
+#define SIGRTMIN        (__libc_current_sigrtmin ())
+#define SIGRTMAX        (__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+#define __SIGRTMIN	32
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigstack.h
new file mode 100644
index 0000000000..e6b6c7edcf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   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 _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	2048
+
+/* System default stack size.  */
+#define SIGSTKSZ	8192
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket.h
new file mode 100644
index 0000000000..ec2bf8564f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket.h
@@ -0,0 +1,447 @@
+/* System-specific socket constants and types.  Linux version.
+   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/>.  */
+
+#ifndef __BITS_SOCKET_H
+#define __BITS_SOCKET_H
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
+#endif
+
+#define __need_size_t
+#include <stddef.h>
+
+#include <sys/types.h>
+
+/* Type for length arguments in socket calls.  */
+#ifndef __socklen_t_defined
+typedef __socklen_t socklen_t;
+# define __socklen_t_defined
+#endif
+
+/* Get the architecture-dependent definition of enum __socket_type.  */
+#include <bits/socket_type.h>
+
+/* Protocol families.  */
+#define PF_UNSPEC	0	/* Unspecified.  */
+#define PF_LOCAL	1	/* Local to host (pipes and file-domain).  */
+#define PF_UNIX		PF_LOCAL /* POSIX name for PF_LOCAL.  */
+#define PF_FILE		PF_LOCAL /* Another non-standard name for PF_LOCAL.  */
+#define PF_INET		2	/* IP protocol family.  */
+#define PF_AX25		3	/* Amateur Radio AX.25.  */
+#define PF_IPX		4	/* Novell Internet Protocol.  */
+#define PF_APPLETALK	5	/* Appletalk DDP.  */
+#define PF_NETROM	6	/* Amateur radio NetROM.  */
+#define PF_BRIDGE	7	/* Multiprotocol bridge.  */
+#define PF_ATMPVC	8	/* ATM PVCs.  */
+#define PF_X25		9	/* Reserved for X.25 project.  */
+#define PF_INET6	10	/* IP version 6.  */
+#define PF_ROSE		11	/* Amateur Radio X.25 PLP.  */
+#define PF_DECnet	12	/* Reserved for DECnet project.  */
+#define PF_NETBEUI	13	/* Reserved for 802.2LLC project.  */
+#define PF_SECURITY	14	/* Security callback pseudo AF.  */
+#define PF_KEY		15	/* PF_KEY key management API.  */
+#define PF_NETLINK	16
+#define PF_ROUTE	PF_NETLINK /* Alias to emulate 4.4BSD.  */
+#define PF_PACKET	17	/* Packet family.  */
+#define PF_ASH		18	/* Ash.  */
+#define PF_ECONET	19	/* Acorn Econet.  */
+#define PF_ATMSVC	20	/* ATM SVCs.  */
+#define PF_RDS		21	/* RDS sockets.  */
+#define PF_SNA		22	/* Linux SNA Project */
+#define PF_IRDA		23	/* IRDA sockets.  */
+#define PF_PPPOX	24	/* PPPoX sockets.  */
+#define PF_WANPIPE	25	/* Wanpipe API sockets.  */
+#define PF_LLC		26	/* Linux LLC.  */
+#define PF_IB		27	/* Native InfiniBand address.  */
+#define PF_MPLS		28	/* MPLS.  */
+#define PF_CAN		29	/* Controller Area Network.  */
+#define PF_TIPC		30	/* TIPC sockets.  */
+#define PF_BLUETOOTH	31	/* Bluetooth sockets.  */
+#define PF_IUCV		32	/* IUCV sockets.  */
+#define PF_RXRPC	33	/* RxRPC sockets.  */
+#define PF_ISDN		34	/* mISDN sockets.  */
+#define PF_PHONET	35	/* Phonet sockets.  */
+#define PF_IEEE802154	36	/* IEEE 802.15.4 sockets.  */
+#define PF_CAIF		37	/* CAIF sockets.  */
+#define PF_ALG		38	/* Algorithm sockets.  */
+#define PF_NFC		39	/* NFC sockets.  */
+#define PF_VSOCK	40	/* vSockets.  */
+#define PF_KCM		41	/* Kernel Connection Multiplexor.  */
+#define PF_QIPCRTR	42	/* Qualcomm IPC Router.  */
+#define PF_SMC		43	/* SMC sockets.  */
+#define PF_MAX		44	/* For now..  */
+
+/* Address families.  */
+#define AF_UNSPEC	PF_UNSPEC
+#define AF_LOCAL	PF_LOCAL
+#define AF_UNIX		PF_UNIX
+#define AF_FILE		PF_FILE
+#define AF_INET		PF_INET
+#define AF_AX25		PF_AX25
+#define AF_IPX		PF_IPX
+#define AF_APPLETALK	PF_APPLETALK
+#define AF_NETROM	PF_NETROM
+#define AF_BRIDGE	PF_BRIDGE
+#define AF_ATMPVC	PF_ATMPVC
+#define AF_X25		PF_X25
+#define AF_INET6	PF_INET6
+#define AF_ROSE		PF_ROSE
+#define AF_DECnet	PF_DECnet
+#define AF_NETBEUI	PF_NETBEUI
+#define AF_SECURITY	PF_SECURITY
+#define AF_KEY		PF_KEY
+#define AF_NETLINK	PF_NETLINK
+#define AF_ROUTE	PF_ROUTE
+#define AF_PACKET	PF_PACKET
+#define AF_ASH		PF_ASH
+#define AF_ECONET	PF_ECONET
+#define AF_ATMSVC	PF_ATMSVC
+#define AF_RDS		PF_RDS
+#define AF_SNA		PF_SNA
+#define AF_IRDA		PF_IRDA
+#define AF_PPPOX	PF_PPPOX
+#define AF_WANPIPE	PF_WANPIPE
+#define AF_LLC		PF_LLC
+#define AF_IB		PF_IB
+#define AF_MPLS		PF_MPLS
+#define AF_CAN		PF_CAN
+#define AF_TIPC		PF_TIPC
+#define AF_BLUETOOTH	PF_BLUETOOTH
+#define AF_IUCV		PF_IUCV
+#define AF_RXRPC	PF_RXRPC
+#define AF_ISDN		PF_ISDN
+#define AF_PHONET	PF_PHONET
+#define AF_IEEE802154	PF_IEEE802154
+#define AF_CAIF		PF_CAIF
+#define AF_ALG		PF_ALG
+#define AF_NFC		PF_NFC
+#define AF_VSOCK	PF_VSOCK
+#define AF_KCM		PF_KCM
+#define AF_QIPCRTR	PF_QIPCRTR
+#define AF_SMC		PF_SMC
+#define AF_MAX		PF_MAX
+
+/* Socket level values.  Others are defined in the appropriate headers.
+
+   XXX These definitions also should go into the appropriate headers as
+   far as they are available.  */
+#define SOL_RAW		255
+#define SOL_DECNET      261
+#define SOL_X25         262
+#define SOL_PACKET	263
+#define SOL_ATM		264	/* ATM layer (cell level).  */
+#define SOL_AAL		265	/* ATM Adaption Layer (packet level).  */
+#define SOL_IRDA	266
+#define SOL_NETBEUI	267
+#define SOL_LLC		268
+#define SOL_DCCP	269
+#define SOL_NETLINK	270
+#define SOL_TIPC	271
+#define SOL_RXRPC	272
+#define SOL_PPPOL2TP	273
+#define SOL_BLUETOOTH	274
+#define SOL_PNPIPE	275
+#define SOL_RDS		276
+#define SOL_IUCV	277
+#define SOL_CAIF	278
+#define SOL_ALG		279
+#define SOL_NFC		280
+#define SOL_KCM		281
+
+/* Maximum queue length specifiable by listen.  */
+#define SOMAXCONN	128
+
+/* Get the definition of the macro to define the common sockaddr members.  */
+#include <bits/sockaddr.h>
+
+/* Structure describing a generic socket address.  */
+struct sockaddr
+  {
+    __SOCKADDR_COMMON (sa_);	/* Common data: address family and length.  */
+    char sa_data[14];		/* Address data.  */
+  };
+
+
+/* Structure large enough to hold any socket address (with the historical
+   exception of AF_UNIX).  */
+#define __ss_aligntype	unsigned long int
+#define _SS_PADSIZE \
+  (_SS_SIZE - __SOCKADDR_COMMON_SIZE - sizeof (__ss_aligntype))
+
+struct sockaddr_storage
+  {
+    __SOCKADDR_COMMON (ss_);	/* Address family, etc.  */
+    char __ss_padding[_SS_PADSIZE];
+    __ss_aligntype __ss_align;	/* Force desired alignment.  */
+  };
+
+
+/* Bits in the FLAGS argument to `send', `recv', et al.  */
+enum
+  {
+    MSG_OOB		= 0x01,	/* Process out-of-band data.  */
+#define MSG_OOB		MSG_OOB
+    MSG_PEEK		= 0x02,	/* Peek at incoming messages.  */
+#define MSG_PEEK	MSG_PEEK
+    MSG_DONTROUTE	= 0x04,	/* Don't use local routing.  */
+#define MSG_DONTROUTE	MSG_DONTROUTE
+#ifdef __USE_GNU
+    /* DECnet uses a different name.  */
+    MSG_TRYHARD		= MSG_DONTROUTE,
+# define MSG_TRYHARD	MSG_DONTROUTE
+#endif
+    MSG_CTRUNC		= 0x08,	/* Control data lost before delivery.  */
+#define MSG_CTRUNC	MSG_CTRUNC
+    MSG_PROXY		= 0x10,	/* Supply or ask second address.  */
+#define MSG_PROXY	MSG_PROXY
+    MSG_TRUNC		= 0x20,
+#define MSG_TRUNC	MSG_TRUNC
+    MSG_DONTWAIT	= 0x40, /* Nonblocking IO.  */
+#define MSG_DONTWAIT	MSG_DONTWAIT
+    MSG_EOR		= 0x80, /* End of record.  */
+#define MSG_EOR		MSG_EOR
+    MSG_WAITALL		= 0x100, /* Wait for a full request.  */
+#define MSG_WAITALL	MSG_WAITALL
+    MSG_FIN		= 0x200,
+#define MSG_FIN		MSG_FIN
+    MSG_SYN		= 0x400,
+#define MSG_SYN		MSG_SYN
+    MSG_CONFIRM		= 0x800, /* Confirm path validity.  */
+#define MSG_CONFIRM	MSG_CONFIRM
+    MSG_RST		= 0x1000,
+#define MSG_RST		MSG_RST
+    MSG_ERRQUEUE	= 0x2000, /* Fetch message from error queue.  */
+#define MSG_ERRQUEUE	MSG_ERRQUEUE
+    MSG_NOSIGNAL	= 0x4000, /* Do not generate SIGPIPE.  */
+#define MSG_NOSIGNAL	MSG_NOSIGNAL
+    MSG_MORE		= 0x8000,  /* Sender will send more.  */
+#define MSG_MORE	MSG_MORE
+    MSG_WAITFORONE	= 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE	MSG_WAITFORONE
+    MSG_BATCH		= 0x40000, /* sendmmsg: more messages coming.  */
+#define MSG_BATCH	MSG_BATCH
+    MSG_FASTOPEN	= 0x20000000, /* Send data in TCP SYN.  */
+#define MSG_FASTOPEN	MSG_FASTOPEN
+
+    MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
+					   descriptor received through
+					   SCM_RIGHTS.  */
+#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
+  };
+
+
+/* Structure describing messages sent by
+   `sendmsg' and received by `recvmsg'.  */
+struct msghdr
+  {
+    void *msg_name;		/* Address to send to/receive from.  */
+    socklen_t msg_namelen;	/* Length of address data.  */
+
+    struct iovec *msg_iov;	/* Vector of data to send/receive into.  */
+    size_t msg_iovlen;		/* Number of elements in the vector.  */
+
+    void *msg_control;		/* Ancillary data (eg BSD filedesc passing). */
+    size_t msg_controllen;	/* Ancillary data buffer length.
+				   !! The type should be socklen_t but the
+				   definition of the kernel is incompatible
+				   with this.  */
+
+    int msg_flags;		/* Flags on received message.  */
+  };
+
+/* Structure used for storage of ancillary data object information.  */
+struct cmsghdr
+  {
+    size_t cmsg_len;		/* Length of data in cmsg_data plus length
+				   of cmsghdr structure.
+				   !! The type should be socklen_t but the
+				   definition of the kernel is incompatible
+				   with this.  */
+    int cmsg_level;		/* Originating protocol.  */
+    int cmsg_type;		/* Protocol specific type.  */
+#if __glibc_c99_flexarr_available
+    __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data.  */
+#endif
+  };
+
+/* Ancillary data object manipulation macros.  */
+#if __glibc_c99_flexarr_available
+# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
+#else
+# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
+#endif
+#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
+#define CMSG_FIRSTHDR(mhdr) \
+  ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr)		      \
+   ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
+#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
+			 & (size_t) ~(sizeof (size_t) - 1))
+#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
+			 + CMSG_ALIGN (sizeof (struct cmsghdr)))
+#define CMSG_LEN(len)   (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
+
+extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
+				      struct cmsghdr *__cmsg) __THROW;
+#ifdef __USE_EXTERN_INLINES
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE __extern_inline
+# endif
+_EXTERN_INLINE struct cmsghdr *
+__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
+{
+  if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
+    /* The kernel header does this so there may be a reason.  */
+    return (struct cmsghdr *) 0;
+
+  __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
+			       + CMSG_ALIGN (__cmsg->cmsg_len));
+  if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
+					+ __mhdr->msg_controllen)
+      || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
+	  > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
+    /* No more entries.  */
+    return (struct cmsghdr *) 0;
+  return __cmsg;
+}
+#endif	/* Use `extern inline'.  */
+
+/* Socket level message types.  This must match the definitions in
+   <linux/socket.h>.  */
+enum
+  {
+    SCM_RIGHTS = 0x01		/* Transfer file descriptors.  */
+#define SCM_RIGHTS SCM_RIGHTS
+#ifdef __USE_GNU
+    , SCM_CREDENTIALS = 0x02	/* Credentials passing.  */
+# define SCM_CREDENTIALS SCM_CREDENTIALS
+#endif
+  };
+
+#ifdef __USE_GNU
+/* User visible structure for SCM_CREDENTIALS message */
+struct ucred
+{
+  pid_t pid;			/* PID of sending process.  */
+  uid_t uid;			/* UID of sending process.  */
+  gid_t gid;			/* GID of sending process.  */
+};
+#endif
+
+/* Ugly workaround for unclean kernel headers.  */
+#ifndef __USE_MISC
+# ifndef FIOGETOWN
+#  define __SYS_SOCKET_H_undef_FIOGETOWN
+# endif
+# ifndef FIOSETOWN
+#  define __SYS_SOCKET_H_undef_FIOSETOWN
+# endif
+# ifndef SIOCATMARK
+#  define __SYS_SOCKET_H_undef_SIOCATMARK
+# endif
+# ifndef SIOCGPGRP
+#  define __SYS_SOCKET_H_undef_SIOCGPGRP
+# endif
+# ifndef SIOCGSTAMP
+#  define __SYS_SOCKET_H_undef_SIOCGSTAMP
+# endif
+# ifndef SIOCGSTAMPNS
+#  define __SYS_SOCKET_H_undef_SIOCGSTAMPNS
+# endif
+# ifndef SIOCSPGRP
+#  define __SYS_SOCKET_H_undef_SIOCSPGRP
+# endif
+#endif
+#ifndef IOCSIZE_MASK
+# define __SYS_SOCKET_H_undef_IOCSIZE_MASK
+#endif
+#ifndef IOCSIZE_SHIFT
+# define __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
+#endif
+#ifndef IOC_IN
+# define __SYS_SOCKET_H_undef_IOC_IN
+#endif
+#ifndef IOC_INOUT
+# define __SYS_SOCKET_H_undef_IOC_INOUT
+#endif
+#ifndef IOC_OUT
+# define __SYS_SOCKET_H_undef_IOC_OUT
+#endif
+
+/* Get socket manipulation related informations from kernel headers.  */
+#include <asm/socket.h>
+
+#ifndef __USE_MISC
+# ifdef __SYS_SOCKET_H_undef_FIOGETOWN
+#  undef __SYS_SOCKET_H_undef_FIOGETOWN
+#  undef FIOGETOWN
+# endif
+# ifdef __SYS_SOCKET_H_undef_FIOSETOWN
+#  undef __SYS_SOCKET_H_undef_FIOSETOWN
+#  undef FIOSETOWN
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCATMARK
+#  undef __SYS_SOCKET_H_undef_SIOCATMARK
+#  undef SIOCATMARK
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP
+#  undef __SYS_SOCKET_H_undef_SIOCGPGRP
+#  undef SIOCGPGRP
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP
+#  undef __SYS_SOCKET_H_undef_SIOCGSTAMP
+#  undef SIOCGSTAMP
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
+#  undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
+#  undef SIOCGSTAMPNS
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP
+#  undef __SYS_SOCKET_H_undef_SIOCSPGRP
+#  undef SIOCSPGRP
+# endif
+#endif
+#ifdef __SYS_SOCKET_H_undef_IOCSIZE_MASK
+# undef __SYS_SOCKET_H_undef_IOCSIZE_MASK
+# undef IOCSIZE_MASK
+#endif
+#ifdef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
+# undef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
+# undef IOCSIZE_SHIFT
+#endif
+#ifdef __SYS_SOCKET_H_undef_IOC_IN
+# undef __SYS_SOCKET_H_undef_IOC_IN
+# undef IOC_IN
+#endif
+#ifdef __SYS_SOCKET_H_undef_IOC_INOUT
+# undef __SYS_SOCKET_H_undef_IOC_INOUT
+# undef IOC_INOUT
+#endif
+#ifdef __SYS_SOCKET_H_undef_IOC_OUT
+# undef __SYS_SOCKET_H_undef_IOC_OUT
+# undef IOC_OUT
+#endif
+
+/* Structure used to manipulate the SO_LINGER option.  */
+struct linger
+  {
+    int l_onoff;		/* Nonzero to linger on close.  */
+    int l_linger;		/* Time to linger.  */
+  };
+
+#endif	/* bits/socket.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket_type.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket_type.h
new file mode 100644
index 0000000000..fcb34bcc90
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/socket_type.h
@@ -0,0 +1,55 @@
+/* Define enum __socket_type for generic Linux.
+   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/>.  */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_STREAM = 1,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_DGRAM = 2,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_DCCP = 6,		/* Datagram Congestion Control Protocol.  */
+#define SOCK_DCCP SOCK_DCCP
+  SOCK_PACKET = 10,		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 02000000,	/* Atomically set close-on-exec flag for the
+				   new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 00004000	/* Atomically mark descriptor(s) as
+				   non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/ss_flags.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ss_flags.h
new file mode 100644
index 0000000000..497b613a8c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/ss_flags.h
@@ -0,0 +1,35 @@
+/* ss_flags values for stack_t.  Linux version.
+   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 _BITS_SS_FLAGS_H
+#define _BITS_SS_FLAGS_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Possible values for `ss_flags'.  */
+enum
+{
+  SS_ONSTACK = 1,
+#define SS_ONSTACK	SS_ONSTACK
+  SS_DISABLE
+#define SS_DISABLE	SS_DISABLE
+};
+
+#endif /* bits/ss_flags.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/stat.h
new file mode 100644
index 0000000000..187590e51e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/stat.h
@@ -0,0 +1,172 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+
+
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned short int __pad1;
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;			/* File serial number.	*/
+#else
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+#endif
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+#ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+#else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+#endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+#else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+#ifndef __USE_FILE_OFFSET64
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+#else
+    __ino64_t st_ino;			/* File serial number.	*/
+#endif
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned int __pad1;
+
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    __ino64_t st_ino;			/* File serial number.		*/
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/statfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/statfs.h
new file mode 100644
index 0000000000..54329613f3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/statfs.h
@@ -0,0 +1,69 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATFS_H
+# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
+#endif
+
+#include <bits/types.h>
+
+struct statfs
+  {
+    __fsword_t f_type;
+    __fsword_t f_bsize;
+#ifndef __USE_FILE_OFFSET64
+    __fsblkcnt_t f_blocks;
+    __fsblkcnt_t f_bfree;
+    __fsblkcnt_t f_bavail;
+    __fsfilcnt_t f_files;
+    __fsfilcnt_t f_ffree;
+#else
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+#endif
+    __fsid_t f_fsid;
+    __fsword_t f_namelen;
+    __fsword_t f_frsize;
+    __fsword_t f_flags;
+    __fsword_t f_spare[4];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct statfs64
+  {
+    __fsword_t f_type;
+    __fsword_t f_bsize;
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsid_t f_fsid;
+    __fsword_t f_namelen;
+    __fsword_t f_frsize;
+    __fsword_t f_flags;
+    __fsword_t f_spare[4];
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define _STATFS_F_NAMELEN
+#define _STATFS_F_FRSIZE
+#define _STATFS_F_FLAGS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/statvfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/statvfs.h
new file mode 100644
index 0000000000..4552517dd3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/statvfs.h
@@ -0,0 +1,109 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATVFS_H
+# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
+#endif
+
+#include <bits/types.h>  /* For __fsblkcnt_t and __fsfilcnt_t.  */
+
+#if (__WORDSIZE == 32 \
+     && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
+#define _STATVFSBUF_F_UNUSED
+#endif
+
+struct statvfs
+  {
+    unsigned long int f_bsize;
+    unsigned long int f_frsize;
+#ifndef __USE_FILE_OFFSET64
+    __fsblkcnt_t f_blocks;
+    __fsblkcnt_t f_bfree;
+    __fsblkcnt_t f_bavail;
+    __fsfilcnt_t f_files;
+    __fsfilcnt_t f_ffree;
+    __fsfilcnt_t f_favail;
+#else
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsfilcnt64_t f_favail;
+#endif
+    unsigned long int f_fsid;
+#ifdef _STATVFSBUF_F_UNUSED
+    int __f_unused;
+#endif
+    unsigned long int f_flag;
+    unsigned long int f_namemax;
+    int __f_spare[6];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct statvfs64
+  {
+    unsigned long int f_bsize;
+    unsigned long int f_frsize;
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsfilcnt64_t f_favail;
+    unsigned long int f_fsid;
+#ifdef _STATVFSBUF_F_UNUSED
+    int __f_unused;
+#endif
+    unsigned long int f_flag;
+    unsigned long int f_namemax;
+    int __f_spare[6];
+  };
+#endif
+
+/* Definitions for the flag in `f_flag'.  These definitions should be
+   kept in sync with the definitions in <sys/mount.h>.  */
+enum
+{
+  ST_RDONLY = 1,		/* Mount read-only.  */
+#define ST_RDONLY	ST_RDONLY
+  ST_NOSUID = 2			/* Ignore suid and sgid bits.  */
+#define ST_NOSUID	ST_NOSUID
+#ifdef __USE_GNU
+  ,
+  ST_NODEV = 4,			/* Disallow access to device special files.  */
+# define ST_NODEV	ST_NODEV
+  ST_NOEXEC = 8,		/* Disallow program execution.  */
+# define ST_NOEXEC	ST_NOEXEC
+  ST_SYNCHRONOUS = 16,		/* Writes are synced at once.  */
+# define ST_SYNCHRONOUS	ST_SYNCHRONOUS
+  ST_MANDLOCK = 64,		/* Allow mandatory locks on an FS.  */
+# define ST_MANDLOCK	ST_MANDLOCK
+  ST_WRITE = 128,		/* Write on file/directory/symlink.  */
+# define ST_WRITE	ST_WRITE
+  ST_APPEND = 256,		/* Append-only file.  */
+# define ST_APPEND	ST_APPEND
+  ST_IMMUTABLE = 512,		/* Immutable file.  */
+# define ST_IMMUTABLE	ST_IMMUTABLE
+  ST_NOATIME = 1024,		/* Do not update access times.  */
+# define ST_NOATIME	ST_NOATIME
+  ST_NODIRATIME = 2048,		/* Do not update directory access times.  */
+# define ST_NODIRATIME	ST_NODIRATIME
+  ST_RELATIME = 4096		/* Update atime relative to mtime/ctime.  */
+# define ST_RELATIME	ST_RELATIME
+#endif	/* Use GNU.  */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sys_errlist.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sys_errlist.h
new file mode 100644
index 0000000000..b4d2c956df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sys_errlist.h
@@ -0,0 +1,32 @@
+/* Declare sys_errlist and sys_nerr, or don't.  Compatibility (do) version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _STDIO_H
+# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
+#endif
+
+/* sys_errlist and sys_nerr are deprecated.  Use strerror instead.  */
+
+#ifdef  __USE_MISC
+extern int sys_nerr;
+extern const char *const sys_errlist[];
+#endif
+#ifdef  __USE_GNU
+extern int _sys_nerr;
+extern const char *const _sys_errlist[];
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/sysctl.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sysctl.h
new file mode 100644
index 0000000000..81447b2f74
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/sysctl.h
@@ -0,0 +1 @@
+/* Empty file.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/termios.h
new file mode 100644
index 0000000000..495fa8b16d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/termios.h
@@ -0,0 +1,219 @@
+/* termios type and macro definitions.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 32
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;			/* line discipline */
+    cc_t c_cc[NCCS];		/* control characters */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
+  };
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IUCLC	0001000
+#define IXON	0002000
+#define IXANY	0004000
+#define IXOFF	0010000
+#define IMAXBEL	0020000
+#define IUTF8	0040000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define OLCUC	0000002
+#define ONLCR	0000004
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+#define OFILL	0000100
+#define OFDEL	0000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0000400
+# define   NL0	0000000
+# define   NL1	0000400
+# define CRDLY	0003000
+# define   CR0	0000000
+# define   CR1	0001000
+# define   CR2	0002000
+# define   CR3	0003000
+# define TABDLY	0014000
+# define   TAB0	0000000
+# define   TAB1	0004000
+# define   TAB2	0010000
+# define   TAB3	0014000
+# define BSDLY	0020000
+# define   BS0	0000000
+# define   BS1	0020000
+# define FFDLY	0100000
+# define   FF0	0000000
+# define   FF1	0100000
+#endif
+
+#define VTDLY	0040000
+#define   VT0	0000000
+#define   VT1	0040000
+
+#ifdef __USE_MISC
+# define XTABS	0014000
+#endif
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0010017
+#endif
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+#endif
+#define CSIZE	0000060
+#define   CS5	0000000
+#define   CS6	0000020
+#define   CS7	0000040
+#define   CS8	0000060
+#define CSTOPB	0000100
+#define CREAD	0000200
+#define PARENB	0000400
+#define PARODD	0001000
+#define HUPCL	0002000
+#define CLOCAL	0004000
+#ifdef __USE_MISC
+# define CBAUDEX 0010000
+#endif
+#define  B57600   0010001
+#define  B115200  0010002
+#define  B230400  0010003
+#define  B460800  0010004
+#define  B500000  0010005
+#define  B576000  0010006
+#define  B921600  0010007
+#define  B1000000 0010010
+#define  B1152000 0010011
+#define  B1500000 0010012
+#define  B2000000 0010013
+#define  B2500000 0010014
+#define  B3000000 0010015
+#define  B3500000 0010016
+#define  B4000000 0010017
+#define __MAX_BAUD B4000000
+#ifdef __USE_MISC
+# define CIBAUD	  002003600000		/* input baud rate (not used) */
+# define CMSPAR   010000000000		/* mark or space (stick) parity */
+# define CRTSCTS  020000000000		/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0000001
+#define ICANON	0000002
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0000004
+#endif
+#define ECHO	0000010
+#define ECHOE	0000020
+#define ECHOK	0000040
+#define ECHONL	0000100
+#define NOFLSH	0000200
+#define TOSTOP	0000400
+#ifdef __USE_MISC
+# define ECHOCTL 0001000
+# define ECHOPRT 0002000
+# define ECHOKE	 0004000
+# define FLUSHO	 0010000
+# define PENDIN	 0040000
+#endif
+#define IEXTEN	0100000
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif
+
+/* tcflow() and TCXONC use these */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* tcflush() and TCFLSH use these */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* tcsetattr uses these */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+
+#define _IOT_termios /* Hurd ioctl type field.  */ \
+  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/time.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/time.h
new file mode 100644
index 0000000000..f00154f7ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/time.h
@@ -0,0 +1,83 @@
+/* System-dependent timing definitions.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/*
+ * Never include this file directly; use <time.h> instead.
+ */
+
+#ifndef _BITS_TIME_H
+#define _BITS_TIME_H	1
+
+#include <bits/types.h>
+
+/* ISO/IEC 9899:1999 7.23.1: Components of time
+   The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
+   the number per second of the value returned by the `clock' function.  */
+/* CAE XSH, Issue 4, Version 2: <time.h>
+   The value of CLOCKS_PER_SEC is required to be 1 million on all
+   XSI-conformant systems. */
+#define CLOCKS_PER_SEC  ((__clock_t) 1000000)
+
+#if (!defined __STRICT_ANSI__ || defined __USE_POSIX) \
+   && !defined __USE_XOPEN2K
+/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
+   presents the real value for clock ticks per second for the system.  */
+extern long int __sysconf (int);
+# define CLK_TCK ((__clock_t) __sysconf (2))	/* 2 is _SC_CLK_TCK */
+#endif
+
+#ifdef __USE_POSIX199309
+/* Identifier for system-wide realtime clock.  */
+# define CLOCK_REALTIME			0
+/* Monotonic system-wide clock.  */
+# define CLOCK_MONOTONIC		1
+/* High-resolution timer from the CPU.  */
+# define CLOCK_PROCESS_CPUTIME_ID	2
+/* Thread-specific CPU-time clock.  */
+# define CLOCK_THREAD_CPUTIME_ID	3
+/* Monotonic system-wide clock, not adjusted for frequency scaling.  */
+# define CLOCK_MONOTONIC_RAW		4
+/* Identifier for system-wide realtime clock, updated only on ticks.  */
+# define CLOCK_REALTIME_COARSE		5
+/* Monotonic system-wide clock, updated only on ticks.  */
+# define CLOCK_MONOTONIC_COARSE		6
+/* Monotonic system-wide clock that includes time spent in suspension.  */
+# define CLOCK_BOOTTIME			7
+/* Like CLOCK_REALTIME but also wakes suspended system.  */
+# define CLOCK_REALTIME_ALARM		8
+/* Like CLOCK_BOOTTIME but also wakes suspended system.  */
+# define CLOCK_BOOTTIME_ALARM		9
+/* Like CLOCK_REALTIME but in International Atomic Time.  */
+# define CLOCK_TAI			11
+
+/* Flag to indicate time is absolute.  */
+# define TIMER_ABSTIME			1
+#endif
+
+#ifdef __USE_GNU
+# include <bits/timex.h>
+
+__BEGIN_DECLS
+
+/* Tune a POSIX clock.  */
+extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW;
+
+__END_DECLS
+#endif /* use GNU */
+
+#endif	/* bits/time.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/timerfd.h
new file mode 100644
index 0000000000..021f9c11fd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/timerfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
+#endif
+
+/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
+enum
+  {
+    TFD_CLOEXEC = 02000000,
+#define TFD_CLOEXEC TFD_CLOEXEC
+    TFD_NONBLOCK = 00004000
+#define TFD_NONBLOCK TFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/timex.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/timex.h
new file mode 100644
index 0000000000..544bc62e54
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/timex.h
@@ -0,0 +1,110 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_BITS_TIMEX_H
+#define	_BITS_TIMEX_H	1
+
+#include <bits/types.h>
+#include <bits/types/struct_timeval.h>
+
+/* These definitions from linux/timex.h as of 3.18.  */
+
+struct timex
+{
+  unsigned int modes;		/* mode selector */
+  __syscall_slong_t offset;	/* time offset (usec) */
+  __syscall_slong_t freq;	/* frequency offset (scaled ppm) */
+  __syscall_slong_t maxerror;	/* maximum error (usec) */
+  __syscall_slong_t esterror;	/* estimated error (usec) */
+  int status;			/* clock command/status */
+  __syscall_slong_t constant;	/* pll time constant */
+  __syscall_slong_t precision;	/* clock precision (usec) (ro) */
+  __syscall_slong_t tolerance;	/* clock frequency tolerance (ppm) (ro) */
+  struct timeval time;		/* (read only, except for ADJ_SETOFFSET) */
+  __syscall_slong_t tick;	/* (modified) usecs between clock ticks */
+  __syscall_slong_t ppsfreq;	/* pps frequency (scaled ppm) (ro) */
+  __syscall_slong_t jitter;	/* pps jitter (us) (ro) */
+  int shift;			/* interval duration (s) (shift) (ro) */
+  __syscall_slong_t stabil;	/* pps stability (scaled ppm) (ro) */
+  __syscall_slong_t jitcnt;	/* jitter limit exceeded (ro) */
+  __syscall_slong_t calcnt;	/* calibration intervals (ro) */
+  __syscall_slong_t errcnt;	/* calibration errors (ro) */
+  __syscall_slong_t stbcnt;	/* stability limit exceeded (ro) */
+
+  int tai;			/* TAI offset (ro) */
+
+  /* ??? */
+  int  :32; int  :32; int  :32; int  :32;
+  int  :32; int  :32; int  :32; int  :32;
+  int  :32; int  :32; int  :32;
+};
+
+/* Mode codes (timex.mode) */
+#define ADJ_OFFSET		0x0001	/* time offset */
+#define ADJ_FREQUENCY		0x0002	/* frequency offset */
+#define ADJ_MAXERROR		0x0004	/* maximum time error */
+#define ADJ_ESTERROR		0x0008	/* estimated time error */
+#define ADJ_STATUS		0x0010	/* clock status */
+#define ADJ_TIMECONST		0x0020	/* pll time constant */
+#define ADJ_TAI			0x0080	/* set TAI offset */
+#define ADJ_SETOFFSET		0x0100	/* add 'time' to current time */
+#define ADJ_MICRO		0x1000	/* select microsecond resolution */
+#define ADJ_NANO		0x2000	/* select nanosecond resolution */
+#define ADJ_TICK		0x4000	/* tick value */
+#define ADJ_OFFSET_SINGLESHOT	0x8001	/* old-fashioned adjtime */
+#define ADJ_OFFSET_SS_READ	0xa001	/* read-only adjtime */
+
+/* xntp 3.4 compatibility names */
+#define MOD_OFFSET	ADJ_OFFSET
+#define MOD_FREQUENCY	ADJ_FREQUENCY
+#define MOD_MAXERROR	ADJ_MAXERROR
+#define MOD_ESTERROR	ADJ_ESTERROR
+#define MOD_STATUS	ADJ_STATUS
+#define MOD_TIMECONST	ADJ_TIMECONST
+#define MOD_CLKB	ADJ_TICK
+#define MOD_CLKA	ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */
+#define MOD_TAI		ADJ_TAI
+#define MOD_MICRO	ADJ_MICRO
+#define MOD_NANO	ADJ_NANO
+
+
+/* Status codes (timex.status) */
+#define STA_PLL		0x0001	/* enable PLL updates (rw) */
+#define STA_PPSFREQ	0x0002	/* enable PPS freq discipline (rw) */
+#define STA_PPSTIME	0x0004	/* enable PPS time discipline (rw) */
+#define STA_FLL		0x0008	/* select frequency-lock mode (rw) */
+
+#define STA_INS		0x0010	/* insert leap (rw) */
+#define STA_DEL		0x0020	/* delete leap (rw) */
+#define STA_UNSYNC	0x0040	/* clock unsynchronized (rw) */
+#define STA_FREQHOLD	0x0080	/* hold frequency (rw) */
+
+#define STA_PPSSIGNAL	0x0100	/* PPS signal present (ro) */
+#define STA_PPSJITTER	0x0200	/* PPS signal jitter exceeded (ro) */
+#define STA_PPSWANDER	0x0400	/* PPS signal wander exceeded (ro) */
+#define STA_PPSERROR	0x0800	/* PPS signal calibration error (ro) */
+
+#define STA_CLOCKERR	0x1000	/* clock hardware fault (ro) */
+#define STA_NANO	0x2000	/* resolution (0 = us, 1 = ns) (ro) */
+#define STA_MODE	0x4000	/* mode (0 = PLL, 1 = FLL) (ro) */
+#define STA_CLK		0x8000	/* clock source (0 = A, 1 = B) (ro) */
+
+/* Read-only bits */
+#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
+    STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
+
+#endif /* bits/timex.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/__sigset_t.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/__sigset_t.h
new file mode 100644
index 0000000000..e2f18acf30
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/__sigset_t.h
@@ -0,0 +1,10 @@
+#ifndef ____sigset_t_defined
+#define ____sigset_t_defined
+
+#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
+typedef struct
+{
+  unsigned long int __val[_SIGSET_NWORDS];
+} __sigset_t;
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/sigevent_t.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
new file mode 100644
index 0000000000..0d4857b16e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
@@ -0,0 +1,48 @@
+#ifndef __sigevent_t_defined
+#define __sigevent_t_defined 1
+
+#include <bits/wordsize.h>
+#include <bits/types.h>
+#include <bits/types/sigval_t.h>
+
+#define __SIGEV_MAX_SIZE	64
+#if __WORDSIZE == 64
+# define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
+#else
+# define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
+#endif
+
+/* Forward declaration.  */
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t	1
+#endif
+
+/* Structure to transport application-defined values with signals.  */
+typedef struct sigevent
+  {
+    sigval_t sigev_value;
+    int sigev_signo;
+    int sigev_notify;
+
+    union
+      {
+	int _pad[__SIGEV_PAD_SIZE];
+
+	/* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
+	   thread to receive the signal.  */
+	__pid_t _tid;
+
+	struct
+	  {
+	    void (*_function) (sigval_t);	/* Function to start.  */
+	    pthread_attr_t *_attribute;		/* Thread attributes.  */
+	  } _sigev_thread;
+      } _sigev_un;
+  } sigevent_t;
+
+/* POSIX names to access some of the members.  */
+#define sigev_notify_function   _sigev_un._sigev_thread._function
+#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
new file mode 100644
index 0000000000..bed69148f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
@@ -0,0 +1,151 @@
+#ifndef __siginfo_t_defined
+#define __siginfo_t_defined 1
+
+#include <bits/wordsize.h>
+#include <bits/types.h>
+#include <bits/types/sigval_t.h>
+
+#define __SI_MAX_SIZE	128
+#if __WORDSIZE == 64
+# define __SI_PAD_SIZE	((__SI_MAX_SIZE / sizeof (int)) - 4)
+#else
+# define __SI_PAD_SIZE	((__SI_MAX_SIZE / sizeof (int)) - 3)
+#endif
+
+/* Some fields of siginfo_t have architecture-specific variations.  */
+#include <bits/siginfo-arch.h>
+#ifndef __SI_ALIGNMENT
+# define __SI_ALIGNMENT		/* nothing */
+#endif
+#ifndef __SI_BAND_TYPE
+# define __SI_BAND_TYPE		long int
+#endif
+#ifndef __SI_CLOCK_T
+# define __SI_CLOCK_T		__clock_t
+#endif
+#ifndef __SI_ERRNO_THEN_CODE
+# define __SI_ERRNO_THEN_CODE	1
+#endif
+#ifndef __SI_HAVE_SIGSYS
+# define __SI_HAVE_SIGSYS	1
+#endif
+#ifndef __SI_SIGFAULT_ADDL
+# define __SI_SIGFAULT_ADDL	/* nothing */
+#endif
+
+typedef struct
+  {
+    int si_signo;		/* Signal number.  */
+#if __SI_ERRNO_THEN_CODE
+    int si_errno;		/* If non-zero, an errno value associated with
+				   this signal, as defined in <errno.h>.  */
+    int si_code;		/* Signal code.  */
+#else
+    int si_code;
+    int si_errno;
+#endif
+#if __WORDSIZE == 64
+    int __pad0;			/* Explicit padding.  */
+#endif
+
+    union
+      {
+	int _pad[__SI_PAD_SIZE];
+
+	 /* kill().  */
+	struct
+	  {
+	    __pid_t si_pid;	/* Sending process ID.  */
+	    __uid_t si_uid;	/* Real user ID of sending process.  */
+	  } _kill;
+
+	/* POSIX.1b timers.  */
+	struct
+	  {
+	    int si_tid;		/* Timer ID.  */
+	    int si_overrun;	/* Overrun count.  */
+	    sigval_t si_sigval;	/* Signal value.  */
+	  } _timer;
+
+	/* POSIX.1b signals.  */
+	struct
+	  {
+	    __pid_t si_pid;	/* Sending process ID.  */
+	    __uid_t si_uid;	/* Real user ID of sending process.  */
+	    sigval_t si_sigval;	/* Signal value.  */
+	  } _rt;
+
+	/* SIGCHLD.  */
+	struct
+	  {
+	    __pid_t si_pid;	/* Which child.	 */
+	    __uid_t si_uid;	/* Real user ID of sending process.  */
+	    int si_status;	/* Exit value or signal.  */
+	    __SI_CLOCK_T si_utime;
+	    __SI_CLOCK_T si_stime;
+	  } _sigchld;
+
+	/* SIGILL, SIGFPE, SIGSEGV, SIGBUS.  */
+	struct
+	  {
+	    void *si_addr;	    /* Faulting insn/memory ref.  */
+	    __SI_SIGFAULT_ADDL
+	    short int si_addr_lsb;  /* Valid LSB of the reported address.  */
+	    union
+	      {
+		/* used when si_code=SEGV_BNDERR */
+		struct
+		  {
+		    void *_lower;
+		    void *_upper;
+		  } _addr_bnd;
+		/* used when si_code=SEGV_PKUERR */
+		__uint32_t _pkey;
+	      } _bounds;
+	  } _sigfault;
+
+	/* SIGPOLL.  */
+	struct
+	  {
+	    long int si_band;	/* Band event for SIGPOLL.  */
+	    int si_fd;
+	  } _sigpoll;
+
+	/* SIGSYS.  */
+#if __SI_HAVE_SIGSYS
+	struct
+	  {
+	    void *_call_addr;	/* Calling user insn.  */
+	    int _syscall;	/* Triggering system call number.  */
+	    unsigned int _arch; /* AUDIT_ARCH_* of syscall.  */
+	  } _sigsys;
+#endif
+      } _sifields;
+  } siginfo_t __SI_ALIGNMENT;
+
+
+/* X/Open requires some more fields with fixed names.  */
+#define si_pid		_sifields._kill.si_pid
+#define si_uid		_sifields._kill.si_uid
+#define si_timerid	_sifields._timer.si_tid
+#define si_overrun	_sifields._timer.si_overrun
+#define si_status	_sifields._sigchld.si_status
+#define si_utime	_sifields._sigchld.si_utime
+#define si_stime	_sifields._sigchld.si_stime
+#define si_value	_sifields._rt.si_sigval
+#define si_int		_sifields._rt.si_sigval.sival_int
+#define si_ptr		_sifields._rt.si_sigval.sival_ptr
+#define si_addr		_sifields._sigfault.si_addr
+#define si_addr_lsb	_sifields._sigfault.si_addr_lsb
+#define si_lower	_sifields._sigfault._bounds._addr_bnd._lower
+#define si_upper	_sifields._sigfault._bounds._addr_bnd._upper
+#define si_pkey		_sifields._sigfault._bounds._pkey
+#define si_band		_sifields._sigpoll.si_band
+#define si_fd		_sifields._sigpoll.si_fd
+#if __SI_HAVE_SIGSYS
+# define si_call_addr	_sifields._sigsys._call_addr
+# define si_syscall	_sifields._sigsys._syscall
+# define si_arch	_sifields._sigsys._arch
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/stack_t.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/stack_t.h
new file mode 100644
index 0000000000..373c227930
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/types/stack_t.h
@@ -0,0 +1,33 @@
+/* Define stack_t.  Linux version.
+   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 __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Structure describing a signal stack.  */
+typedef struct
+  {
+    void *ss_sp;
+    int ss_flags;
+    size_t ss_size;
+  } stack_t;
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/uio.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/uio.h
new file mode 100644
index 0000000000..d5701f8171
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/uio.h
@@ -0,0 +1,78 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_UIO_H && !defined _FCNTL_H
+# error "Never include <bits/uio.h> directly; use <sys/uio.h> instead."
+#endif
+
+#ifndef _BITS_UIO_H
+#define _BITS_UIO_H	1
+
+#include <sys/types.h>
+
+
+/* We should normally use the Linux kernel header file to define this
+   type and macros but this calls for trouble because of the header
+   includes other kernel headers.  */
+
+/* Size of object which can be written atomically.
+
+   This macro has different values in different kernel versions.  The
+   latest versions of the kernel use 1024 and this is good choice.  Since
+   the C library implementation of readv/writev is able to emulate the
+   functionality even if the currently running kernel does not support
+   this large value the readv/writev call will not fail because of this.  */
+#define UIO_MAXIOV	1024
+
+
+#include <bits/types/struct_iovec.h>
+
+#endif
+
+
+#ifdef __USE_GNU
+# if defined _SYS_UIO_H && !defined _BITS_UIO_H_FOR_SYS_UIO_H
+#  define _BITS_UIO_H_FOR_SYS_UIO_H 1
+
+__BEGIN_DECLS
+
+/* Read from another process' address space.  */
+extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec,
+				 unsigned long int __liovcnt,
+				 const struct iovec *__rvec,
+				 unsigned long int __riovcnt,
+				 unsigned long int __flags)
+  __THROW;
+
+/* Write to another process' address space.  */
+extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
+				  unsigned long int __liovcnt,
+				  const struct iovec *__rvec,
+				  unsigned long int __riovcnt,
+				  unsigned long int __flags)
+  __THROW;
+
+__END_DECLS
+
+# endif
+
+/* Flags for preadv2/pwritev2: */
+#define RWF_HIPRI	0x00000001 /* High priority request.  */
+#define RWF_DSYNC	0x00000002 /* per-IO O_DSYNC.  */
+#define RWF_SYNC	0x00000004 /* per-IO O_SYNC.  */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/utsname.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/utsname.h
new file mode 100644
index 0000000000..ed99a4c62b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/utsname.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_UTSNAME_H
+# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."
+#endif
+
+/* Length of the entries in `struct utsname' is 65.  */
+#define _UTSNAME_LENGTH 65
+
+/* Linux provides as additional information in the `struct utsname'
+   the name of the current domain.  Define _UTSNAME_DOMAIN_LENGTH
+   to a value != 0 to activate this entry.  */
+#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/bits/waitflags.h b/REORG.TODO/sysdeps/unix/sysv/linux/bits/waitflags.h
new file mode 100644
index 0000000000..7dcb7b2f34
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/bits/waitflags.h
@@ -0,0 +1,37 @@
+/* Definitions of flag bits for `waitpid' et al.
+   Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_WAIT_H && !defined _STDLIB_H
+# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
+#endif
+
+
+/* Bits in the third argument to `waitpid'.  */
+#define	WNOHANG		1	/* Don't block waiting.  */
+#define	WUNTRACED	2	/* Report status of stopped children.  */
+
+/* Bits in the fourth argument to `waitid'.  */
+#define WSTOPPED	2	/* Report stopped child (same as WUNTRACED). */
+#define WEXITED		4	/* Report dead child.  */
+#define WCONTINUED	8	/* Report continued child.  */
+#define WNOWAIT		0x01000000 /* Don't reap, just poll status.  */
+
+#define __WNOTHREAD     0x20000000 /* Don't wait on children of other threads
+				      in this group */
+#define __WALL		0x40000000 /* Wait for any child.  */
+#define __WCLONE	0x80000000 /* Wait for cloned process.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/check_native.c b/REORG.TODO/sysdeps/unix/sysv/linux/check_native.c
new file mode 100644
index 0000000000..7e5a7c9be3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/check_native.c
@@ -0,0 +1,177 @@
+/* Determine whether interfaces use native transport.  Linux version.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <ifaddrs.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <sys/ioctl.h>
+
+#include <asm/types.h>
+#include <linux/netlink.h>
+#include <linux/rtnetlink.h>
+
+#include <not-cancel.h>
+
+#include "netlinkaccess.h"
+
+void
+__check_native (uint32_t a1_index, int *a1_native,
+		uint32_t a2_index, int *a2_native)
+{
+  int fd = __socket (PF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE);
+
+  struct sockaddr_nl nladdr;
+  memset (&nladdr, '\0', sizeof (nladdr));
+  nladdr.nl_family = AF_NETLINK;
+
+  socklen_t addr_len = sizeof (nladdr);
+
+  if (fd < 0
+      || __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) != 0
+      || __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) != 0)
+    return;
+
+  pid_t pid = nladdr.nl_pid;
+  struct req
+  {
+    struct nlmsghdr nlh;
+    struct rtgenmsg g;
+    /* struct rtgenmsg consists of a single byte.  This means there
+       are three bytes of padding included in the REQ definition.
+       We make them explicit here.  */
+    char pad[3];
+  } req;
+
+  req.nlh.nlmsg_len = sizeof (req);
+  req.nlh.nlmsg_type = RTM_GETLINK;
+  req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
+  req.nlh.nlmsg_pid = 0;
+  req.nlh.nlmsg_seq = time (NULL);
+  req.g.rtgen_family = AF_UNSPEC;
+
+  assert (sizeof (req) - offsetof (struct req, pad) == 3);
+  memset (req.pad, '\0', sizeof (req.pad));
+
+  memset (&nladdr, '\0', sizeof (nladdr));
+  nladdr.nl_family = AF_NETLINK;
+
+#ifdef PAGE_SIZE
+  /* Help the compiler optimize out the malloc call if PAGE_SIZE
+     is constant and smaller or equal to PTHREAD_STACK_MIN/4.  */
+  const size_t buf_size = PAGE_SIZE;
+#else
+  const size_t buf_size = __getpagesize ();
+#endif
+  bool use_malloc = false;
+  char *buf;
+
+  if (__libc_use_alloca (buf_size))
+    buf = alloca (buf_size);
+  else
+    {
+      buf = malloc (buf_size);
+      if (buf != NULL)
+	use_malloc = true;
+      else
+	goto out_fail;
+    }
+
+  struct iovec iov = { buf, buf_size };
+
+  if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0,
+				    (struct sockaddr *) &nladdr,
+				    sizeof (nladdr))) < 0)
+    goto out_fail;
+
+  bool done = false;
+  do
+    {
+      struct msghdr msg =
+	{
+	  .msg_name = (void *) &nladdr,
+	  .msg_namelen =  sizeof (nladdr),
+	  .msg_iov = &iov,
+	  .msg_iovlen = 1,
+	  .msg_control = NULL,
+	  .msg_controllen = 0,
+	  .msg_flags = 0
+	};
+
+      ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0));
+      __netlink_assert_response (fd, read_len);
+      if (read_len < 0)
+	goto out_fail;
+
+      if (msg.msg_flags & MSG_TRUNC)
+	goto out_fail;
+
+      struct nlmsghdr *nlmh;
+      for (nlmh = (struct nlmsghdr *) buf;
+	   NLMSG_OK (nlmh, (size_t) read_len);
+	   nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len))
+	{
+	  if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid
+	      || nlmh->nlmsg_seq != req.nlh.nlmsg_seq)
+	    continue;
+
+	  if (nlmh->nlmsg_type == RTM_NEWLINK)
+	    {
+	      struct ifinfomsg *ifim = (struct ifinfomsg *) NLMSG_DATA (nlmh);
+	      int native = (ifim->ifi_type != ARPHRD_TUNNEL6
+			    && ifim->ifi_type != ARPHRD_TUNNEL
+			    && ifim->ifi_type != ARPHRD_SIT);
+
+	      if (a1_index == ifim->ifi_index)
+		{
+		  *a1_native = native;
+		  a1_index = 0xffffffffu;
+		}
+	      if (a2_index == ifim->ifi_index)
+		{
+		  *a2_native = native;
+		  a2_index = 0xffffffffu;
+		}
+
+	      if (a1_index == 0xffffffffu
+		  && a2_index == 0xffffffffu)
+		goto out;
+	    }
+	  else if (nlmh->nlmsg_type == NLMSG_DONE)
+	    /* We found the end, leave the loop.  */
+	    done = true;
+	}
+    }
+  while (! done);
+
+ out:
+  close_not_cancel_no_status (fd);
+
+  return;
+
+out_fail:
+  if (use_malloc)
+    free (buf);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/check_pf.c b/REORG.TODO/sysdeps/unix/sysv/linux/check_pf.c
new file mode 100644
index 0000000000..3bf221a177
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/check_pf.c
@@ -0,0 +1,391 @@
+/* Determine protocol families for which interfaces exist.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <ifaddrs.h>
+#include <netdb.h>
+#include <stddef.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <sys/socket.h>
+
+#include <asm/types.h>
+#include <linux/netlink.h>
+#include <linux/rtnetlink.h>
+
+#include <not-cancel.h>
+#include <libc-lock.h>
+#include <atomic.h>
+#include <nscd/nscd-client.h>
+
+#include "netlinkaccess.h"
+
+#ifndef IFA_F_HOMEADDRESS
+# define IFA_F_HOMEADDRESS 0
+#endif
+#ifndef IFA_F_OPTIMISTIC
+# define IFA_F_OPTIMISTIC 0
+#endif
+
+
+struct cached_data
+{
+  uint32_t timestamp;
+  uint32_t usecnt;
+  bool seen_ipv4;
+  bool seen_ipv6;
+  size_t in6ailen;
+  struct in6addrinfo in6ai[0];
+};
+
+static struct cached_data noai6ai_cached =
+  {
+    .usecnt = 1,	/* Make sure we never try to delete this entry.  */
+    .in6ailen = 0
+  };
+
+static struct cached_data *cache;
+__libc_lock_define_initialized (static, lock);
+
+
+#if IS_IN (nscd)
+static uint32_t nl_timestamp;
+
+uint32_t
+__bump_nl_timestamp (void)
+{
+  if (atomic_increment_val (&nl_timestamp) == 0)
+    atomic_increment (&nl_timestamp);
+
+  return nl_timestamp;
+}
+#endif
+
+static inline uint32_t
+get_nl_timestamp (void)
+{
+#if IS_IN (nscd)
+  return nl_timestamp;
+#elif defined USE_NSCD
+  return __nscd_get_nl_timestamp ();
+#else
+  return 0;
+#endif
+}
+
+static inline bool
+cache_valid_p (void)
+{
+  if (cache != NULL)
+    {
+      uint32_t timestamp = get_nl_timestamp ();
+      return timestamp != 0 && cache->timestamp == timestamp;
+    }
+  return false;
+}
+
+
+static struct cached_data *
+make_request (int fd, pid_t pid)
+{
+  struct cached_data *result = NULL;
+
+  size_t result_len = 0;
+  size_t result_cap = 32;
+
+  struct req
+  {
+    struct nlmsghdr nlh;
+    struct rtgenmsg g;
+    /* struct rtgenmsg consists of a single byte.  This means there
+       are three bytes of padding included in the REQ definition.
+       We make them explicit here.  */
+    char pad[3];
+  } req;
+  struct sockaddr_nl nladdr;
+
+  req.nlh.nlmsg_len = sizeof (req);
+  req.nlh.nlmsg_type = RTM_GETADDR;
+  req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
+  req.nlh.nlmsg_pid = 0;
+  req.nlh.nlmsg_seq = time (NULL);
+  req.g.rtgen_family = AF_UNSPEC;
+
+  assert (sizeof (req) - offsetof (struct req, pad) == 3);
+  memset (req.pad, '\0', sizeof (req.pad));
+
+  memset (&nladdr, '\0', sizeof (nladdr));
+  nladdr.nl_family = AF_NETLINK;
+
+#ifdef PAGE_SIZE
+  const size_t buf_size = PAGE_SIZE;
+#else
+  const size_t buf_size = 4096;
+#endif
+  char buf[buf_size];
+
+  struct iovec iov = { buf, buf_size };
+
+  if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0,
+				    (struct sockaddr *) &nladdr,
+				    sizeof (nladdr))) < 0)
+    goto out_fail;
+
+  bool done = false;
+
+  bool seen_ipv4 = false;
+  bool seen_ipv6 = false;
+
+  do
+    {
+      struct msghdr msg =
+	{
+	  .msg_name = (void *) &nladdr,
+	  .msg_namelen =  sizeof (nladdr),
+	  .msg_iov = &iov,
+	  .msg_iovlen = 1,
+	  .msg_control = NULL,
+	  .msg_controllen = 0,
+	  .msg_flags = 0
+	};
+
+      ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0));
+      __netlink_assert_response (fd, read_len);
+      if (read_len < 0)
+	goto out_fail;
+
+      if (msg.msg_flags & MSG_TRUNC)
+	goto out_fail;
+
+      struct nlmsghdr *nlmh;
+      for (nlmh = (struct nlmsghdr *) buf;
+	   NLMSG_OK (nlmh, (size_t) read_len);
+	   nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len))
+	{
+	  if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid
+	      || nlmh->nlmsg_seq != req.nlh.nlmsg_seq)
+	    continue;
+
+	  if (nlmh->nlmsg_type == RTM_NEWADDR)
+	    {
+	      struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlmh);
+	      struct rtattr *rta = IFA_RTA (ifam);
+	      size_t len = nlmh->nlmsg_len - NLMSG_LENGTH (sizeof (*ifam));
+
+	      if (ifam->ifa_family != AF_INET
+		  && ifam->ifa_family != AF_INET6)
+		continue;
+
+	      const void *local = NULL;
+	      const void *address = NULL;
+	      while (RTA_OK (rta, len))
+		{
+		  switch (rta->rta_type)
+		    {
+		    case IFA_LOCAL:
+		      local = RTA_DATA (rta);
+		      break;
+
+		    case IFA_ADDRESS:
+		      address = RTA_DATA (rta);
+		      goto out;
+		    }
+
+		  rta = RTA_NEXT (rta, len);
+		}
+
+	      if (local != NULL)
+		{
+		  address = local;
+		out:
+		  if (ifam->ifa_family == AF_INET)
+		    {
+		      if (*(const in_addr_t *) address
+			  != htonl (INADDR_LOOPBACK))
+			seen_ipv4 = true;
+		    }
+		  else
+		    {
+		      if (!IN6_IS_ADDR_LOOPBACK (address))
+			seen_ipv6 = true;
+		    }
+		}
+
+	      if (result_len == 0 || result_len == result_cap)
+		{
+		  result_cap = 2 * result_cap;
+		  result = realloc (result, sizeof (*result)
+				    + result_cap
+				      * sizeof (struct in6addrinfo));
+		}
+
+	      if (!result)
+		goto out_fail;
+
+	      struct in6addrinfo *info = &result->in6ai[result_len++];
+
+	      info->flags = (((ifam->ifa_flags
+			       & (IFA_F_DEPRECATED | IFA_F_OPTIMISTIC))
+			      ? in6ai_deprecated : 0)
+			     | ((ifam->ifa_flags & IFA_F_HOMEADDRESS)
+			         ? in6ai_homeaddress : 0));
+	      info->prefixlen = ifam->ifa_prefixlen;
+	      info->index = ifam->ifa_index;
+	      if (ifam->ifa_family == AF_INET)
+		{
+		  info->addr[0] = 0;
+		  info->addr[1] = 0;
+		  info->addr[2] = htonl (0xffff);
+		  info->addr[3] = *(const in_addr_t *) address;
+		}
+	      else
+		memcpy (info->addr, address, sizeof (info->addr));
+	    }
+	  else if (nlmh->nlmsg_type == NLMSG_DONE)
+	    /* We found the end, leave the loop.  */
+	    done = true;
+	}
+    }
+  while (! done);
+
+  if (seen_ipv6 && result != NULL)
+    {
+      result->timestamp = get_nl_timestamp ();
+      result->usecnt = 2;
+      result->seen_ipv4 = seen_ipv4;
+      result->seen_ipv6 = true;
+      result->in6ailen = result_len;
+    }
+  else
+    {
+      free (result);
+
+      atomic_add (&noai6ai_cached.usecnt, 2);
+      noai6ai_cached.seen_ipv4 = seen_ipv4;
+      noai6ai_cached.seen_ipv6 = seen_ipv6;
+      result = &noai6ai_cached;
+    }
+
+  return result;
+
+ out_fail:
+
+  free (result);
+  return NULL;
+}
+
+
+void
+attribute_hidden
+__check_pf (bool *seen_ipv4, bool *seen_ipv6,
+	    struct in6addrinfo **in6ai, size_t *in6ailen)
+{
+  *in6ai = NULL;
+  *in6ailen = 0;
+
+  struct cached_data *olddata = NULL;
+  struct cached_data *data = NULL;
+
+  __libc_lock_lock (lock);
+
+  if (cache_valid_p ())
+    {
+      data = cache;
+      atomic_increment (&cache->usecnt);
+    }
+  else
+    {
+      int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+
+      if (__glibc_likely (fd >= 0))
+	{
+	  struct sockaddr_nl nladdr;
+	  memset (&nladdr, '\0', sizeof (nladdr));
+	  nladdr.nl_family = AF_NETLINK;
+
+	  socklen_t addr_len = sizeof (nladdr);
+
+	  if (__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
+	      && __getsockname (fd, (struct sockaddr *) &nladdr,
+				&addr_len) == 0)
+	    data = make_request (fd, nladdr.nl_pid);
+
+	  close_not_cancel_no_status (fd);
+	}
+
+      if (data != NULL)
+	{
+	  olddata = cache;
+	  cache = data;
+	}
+    }
+
+  __libc_lock_unlock (lock);
+
+  if (data != NULL)
+    {
+      /* It worked.  */
+      *seen_ipv4 = data->seen_ipv4;
+      *seen_ipv6 = data->seen_ipv6;
+      *in6ailen = data->in6ailen;
+      *in6ai = data->in6ai;
+
+      if (olddata != NULL && olddata->usecnt > 0
+	  && atomic_add_zero (&olddata->usecnt, -1))
+	free (olddata);
+
+      return;
+    }
+
+  /* We cannot determine what interfaces are available.  Be
+     pessimistic.  */
+  *seen_ipv4 = true;
+  *seen_ipv6 = true;
+}
+
+/* Free the cache if it has been allocated.  */
+libc_freeres_fn (freecache)
+{
+  if (cache)
+    __free_in6ai (cache->in6ai);
+}
+
+void
+__free_in6ai (struct in6addrinfo *ai)
+{
+  if (ai != NULL)
+    {
+      struct cached_data *data =
+	(struct cached_data *) ((char *) ai
+				- offsetof (struct cached_data, in6ai));
+
+      if (atomic_add_zero (&data->usecnt, -1))
+	{
+	  __libc_lock_lock (lock);
+
+	  if (data->usecnt == 0)
+	    /* Still unused.  */
+	    free (data);
+
+	  __libc_lock_unlock (lock);
+	}
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock.c
new file mode 100644
index 0000000000..a0056e4da7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock.c
@@ -0,0 +1,39 @@
+/* Return the time used by the program so far (user time + system time).
+   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 <sys/times.h>
+#include <time.h>
+#include <unistd.h>
+
+clock_t
+clock (void)
+{
+  struct timespec ts;
+
+  _Static_assert (CLOCKS_PER_SEC == 1000000,
+		  "CLOCKS_PER_SEC should be 1000000");
+
+  /* clock_gettime shouldn't fail here since CLOCK_PROCESS_CPUTIME_ID is
+     supported since 2.6.12.  Check the return value anyway in case the kernel
+     barfs on us for some reason.  */
+  if (__glibc_unlikely (__clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts) != 0))
+    return (clock_t) -1;
+
+  return (ts.tv_sec * CLOCKS_PER_SEC
+	  + ts.tv_nsec / (1000000000 / CLOCKS_PER_SEC));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock_getcpuclockid.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
new file mode 100644
index 0000000000..4b1f3b67b0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
@@ -0,0 +1,48 @@
+/* clock_getcpuclockid -- Get a clockid_t for process CPU time.  Linux version.
+   Copyright (C) 2004-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 <time.h>
+#include <unistd.h>
+#include "kernel-posix-cpu-timers.h"
+
+int
+__clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
+{
+  /* The clockid_t value is a simple computation from the PID.
+     But we do a clock_getres call to validate it.  */
+
+  const clockid_t pidclock = MAKE_PROCESS_CPUCLOCK (pid, CPUCLOCK_SCHED);
+
+  INTERNAL_SYSCALL_DECL (err);
+  int r = INTERNAL_SYSCALL (clock_getres, err, 2, pidclock, NULL);
+  if (!INTERNAL_SYSCALL_ERROR_P (r, err))
+    {
+      *clock_id = pidclock;
+      return 0;
+    }
+
+  if (INTERNAL_SYSCALL_ERRNO (r, err) == EINVAL)
+    {
+      /* The clock_getres system call checked the PID for us.  */
+      return ESRCH;
+    }
+  else
+    return INTERNAL_SYSCALL_ERRNO (r, err);
+}
+weak_alias (__clock_getcpuclockid, clock_getcpuclockid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock_getres.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock_getres.c
new file mode 100644
index 0000000000..2b7bb65e55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock_getres.c
@@ -0,0 +1,51 @@
+/* clock_getres -- Get the resolution of a POSIX clockid_t.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+#include <time.h>
+#include "kernel-posix-cpu-timers.h"
+
+#ifdef HAVE_CLOCK_GETRES_VSYSCALL
+# define HAVE_VSYSCALL
+#endif
+#include <sysdep-vdso.h>
+
+#define SYSCALL_GETRES \
+  retval = INLINE_VSYSCALL (clock_getres, 2, clock_id, res); \
+  break
+
+/* The REALTIME and MONOTONIC clock are definitely supported in the
+   kernel.  */
+#define SYSDEP_GETRES							      \
+  SYSDEP_GETRES_CPUTIME							      \
+  case CLOCK_REALTIME:							      \
+  case CLOCK_MONOTONIC:							      \
+  case CLOCK_MONOTONIC_RAW:						      \
+  case CLOCK_REALTIME_COARSE:						      \
+  case CLOCK_MONOTONIC_COARSE:						      \
+    SYSCALL_GETRES
+
+/* We handled the REALTIME clock here.  */
+#define HANDLED_REALTIME	1
+#define HANDLED_CPUTIME		1
+
+#define SYSDEP_GETRES_CPU SYSCALL_GETRES
+#define SYSDEP_GETRES_CPUTIME	/* Default catches them too.  */
+
+#include <sysdeps/posix/clock_getres.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock_gettime.c
new file mode 100644
index 0000000000..e232f69a4f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock_gettime.c
@@ -0,0 +1,47 @@
+/* clock_gettime -- Get current time from a POSIX clockid_t.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+#include <time.h>
+#include "kernel-posix-cpu-timers.h"
+
+#ifdef HAVE_CLOCK_GETTIME_VSYSCALL
+# define HAVE_VSYSCALL
+#endif
+#include <sysdep-vdso.h>
+
+/* The REALTIME and MONOTONIC clock are definitely supported in the
+   kernel.  */
+#define SYSDEP_GETTIME \
+  SYSDEP_GETTIME_CPUTIME;						      \
+  case CLOCK_REALTIME:							      \
+  case CLOCK_MONOTONIC:							      \
+    retval = INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp);		      \
+    break
+
+/* We handled the REALTIME clock here.  */
+#define HANDLED_REALTIME	1
+#define HANDLED_CPUTIME	1
+
+#define SYSDEP_GETTIME_CPU(clock_id, tp) \
+  retval = INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp); \
+  break
+#define SYSDEP_GETTIME_CPUTIME	/* Default catches them too.  */
+
+#include <sysdeps/unix/clock_gettime.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock_nanosleep.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock_nanosleep.c
new file mode 100644
index 0000000000..93bc4cf47e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock_nanosleep.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+#include <errno.h>
+
+#include <sysdep-cancel.h>
+#include "kernel-posix-cpu-timers.h"
+
+
+/* We can simply use the syscall.  The CPU clocks are not supported
+   with this function.  */
+int
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
+		   struct timespec *rem)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int r;
+
+  if (clock_id == CLOCK_THREAD_CPUTIME_ID)
+    return EINVAL;
+  if (clock_id == CLOCK_PROCESS_CPUTIME_ID)
+    clock_id = MAKE_PROCESS_CPUCLOCK (0, CPUCLOCK_SCHED);
+
+  if (SINGLE_THREAD_P)
+    r = INTERNAL_SYSCALL (clock_nanosleep, err, 4, clock_id, flags, req, rem);
+  else
+    {
+      int oldstate = LIBC_CANCEL_ASYNC ();
+
+      r = INTERNAL_SYSCALL (clock_nanosleep, err, 4, clock_id, flags, req,
+			    rem);
+
+      LIBC_CANCEL_RESET (oldstate);
+    }
+
+  return (INTERNAL_SYSCALL_ERROR_P (r, err)
+	  ? INTERNAL_SYSCALL_ERRNO (r, err) : 0);
+}
+weak_alias (__clock_nanosleep, clock_nanosleep)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/clock_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/clock_settime.c
new file mode 100644
index 0000000000..058c518e5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/clock_settime.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <time.h>
+
+#include "kernel-posix-cpu-timers.h"
+
+
+/* The REALTIME clock is definitely supported in the kernel.  */
+#define SYSDEP_SETTIME \
+  case CLOCK_REALTIME:							      \
+    retval = INLINE_SYSCALL (clock_settime, 2, clock_id, tp);		      \
+    break
+
+/* We handled the REALTIME clock here.  */
+#define HANDLED_REALTIME	1
+
+#define HANDLED_CPUTIME 1
+#define SYSDEP_SETTIME_CPU \
+  retval = INLINE_SYSCALL (clock_settime, 2, clock_id, tp)
+
+#include <sysdeps/unix/clock_settime.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/close.c b/REORG.TODO/sysdeps/unix/sysv/linux/close.c
new file mode 100644
index 0000000000..1ac71ce980
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/close.c
@@ -0,0 +1,30 @@
+/* Linux close syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Close the file descriptor FD.  */
+int
+__close (int fd)
+{
+  return SYSCALL_CANCEL (close, fd);
+}
+libc_hidden_def (__close)
+strong_alias (__close, __libc_close)
+weak_alias (__close, close)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/REORG.TODO/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
new file mode 100644
index 0000000000..797be3ab68
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
@@ -0,0 +1,39 @@
+/* Return point to next ancillary data entry in message header.
+   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 <stddef.h>
+#include <sys/socket.h>
+
+
+struct cmsghdr *
+__cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg)
+{
+  if ((size_t) cmsg->cmsg_len < sizeof (struct cmsghdr))
+    /* The kernel header does this so there may be a reason.  */
+    return NULL;
+
+  cmsg = (struct cmsghdr *) ((unsigned char *) cmsg
+			     + CMSG_ALIGN (cmsg->cmsg_len));
+  if ((unsigned char *) (cmsg + 1) > ((unsigned char *) mhdr->msg_control
+				      + mhdr->msg_controllen)
+      || ((unsigned char *) cmsg + CMSG_ALIGN (cmsg->cmsg_len)
+	  > ((unsigned char *) mhdr->msg_control + mhdr->msg_controllen)))
+    /* No more entries.  */
+    return NULL;
+  return cmsg;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/configure b/REORG.TODO/sysdeps/unix/sysv/linux/configure
new file mode 100644
index 0000000000..cace758c01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/configure
@@ -0,0 +1,166 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux.
+
+if test -n "$sysheaders"; then
+  OLD_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking installed Linux kernel header files" >&5
+$as_echo_n "checking installed Linux kernel header files... " >&6; }
+if ${libc_cv_linux320+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <linux/version.h>
+#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE <  (3 *65536+ 2 *256+ 0) /* 3.2.0 */
+# error kernel headers missing or too old
+#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_cv_linux320='3.2.0 or later'
+else
+  libc_cv_linux320='missing or too old!'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_linux320" >&5
+$as_echo "$libc_cv_linux320" >&6; }
+if test "$libc_cv_linux320" != '3.2.0 or later'; then
+  as_fn_error $? "GNU libc requires kernel header files from
+Linux 3.2.0 or later to be installed before configuring.
+The kernel header files are found usually in /usr/include/asm and
+/usr/include/linux; make sure these directories use files from
+Linux 3.2.0 or later.  This check uses <linux/version.h>, so
+make sure that file was built correctly when installing the kernel header
+files.  To use kernel headers not from /usr/include/linux, use the
+configure option --with-headers." "$LINENO" 5
+fi
+
+# If the user gave a minimal version number test whether the available
+# kernel headers are young enough.  Additionally we have minimal
+# kernel versions for some architectures.  If a previous configure fragment
+# set arch_minimum_kernel already, let that override our defaults here.
+# Note that we presume such a fragment has set libc_cv_gcc_unwind_find_fde
+# if appropriate too.
+test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.2.0
+if test -n "$minimum_kernel"; then
+
+  user_version=$((`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  arch_version=$((`echo "$arch_minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+
+  if test $user_version -lt $arch_version; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&5
+$as_echo "$as_me: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&2;}
+    minimum_kernel=$arch_minimum_kernel
+  fi
+else
+  minimum_kernel=$arch_minimum_kernel
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
+$as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
+decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
+abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < $decnum
+# error kernel headers too old
+#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_minimum_kernel=ok
+else
+  libc_minimum_kernel='too old!'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_minimum_kernel" >&5
+$as_echo "$libc_minimum_kernel" >&6; }
+if test "$libc_minimum_kernel" = ok; then
+  cat >>confdefs.h <<_ACEOF
+#define __LINUX_KERNEL_VERSION $decnum
+_ACEOF
+
+  cat >>confdefs.h <<_ACEOF
+#define __ABI_TAG_VERSION $abinum
+_ACEOF
+
+else
+  as_fn_error $? "*** The available kernel headers are older than the requested
+*** compatible kernel version" "$LINENO" 5
+fi
+
+if test -n "$sysheaders"; then
+  CPPFLAGS=$OLD_CPPFLAGS
+fi
+
+if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** On GNU/Linux systems the GNU C Library should not be installed into
+*** /usr/local since this might make your system totally unusable.
+*** We strongly advise to use a different prefix.  For details read the FAQ.
+*** If you really mean to do this, run configure again using the extra
+*** parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "\
+*** WARNING: Do you really want to install the GNU C Library into /usr/local?
+*** This might make your system totally unusable, for details read the FAQ."
+  fi
+fi
+
+
+# One Linux we use ldconfig.
+use_ldconfig=yes
+
+if test $host = $build; then
+  # If $prefix/include/{net,scsi} are symlinks, make install will
+  # clobber what they're linked to (probably a kernel tree).
+  # test -L ought to work on all Linux boxes.
+  if test "x$prefix" != xNONE; then
+    ac_prefix=$prefix
+  else
+    ac_prefix=$ac_default_prefix
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlinks in ${ac_prefix}/include" >&5
+$as_echo_n "checking for symlinks in ${ac_prefix}/include... " >&6; }
+  ac_message=
+  if test -L ${ac_prefix}/include/net; then
+    ac_message="$ac_message
+   ${ac_prefix}/include/net is a symlink"
+  fi
+  if test -L ${ac_prefix}/include/scsi; then
+    ac_message="$ac_message
+   ${ac_prefix}/include/scsi is a symlink"
+  fi
+  if test -n "$ac_message"; then
+    as_fn_error $? "$ac_message
+\`make install' will destroy the target of the link(s).
+Delete the links and re-run configure, or better still, move the entire
+${ac_prefix}/include directory out of the way." "$LINENO" 5
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+  fi
+fi
+
+# We have inlined syscalls.
+$as_echo "#define HAVE_INLINED_SYSCALLS 1" >>confdefs.h
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/configure.ac
new file mode 100644
index 0000000000..13abda0a51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/configure.ac
@@ -0,0 +1,122 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux.
+
+define([LIBC_LINUX_VERSION],[3.2.0])dnl
+if test -n "$sysheaders"; then
+  OLD_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
+fi
+define([libc_cv_linuxVER], [libc_cv_linux]patsubst(LIBC_LINUX_VERSION,[\.]))dnl
+AC_CACHE_CHECK(installed Linux kernel header files, libc_cv_linuxVER, [dnl
+AC_TRY_COMPILE([#include <linux/version.h>
+#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < ]dnl
+patsubst(LIBC_LINUX_VERSION,[^\([^.]*\)\.\([^.]*\)\.\([^.]*\)$],dnl
+[ (\1 *65536+ \2 *256+ \3) /* \1.\2.\3 */])[
+# error kernel headers missing or too old
+#endif], [],
+	       [libc_cv_linuxVER='LIBC_LINUX_VERSION or later'],
+	       [libc_cv_linuxVER='missing or too old!'])])
+if test "$libc_cv_linuxVER" != 'LIBC_LINUX_VERSION or later'; then
+  AC_MSG_ERROR([GNU libc requires kernel header files from
+Linux LIBC_LINUX_VERSION or later to be installed before configuring.
+The kernel header files are found usually in /usr/include/asm and
+/usr/include/linux; make sure these directories use files from
+Linux LIBC_LINUX_VERSION or later.  This check uses <linux/version.h>, so
+make sure that file was built correctly when installing the kernel header
+files.  To use kernel headers not from /usr/include/linux, use the
+configure option --with-headers.])
+fi
+
+# If the user gave a minimal version number test whether the available
+# kernel headers are young enough.  Additionally we have minimal
+# kernel versions for some architectures.  If a previous configure fragment
+# set arch_minimum_kernel already, let that override our defaults here.
+# Note that we presume such a fragment has set libc_cv_gcc_unwind_find_fde
+# if appropriate too.
+test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.2.0
+if test -n "$minimum_kernel"; then
+  changequote(,)
+  user_version=$((`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  arch_version=$((`echo "$arch_minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  changequote([,])
+  if test $user_version -lt $arch_version; then
+    AC_MSG_WARN([minimum kernel version reset to $arch_minimum_kernel])
+    minimum_kernel=$arch_minimum_kernel
+  fi
+else
+  minimum_kernel=$arch_minimum_kernel
+fi
+
+AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
+changequote(,)dnl
+decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
+abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
+changequote([,])dnl
+AC_TRY_COMPILE([#include <linux/version.h>
+#if LINUX_VERSION_CODE < $decnum
+# error kernel headers too old
+#endif], [], [libc_minimum_kernel=ok], [libc_minimum_kernel='too old!'])
+AC_MSG_RESULT($libc_minimum_kernel)
+if test "$libc_minimum_kernel" = ok; then
+  AC_DEFINE_UNQUOTED(__LINUX_KERNEL_VERSION, $decnum)
+  AC_DEFINE_UNQUOTED(__ABI_TAG_VERSION, $abinum)
+else
+  AC_MSG_ERROR([*** The available kernel headers are older than the requested
+*** compatible kernel version])
+fi
+
+if test -n "$sysheaders"; then
+  CPPFLAGS=$OLD_CPPFLAGS
+fi
+
+if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** On GNU/Linux systems the GNU C Library should not be installed into
+*** /usr/local since this might make your system totally unusable.
+*** We strongly advise to use a different prefix.  For details read the FAQ.
+*** If you really mean to do this, run configure again using the extra
+*** parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "\
+*** WARNING: Do you really want to install the GNU C Library into /usr/local?
+*** This might make your system totally unusable, for details read the FAQ."
+  fi
+fi
+
+
+# One Linux we use ldconfig.
+use_ldconfig=yes
+
+if test $host = $build; then
+  # If $prefix/include/{net,scsi} are symlinks, make install will
+  # clobber what they're linked to (probably a kernel tree).
+  # test -L ought to work on all Linux boxes.
+  if test "x$prefix" != xNONE; then
+    ac_prefix=$prefix
+  else
+    ac_prefix=$ac_default_prefix
+  fi
+  AC_MSG_CHECKING([for symlinks in ${ac_prefix}/include])
+  ac_message=
+  if test -L ${ac_prefix}/include/net; then
+    ac_message="$ac_message
+   ${ac_prefix}/include/net is a symlink"
+  fi
+  if test -L ${ac_prefix}/include/scsi; then
+    ac_message="$ac_message
+   ${ac_prefix}/include/scsi is a symlink"
+  fi
+  if test -n "$ac_message"; then
+    AC_MSG_ERROR([$ac_message
+\`make install' will destroy the target of the link(s).
+Delete the links and re-run configure, or better still, move the entire
+${ac_prefix}/include directory out of the way.])
+  else
+    AC_MSG_RESULT(ok)
+  fi
+fi
+
+# We have inlined syscalls.
+AC_DEFINE(HAVE_INLINED_SYSCALLS)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/connect.c b/REORG.TODO/sysdeps/unix/sysv/linux/connect.c
new file mode 100644
index 0000000000..f6ab5df6ad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/connect.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+int
+__libc_connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len)
+{
+#ifdef __ASSUME_CONNECT_SYSCALL
+  return SYSCALL_CANCEL (connect, fd, addr.__sockaddr__, len);
+#else
+  return SOCKETCALL_CANCEL (connect, fd, addr.__sockaddr__, len);
+#endif
+}
+weak_alias (__libc_connect, connect)
+weak_alias (__libc_connect, __connect)
+libc_hidden_weak (__connect)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/creat.c b/REORG.TODO/sysdeps/unix/sysv/linux/creat.c
new file mode 100644
index 0000000000..31e024838c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/creat.c
@@ -0,0 +1,40 @@
+/* Linux default implementation for creat.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sys/types.h>
+
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+/* Create FILE with protections MODE.  */
+int
+__creat (const char *file, mode_t mode)
+{
+# ifdef __NR_creat
+  return SYSCALL_CANCEL (creat, file, mode);
+# else
+  return __open (file, O_WRONLY | O_CREAT | O_TRUNC, mode);
+# endif
+}
+weak_alias (__creat, creat)
+
+LIBC_CANCEL_HANDLED ();
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/creat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/creat64.c
new file mode 100644
index 0000000000..709c66091a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/creat64.c
@@ -0,0 +1,41 @@
+/* Linux default implementation for LFS creat.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sysdep-cancel.h>
+
+/* Create FILE with protections MODE.  */
+int
+__creat64 (const char *file, mode_t mode)
+{
+#if defined __OFF_T_MATCHES_OFF64_T && defined __NR_creat
+  return SYSCALL_CANCEL (creat, file, mode);
+#else
+  /* We need to pass O_LARGEFILE.  */
+  return __open64 (file, O_WRONLY | O_CREAT | O_TRUNC, mode);
+#endif
+}
+weak_alias (__creat64, creat64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (__creat64, __creat)
+weak_alias (__creat64, creat)
+#endif
+
+LIBC_CANCEL_HANDLED ();
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/createthread.c b/REORG.TODO/sysdeps/unix/sysv/linux/createthread.c
new file mode 100644
index 0000000000..fe3a3fe4a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/createthread.c
@@ -0,0 +1,152 @@
+/* Low-level thread creation for NPTL.  Linux version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <atomic.h>
+#include <ldsodefs.h>
+#include <tls.h>
+#include <stdint.h>
+
+#include <arch-fork.h>
+
+
+#ifndef ARCH_CLONE
+# define ARCH_CLONE __clone
+#endif
+
+/* See the comments in pthread_create.c for the requirements for these
+   two macros and the create_thread function.  */
+
+#define START_THREAD_DEFN \
+  static int __attribute__ ((noreturn)) start_thread (void *arg)
+#define START_THREAD_SELF arg
+
+/* pthread_create.c defines this using START_THREAD_DEFN
+   We need a forward declaration here so we can take its address.  */
+static int start_thread (void *arg) __attribute__ ((noreturn));
+
+static int
+create_thread (struct pthread *pd, const struct pthread_attr *attr,
+	       bool *stopped_start, STACK_VARIABLES_PARMS, bool *thread_ran)
+{
+  /* Determine whether the newly created threads has to be started
+     stopped since we have to set the scheduling parameters or set the
+     affinity.  */
+  if (attr != NULL
+      && (__glibc_unlikely (attr->cpuset != NULL)
+	  || __glibc_unlikely ((attr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0)))
+    *stopped_start = true;
+
+  pd->stopped_start = *stopped_start;
+  if (__glibc_unlikely (*stopped_start))
+    /* See CONCURRENCY NOTES in nptl/pthread_creat.c.  */
+    lll_lock (pd->lock, LLL_PRIVATE);
+
+  /* We rely heavily on various flags the CLONE function understands:
+
+     CLONE_VM, CLONE_FS, CLONE_FILES
+	These flags select semantics with shared address space and
+	file descriptors according to what POSIX requires.
+
+     CLONE_SIGHAND, CLONE_THREAD
+	This flag selects the POSIX signal semantics and various
+	other kinds of sharing (itimers, POSIX timers, etc.).
+
+     CLONE_SETTLS
+	The sixth parameter to CLONE determines the TLS area for the
+	new thread.
+
+     CLONE_PARENT_SETTID
+	The kernels writes the thread ID of the newly created thread
+	into the location pointed to by the fifth parameters to CLONE.
+
+	Note that it would be semantically equivalent to use
+	CLONE_CHILD_SETTID but it is be more expensive in the kernel.
+
+     CLONE_CHILD_CLEARTID
+	The kernels clears the thread ID of a thread that has called
+	sys_exit() in the location pointed to by the seventh parameter
+	to CLONE.
+
+     The termination signal is chosen to be zero which means no signal
+     is sent.  */
+  const int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SYSVSEM
+			   | CLONE_SIGHAND | CLONE_THREAD
+			   | CLONE_SETTLS | CLONE_PARENT_SETTID
+			   | CLONE_CHILD_CLEARTID
+			   | 0);
+
+  TLS_DEFINE_INIT_TP (tp, pd);
+
+  if (__glibc_unlikely (ARCH_CLONE (&start_thread, STACK_VARIABLES_ARGS,
+				    clone_flags, pd, &pd->tid, tp, &pd->tid)
+			== -1))
+    return errno;
+
+  /* It's started now, so if we fail below, we'll have to cancel it
+     and let it clean itself up.  */
+  *thread_ran = true;
+
+  /* Now we have the possibility to set scheduling parameters etc.  */
+  if (attr != NULL)
+    {
+      INTERNAL_SYSCALL_DECL (err);
+      int res;
+
+      /* Set the affinity mask if necessary.  */
+      if (attr->cpuset != NULL)
+	{
+	  assert (*stopped_start);
+
+	  res = INTERNAL_SYSCALL (sched_setaffinity, err, 3, pd->tid,
+				  attr->cpusetsize, attr->cpuset);
+
+	  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (res, err)))
+	  err_out:
+	    {
+	      /* The operation failed.  We have to kill the thread.
+		 We let the normal cancellation mechanism do the work.  */
+
+	      pid_t pid = __getpid ();
+	      INTERNAL_SYSCALL_DECL (err2);
+	      (void) INTERNAL_SYSCALL_CALL (tgkill, err2, pid, pd->tid,
+					    SIGCANCEL);
+
+	      return INTERNAL_SYSCALL_ERRNO (res, err);
+	    }
+	}
+
+      /* Set the scheduling parameters.  */
+      if ((attr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0)
+	{
+	  assert (*stopped_start);
+
+	  res = INTERNAL_SYSCALL (sched_setscheduler, err, 3, pd->tid,
+				  pd->schedpolicy, &pd->schedparam);
+
+	  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (res, err)))
+	    goto err_out;
+	}
+    }
+
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/default-sched.h b/REORG.TODO/sysdeps/unix/sysv/linux/default-sched.h
new file mode 100644
index 0000000000..d27d09de19
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/default-sched.h
@@ -0,0 +1,42 @@
+/* Determine calling thread's scheduling parameters.  Linux version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* This should fill in PD->schedpolicy if PD->flags does not contain
+   ATTR_FLAG_POLICY_SET, and set it; and PD->schedparam if PD->flags does
+   not contain ATTR_FLAG_SCHED_SET, and set it.  It won't be called at all
+   if both bits are already set.  */
+
+static void
+collect_default_sched (struct pthread *pd)
+{
+  INTERNAL_SYSCALL_DECL (scerr);
+
+  if ((pd->flags & ATTR_FLAG_POLICY_SET) == 0)
+    {
+      pd->schedpolicy = INTERNAL_SYSCALL (sched_getscheduler, scerr, 1, 0);
+      pd->flags |= ATTR_FLAG_POLICY_SET;
+    }
+
+  if ((pd->flags & ATTR_FLAG_SCHED_SET) == 0)
+    {
+      INTERNAL_SYSCALL (sched_getparam, scerr, 2, 0, &pd->schedparam);
+      pd->flags |= ATTR_FLAG_SCHED_SET;
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/device-nrs.h b/REORG.TODO/sysdeps/unix/sysv/linux/device-nrs.h
new file mode 100644
index 0000000000..37a894b139
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/device-nrs.h
@@ -0,0 +1,45 @@
+/* Device numbers of devices used in the implementation.  Linux version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DEVICE_NRS_H
+#define _DEVICE_NRS_H	1
+
+#include <sys/sysmacros.h>
+
+/* /dev/null is (1,3).  */
+#define DEV_NULL_MAJOR	1
+#define DEV_NULL_MINOR	3
+
+/* /dev/full is (1,7).  */
+#define DEV_FULL_MAJOR	1
+#define DEV_FULL_MINOR	7
+
+/* Pseudo tty slaves.  For Linux we use the Unix98 ttys.  We could
+   also include the old BSD-style tty buts they should not be used and
+   the extra test would only slow down correctly set up systems.  If a
+   system still uses those device the slower tests performed (using
+   isatty) will catch it.  */
+#define DEV_TTY_LOW_MAJOR	136
+#define DEV_TTY_HIGH_MAJOR	143
+
+/* Test whether given device is a tty.  */
+#define DEV_TTY_P(statp) \
+  ({ int __dev_major = major ((statp)->st_rdev);			      \
+     __dev_major >= DEV_TTY_LOW_MAJOR && __dev_major <= DEV_TTY_HIGH_MAJOR; })
+
+#endif	/* device-nrs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-brk.c
new file mode 100644
index 0000000000..c37cdfec33
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-brk.c
@@ -0,0 +1,5 @@
+/* We can use the normal code but we also know the __curbrk is not exported
+   from ld.so.  */
+extern void *__curbrk attribute_hidden;
+
+#include <brk.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-execstack.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-execstack.c
new file mode 100644
index 0000000000..3c4de1cb46
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-execstack.c
@@ -0,0 +1,67 @@
+/* Stack executability handling for GNU dynamic linker.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+#include <sys/mman.h>
+#include <errno.h>
+#include <libintl.h>
+#include <stdbool.h>
+#include <stackinfo.h>
+#include <caller.h>
+#include <sysdep.h>
+
+
+extern int __stack_prot attribute_relro attribute_hidden;
+
+
+int
+internal_function
+_dl_make_stack_executable (void **stack_endp)
+{
+  /* This gives us the highest/lowest page that needs to be changed.  */
+  uintptr_t page = ((uintptr_t) *stack_endp
+		    & -(intptr_t) GLRO(dl_pagesize));
+  int result = 0;
+
+  /* Challenge the caller.  */
+  if (__builtin_expect (__check_caller (RETURN_ADDRESS (0),
+					allow_ldso|allow_libpthread) != 0, 0)
+      || __builtin_expect (*stack_endp != __libc_stack_end, 0))
+    return EPERM;
+
+  if (__builtin_expect (__mprotect ((void *) page, GLRO(dl_pagesize),
+				    __stack_prot) == 0, 1))
+    goto return_success;
+  result = errno;
+  goto out;
+
+ return_success:
+  /* Clear the address.  */
+  *stack_endp = NULL;
+
+  /* Remember that we changed the permission.  */
+  GL(dl_stack_flags) |= PF_X;
+
+ out:
+#ifdef check_consistency
+  check_consistency ();
+#endif
+
+  return result;
+}
+rtld_hidden_def (_dl_make_stack_executable)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-fxstatat64.c
new file mode 100644
index 0000000000..d229d0ea0f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-fxstatat64.c
@@ -0,0 +1 @@
+#include <fxstatat64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-getcwd.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-getcwd.c
new file mode 100644
index 0000000000..4bd5657f1e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-getcwd.c
@@ -0,0 +1 @@
+#include "getcwd.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-librecon.h b/REORG.TODO/sysdeps/unix/sysv/linux/dl-librecon.h
new file mode 100644
index 0000000000..a6e54bed75
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-librecon.h
@@ -0,0 +1,60 @@
+/* Optional code to distinguish library flavours.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_LIBRECON_H
+#define _DL_LIBRECON_H	1
+
+static inline void __attribute__ ((unused, always_inline))
+_dl_osversion_init (char *assume_kernel)
+{
+  unsigned long int i, j, osversion = 0;
+  char *p = assume_kernel, *q;
+
+  for (i = 0; i < 3; i++, p = q + 1)
+    {
+      j = __strtoul_internal (p, &q, 0, 0);
+      if (j >= 255 || p == q || (i < 2 && *q && *q != '.'))
+	{
+	  osversion = 0;
+	  break;
+	}
+      osversion |= j << (16 - 8 * i);
+      if (!*q)
+	break;
+    }
+  if (osversion)
+    GLRO(dl_osversion) = osversion;
+}
+
+/* Recognizing extra environment variables.  */
+#define EXTRA_LD_ENVVARS_13 \
+    if (memcmp (envline, "ASSUME_KERNEL", 13) == 0)			      \
+      {									      \
+	_dl_osversion_init (&envline[14]);				      \
+	break;								      \
+      }
+
+#define DL_OSVERSION_INIT \
+  do {									      \
+    char *assume_kernel = getenv ("LD_ASSUME_KERNEL");			      \
+    if (assume_kernel)							      \
+      _dl_osversion_init (assume_kernel);				      \
+  } while (0)
+
+#endif /* dl-librecon.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-openat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-openat64.c
new file mode 100644
index 0000000000..deb68cd233
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-openat64.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gmain.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep.h>
+
+
+int
+openat64 (int dfd, const char *file, int oflag, ...)
+{
+  assert (!__OPEN_NEEDS_MODE (oflag));
+
+  return INLINE_SYSCALL (openat, 3, dfd, file, oflag | O_LARGEFILE);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-opendir.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-opendir.c
new file mode 100644
index 0000000000..c1cdc057a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-opendir.c
@@ -0,0 +1 @@
+#include <opendir.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-origin.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-origin.c
new file mode 100644
index 0000000000..595eadfb82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-origin.c
@@ -0,0 +1,80 @@
+/* Find path of executable.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+#include <dl-dst.h>
+
+/* On Linux >= 2.1 systems which have the dcache implementation we can get
+   the path of the application from the /proc/self/exe symlink.  Try this
+   first and fall back on the generic method if necessary.  */
+
+const char *
+_dl_get_origin (void)
+{
+  char linkval[PATH_MAX];
+  char *result;
+  int len;
+  INTERNAL_SYSCALL_DECL (err);
+
+  len = INTERNAL_SYSCALL (readlink, err, 3, "/proc/self/exe", linkval,
+			  sizeof (linkval));
+  if (! INTERNAL_SYSCALL_ERROR_P (len, err) && len > 0 && linkval[0] != '[')
+    {
+      /* We can use this value.  */
+      assert (linkval[0] == '/');
+      while (len > 1 && linkval[len - 1] != '/')
+	--len;
+      result = (char *) malloc (len + 1);
+      if (result == NULL)
+	result = (char *) -1;
+      else if (len == 1)
+	memcpy (result, "/", 2);
+      else
+	*((char *) __mempcpy (result, linkval, len - 1)) = '\0';
+    }
+  else
+    {
+      result = (char *) -1;
+      /* We use the environment variable LD_ORIGIN_PATH.  If it is set make
+	 a copy and strip out trailing slashes.  */
+      if (GLRO(dl_origin_path) != NULL)
+	{
+	  size_t len = strlen (GLRO(dl_origin_path));
+	  result = (char *) malloc (len + 1);
+	  if (result == NULL)
+	    result = (char *) -1;
+	  else
+	    {
+	      char *cp = __mempcpy (result, GLRO(dl_origin_path), len);
+	      while (cp > result + 1 && cp[-1] == '/')
+		--cp;
+	      *cp = '\0';
+	    }
+	}
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-osinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/dl-osinfo.h
new file mode 100644
index 0000000000..823cd8224d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -0,0 +1,79 @@
+/* Operating system specific code for generic dynamic loader functions.  Linux.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dl-sysdep.h>
+#include <endian.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <not-cancel.h>
+
+#ifndef MIN
+# define MIN(a,b) (((a)<(b))?(a):(b))
+#endif
+
+#define DL_SYSDEP_OSCHECK(FATAL)					      \
+  do {									      \
+    /* Test whether the kernel is new enough.  This test is only performed    \
+       if the library is not compiled to run on all kernels.  */	      \
+									      \
+    int version = _dl_discover_osversion ();				      \
+    if (__glibc_likely (version >= 0))					      \
+      {									      \
+	if (__builtin_expect (GLRO(dl_osversion) == 0, 1)		      \
+	    || GLRO(dl_osversion) > version)				      \
+	  GLRO(dl_osversion) = version;					      \
+									      \
+	/* Now we can test with the required version.  */		      \
+	if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION)   \
+	  /* Not sufficent.  */						      \
+	  FATAL ("FATAL: kernel too old\n");				      \
+      }									      \
+    else if (__LINUX_KERNEL_VERSION > 0)				      \
+      FATAL ("FATAL: cannot determine kernel version\n");		      \
+  } while (0)
+
+static inline uintptr_t __attribute__ ((always_inline))
+_dl_setup_stack_chk_guard (void *dl_random)
+{
+  union
+  {
+    uintptr_t num;
+    unsigned char bytes[sizeof (uintptr_t)];
+  } ret;
+
+  /* We need in the moment only 8 bytes on 32-bit platforms and 16
+     bytes on 64-bit platforms.  Therefore we can use the data
+     directly and not use the kernel-provided data to seed a PRNG.  */
+  memcpy (ret.bytes, dl_random, sizeof (ret));
+#if BYTE_ORDER == LITTLE_ENDIAN
+  ret.num &= ~(uintptr_t) 0xff;
+#elif BYTE_ORDER == BIG_ENDIAN
+  ret.num &= ~((uintptr_t) 0xff << (8 * (sizeof (ret) - 1)));
+#else
+# error "BYTE_ORDER unknown"
+#endif
+  return ret.num;
+}
+
+static inline uintptr_t __attribute__ ((always_inline))
+_dl_setup_pointer_guard (void *dl_random, uintptr_t stack_chk_guard)
+{
+  uintptr_t ret;
+  memcpy (&ret, (char *) dl_random + sizeof (ret), sizeof (ret));
+  return ret;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-sbrk.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sbrk.c
new file mode 100644
index 0000000000..1ce5cb188c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sbrk.c
@@ -0,0 +1,5 @@
+/* We can use the normal code but we also know the __curbrk is not exported
+   from ld.so.  */
+extern void *__curbrk attribute_hidden;
+
+#include <misc/sbrk.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.c
new file mode 100644
index 0000000000..3082ce207e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.c
@@ -0,0 +1,132 @@
+/* Dynamic linker system dependencies for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Linux needs some special initialization, but otherwise uses
+   the generic dynamic linker system interface code.  */
+
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <sys/utsname.h>
+#include <ldsodefs.h>
+
+#ifdef SHARED
+# define DL_SYSDEP_INIT frob_brk ()
+
+static inline void
+frob_brk (void)
+{
+  __brk (0);			/* Initialize the break.  */
+}
+
+# include <elf/dl-sysdep.c>
+#endif
+
+
+int
+attribute_hidden
+_dl_discover_osversion (void)
+{
+#if defined NEED_DL_SYSINFO_DSO && defined SHARED
+  if (GLRO(dl_sysinfo_map) != NULL)
+    {
+      /* If the kernel-supplied DSO contains a note indicating the kernel's
+	 version, we don't need to call uname or parse any strings.  */
+
+      static const struct
+      {
+	ElfW(Nhdr) hdr;
+	char vendor[8];
+      } expected_note = { { sizeof "Linux", sizeof (ElfW(Word)), 0 }, "Linux" };
+      const ElfW(Phdr) *const phdr = GLRO(dl_sysinfo_map)->l_phdr;
+      const ElfW(Word) phnum = GLRO(dl_sysinfo_map)->l_phnum;
+      for (uint_fast16_t i = 0; i < phnum; ++i)
+	if (phdr[i].p_type == PT_NOTE)
+	  {
+	    const ElfW(Addr) start = (phdr[i].p_vaddr
+				      + GLRO(dl_sysinfo_map)->l_addr);
+	    const ElfW(Nhdr) *note = (const void *) start;
+	    while ((ElfW(Addr)) (note + 1) - start < phdr[i].p_memsz)
+	      {
+		if (!memcmp (note, &expected_note, sizeof expected_note))
+		  return *(const ElfW(Word) *) ((const void *) note
+						+ sizeof expected_note);
+#define ROUND(len) (((len) + sizeof note->n_type - 1) & -sizeof note->n_type)
+		note = ((const void *) (note + 1)
+			+ ROUND (note->n_namesz) + ROUND (note->n_descsz));
+#undef ROUND
+	      }
+	  }
+    }
+#endif
+
+  char bufmem[64];
+  char *buf = bufmem;
+  unsigned int version;
+  int parts;
+  char *cp;
+  struct utsname uts;
+
+  /* Try the uname system call.  */
+  if (__uname (&uts))
+    {
+      /* This was not successful.  Now try reading the /proc filesystem.  */
+      int fd = __open ("/proc/sys/kernel/osrelease", O_RDONLY);
+      if (fd < 0)
+	return -1;
+      ssize_t reslen = __read (fd, bufmem, sizeof (bufmem));
+      __close (fd);
+      if (reslen <= 0)
+	/* This also didn't work.  We give up since we cannot
+	   make sure the library can actually work.  */
+	return -1;
+      buf[MIN (reslen, (ssize_t) sizeof (bufmem) - 1)] = '\0';
+    }
+  else
+    buf = uts.release;
+
+  /* Now convert it into a number.  The string consists of at most
+     three parts.  */
+  version = 0;
+  parts = 0;
+  cp = buf;
+  while ((*cp >= '0') && (*cp <= '9'))
+    {
+      unsigned int here = *cp++ - '0';
+
+      while ((*cp >= '0') && (*cp <= '9'))
+	{
+	  here *= 10;
+	  here += *cp++ - '0';
+	}
+
+      ++parts;
+      version <<= 8;
+      version |= here;
+
+      if (*cp++ != '.' || parts == 3)
+	/* Another part following?  */
+	break;
+    }
+
+  if (parts < 3)
+    version <<= 8 * (3 - parts);
+
+  return version;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.h
new file mode 100644
index 0000000000..586f130264
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-sysdep.h
@@ -0,0 +1,33 @@
+/* System-specific settings for dynamic linker code.  Linux version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include_next <dl-sysdep.h>
+
+/* On many architectures the kernel provides a virtual DSO and gives
+   AT_SYSINFO_EHDR to point us to it.  As this is introduced for new
+   machines, we should look at it for unwind information even if
+   we aren't making direct use of it.  So enable this across the board.  */
+
+#define NEED_DL_SYSINFO_DSO	1
+
+
+#ifndef __ASSEMBLER__
+/* Get version of the OS.  */
+extern int _dl_discover_osversion (void) attribute_hidden;
+# define HAVE_DL_DISCOVER_OSVERSION	1
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.c b/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.c
new file mode 100644
index 0000000000..7e3546e5bc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.c
@@ -0,0 +1,49 @@
+/* ELF symbol resolve functions for VDSO objects.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "config.h"
+#include <ldsodefs.h>
+
+
+void *
+internal_function
+_dl_vdso_vsym (const char *name, const struct r_found_version *vers)
+{
+  struct link_map *map = GLRO (dl_sysinfo_map);
+  void *value = NULL;
+
+
+  if (map != NULL)
+    {
+      /* Use a WEAK REF so we don't error out if the symbol is not found.  */
+      ElfW (Sym) wsym;
+      memset (&wsym, 0, sizeof (ElfW (Sym)));
+      wsym.st_info = (unsigned char) ELFW (ST_INFO (STB_WEAK, STT_NOTYPE));
+
+      /* Search the scope of the vdso map.  */
+      const ElfW (Sym) *ref = &wsym;
+      lookup_t result = GLRO (dl_lookup_symbol_x) (name, map, &ref,
+						   map->l_local_scope,
+						   vers, 0, 0, NULL);
+
+      if (ref != NULL)
+	value = DL_SYMBOL_ADDRESS (result, ref);
+    }
+
+  return value;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.h
new file mode 100644
index 0000000000..8923883f88
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-vdso.h
@@ -0,0 +1,53 @@
+/* ELF symbol resolve functions for VDSO objects.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_VDSO_H
+#define _DL_VDSO_H	1
+
+#include <assert.h>
+#include <ldsodefs.h>
+#include <dl-hash.h>
+
+/* Create version number record for lookup.  */
+#define PREPARE_VERSION(var, vname, vhash) \
+  struct r_found_version var;						      \
+  var.name = vname;							      \
+  var.hidden = 1;							      \
+  var.hash = vhash;							      \
+  assert (var.hash == _dl_elf_hash (var.name));				      \
+  /* We don't have a specific file where the symbol can be found.  */	      \
+  var.filename = NULL
+
+/* Use this for the known version sets defined below, where we
+   record their precomputed hash values only once, in this file.  */
+#define PREPARE_VERSION_KNOWN(var, vname) \
+  PREPARE_VERSION (var, VDSO_NAME_##vname, VDSO_HASH_##vname)
+
+#define VDSO_NAME_LINUX_2_6	"LINUX_2.6"
+#define VDSO_HASH_LINUX_2_6	61765110
+#define VDSO_NAME_LINUX_2_6_15	"LINUX_2.6.15"
+#define VDSO_HASH_LINUX_2_6_15	123718565
+#define VDSO_NAME_LINUX_2_6_29	"LINUX_2.6.29"
+#define VDSO_HASH_LINUX_2_6_29	123718585
+
+/* Functions for resolving symbols in the VDSO link map.  */
+extern void *_dl_vdso_vsym (const char *name,
+			    const struct r_found_version *version)
+     internal_function attribute_hidden;
+
+#endif /* dl-vdso.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/dl-writev.h b/REORG.TODO/sysdeps/unix/sysv/linux/dl-writev.h
new file mode 100644
index 0000000000..112319052e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/dl-writev.h
@@ -0,0 +1,38 @@
+/* Message-writing for the dynamic linker.  Linux version.
+   Copyright (C) 2013-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/uio.h>
+#include <sysdep.h>
+
+/* This is used from only one place: dl-misc.c:_dl_debug_vdprintf.
+   Hence it's in a header with the expectation it will be inlined.
+
+   This is writev, but with a constraint added and others loosened:
+
+   1. Under RTLD_PRIVATE_ERRNO, it must not clobber the private errno
+      when another thread holds the dl_load_lock.
+   2. It is not obliged to detect and report errors at all.
+   3. It's not really obliged to deliver a single atomic write
+      (though it may be preferable).  */
+
+static inline void
+_dl_writev (int fd, const struct iovec *iov, size_t niov)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (writev, err, 3, fd, iov, niov);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/epoll_pwait.c b/REORG.TODO/sysdeps/unix/sysv/linux/epoll_pwait.c
new file mode 100644
index 0000000000..59391f409b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/epoll_pwait.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <unistd.h>
+#include <sys/epoll.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_epoll_pwait
+
+/* Wait for events on an epoll instance "epfd". Returns the number of
+   triggered events returned in "events" buffer. Or -1 in case of
+   error with the "errno" variable set to the specific error code. The
+   "events" parameter is a buffer that will contain triggered
+   events. The "maxevents" is the maximum number of events to be
+   returned ( usually size of "events" ). The "timeout" parameter
+   specifies the maximum wait time in milliseconds (-1 == infinite).
+   The thread's signal mask is temporarily and atomically replaced with
+   the one provided as parameter.  */
+
+int epoll_pwait (int epfd, struct epoll_event *events,
+		 int maxevents, int timeout,
+		 const sigset_t *set)
+{
+  return SYSCALL_CANCEL (epoll_pwait, epfd, events, maxevents,
+			 timeout, set, _NSIG / 8);
+}
+
+#else
+
+int epoll_pwait (int epfd, struct epoll_event *events,
+		 int maxevents, int timeout,
+		 const sigset_t *set)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+stub_warning (epoll_pwait)
+
+#endif
+
+libc_hidden_def (epoll_pwait)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/epoll_wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/epoll_wait.c
new file mode 100644
index 0000000000..eb6e6d3ace
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/epoll_wait.c
@@ -0,0 +1,32 @@
+/* Linux epoll_wait syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/epoll.h>
+
+int
+epoll_wait (int epfd, struct epoll_event *events, int maxevents, int timeout)
+{
+#ifdef __NR_epoll_wait
+  return SYSCALL_CANCEL (epoll_wait, epfd, events, maxevents, timeout);
+#else
+  return epoll_pwait (epfd, events, maxevents, timeout, NULL);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/errqueue.h b/REORG.TODO/sysdeps/unix/sysv/linux/errqueue.h
new file mode 100644
index 0000000000..963eb33bb4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/errqueue.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Linux version.  */
+
+#ifndef _BITS_ERRQUEUE_H
+#define _BITS_ERRQUEUE_H  1
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+struct sock_extended_err
+  {
+    u_int32_t ee_errno;
+    u_int8_t ee_origin;
+    u_int8_t ee_type;
+    u_int8_t ee_code;
+    u_int8_t ee_pad;
+    u_int32_t ee_info;
+    u_int32_t ee_data;
+  };
+
+#define SO_EE_ORIGIN_NONE  0
+#define SO_EE_ORIGIN_LOCAL 1
+#define SO_EE_ORIGIN_ICMP  2
+#define SO_EE_ORIGIN_ICMP6 3
+
+#define SO_EE_OFFENDER(see)	\
+  ((struct sockaddr *)(((struct sock_extended_err)(see))+1))
+
+#endif /* bits/errqueue.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_read.c b/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_read.c
new file mode 100644
index 0000000000..a909b7a19a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_read.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/eventfd.h>
+
+
+int
+eventfd_read (int fd, eventfd_t *value)
+{
+  return __read (fd, value, sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_write.c b/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_write.c
new file mode 100644
index 0000000000..0142a81b90
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/eventfd_write.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/eventfd.h>
+
+
+int
+eventfd_write (int fd, eventfd_t value)
+{
+  return __write (fd, &value,
+		  sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/exit-thread.h b/REORG.TODO/sysdeps/unix/sysv/linux/exit-thread.h
new file mode 100644
index 0000000000..749db19813
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/exit-thread.h
@@ -0,0 +1,38 @@
+/* Call to terminate the current thread.  Linux version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* This causes the current thread to exit, without affecting other
+   threads in the process if there are any.  If there are no other
+   threads left, then this has the effect of _exit (0).  */
+
+static inline void __attribute__ ((noreturn, always_inline, unused))
+__exit_thread (void)
+{
+  /* Doing this in a loop is mostly just to satisfy the compiler that the
+     function really qualifies as noreturn.  It also means that in some
+     pathological situation where the system call does not get made or does
+     not work, the thread will simply spin rather than running off the end
+     of the caller and doing unexpectedly strange things.  */
+  while (1)
+    {
+      INTERNAL_SYSCALL_DECL (err);
+      INTERNAL_SYSCALL (exit, err, 1, 0);
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/faccessat.c b/REORG.TODO/sysdeps/unix/sysv/linux/faccessat.c
new file mode 100644
index 0000000000..5aecb10840
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/faccessat.c
@@ -0,0 +1,71 @@
+/* Test for access to file, relative to open directory.  Linux version.
+   Copyright (C) 2006-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 <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <alloca.h>
+#include <sysdep.h>
+
+
+int
+faccessat (int fd, const char *file, int mode, int flag)
+{
+  if (flag & ~(AT_SYMLINK_NOFOLLOW | AT_EACCESS))
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  if ((flag == 0 || ((flag & ~AT_EACCESS) == 0 && ! __libc_enable_secure)))
+    return INLINE_SYSCALL (faccessat, 3, fd, file, mode);
+
+  struct stat64 stats;
+  if (__fxstatat64 (_STAT_VER, fd, file, &stats, flag & AT_SYMLINK_NOFOLLOW))
+    return -1;
+
+  mode &= (X_OK | W_OK | R_OK);	/* Clear any bogus bits. */
+#if R_OK != S_IROTH || W_OK != S_IWOTH || X_OK != S_IXOTH
+# error Oops, portability assumptions incorrect.
+#endif
+
+  if (mode == F_OK)
+    return 0;			/* The file exists. */
+
+  uid_t uid = (flag & AT_EACCESS) ? __geteuid () : __getuid ();
+
+  /* The super-user can read and write any file, and execute any file
+     that anyone can execute. */
+  if (uid == 0 && ((mode & X_OK) == 0
+		   || (stats.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))))
+    return 0;
+
+  int granted = (uid == stats.st_uid
+		 ? (unsigned int) (stats.st_mode & (mode << 6)) >> 6
+		 : (stats.st_gid == ((flag & AT_EACCESS)
+				     ? __getegid () : __getgid ())
+		    || __group_member (stats.st_gid))
+		 ? (unsigned int) (stats.st_mode & (mode << 3)) >> 3
+		 : (stats.st_mode & mode));
+
+  if (granted == mode)
+    return 0;
+
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EACCES);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fallocate.c b/REORG.TODO/sysdeps/unix/sysv/linux/fallocate.c
new file mode 100644
index 0000000000..d8fedb9f0a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fallocate.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+/* Reserve storage for the data of the file associated with FD.  */
+int
+fallocate (int fd, int mode, __off_t offset, __off_t len)
+{
+  return SYSCALL_CANCEL (fallocate, fd, mode,
+			 SYSCALL_LL (offset), SYSCALL_LL (len));
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fallocate64.c b/REORG.TODO/sysdeps/unix/sysv/linux/fallocate64.c
new file mode 100644
index 0000000000..a387a0fd95
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fallocate64.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep-cancel.h>
+
+
+/* Reserve storage for the data of the file associated with FD.  */
+int
+fallocate64 (int fd, int mode, __off64_t offset, __off64_t len)
+{
+  return SYSCALL_CANCEL (fallocate, fd, mode,
+			 SYSCALL_LL64 (offset), SYSCALL_LL64 (len));
+}
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (fallocate64, fallocate)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fatal-prepare.h b/REORG.TODO/sysdeps/unix/sysv/linux/fatal-prepare.h
new file mode 100644
index 0000000000..cd136b58cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fatal-prepare.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+
+/* We have to completely disable cancellation.  assert() must not be a
+   cancellation point but the implementation uses write() etc.  */
+#define FATAL_PREPARE \
+  __libc_ptf_call (__pthread_setcancelstate, \
+		   (PTHREAD_CANCEL_DISABLE, NULL), 0)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fchmodat.c b/REORG.TODO/sysdeps/unix/sysv/linux/fchmodat.c
new file mode 100644
index 0000000000..30fd28f38b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fchmodat.c
@@ -0,0 +1,40 @@
+/* Change the protections of file relative to open directory.  Linux version.
+   Copyright (C) 2006-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 <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <alloca.h>
+#include <sysdep.h>
+
+int
+fchmodat (int fd, const char *file, mode_t mode, int flag)
+{
+  if (flag & ~AT_SYMLINK_NOFOLLOW)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+#ifndef __NR_lchmod		/* Linux so far has no lchmod syscall.  */
+  if (flag & AT_SYMLINK_NOFOLLOW)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOTSUP);
+#endif
+
+  return INLINE_SYSCALL (fchmodat, 3, fd, file, mode);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/fcntl.c
new file mode 100644
index 0000000000..02f32525c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fcntl.c
@@ -0,0 +1,85 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <sysdep-cancel.h>	/* Must come before <fcntl.h>.  */
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sys/syscall.h>
+
+
+static int
+do_fcntl (int fd, int cmd, void *arg)
+{
+  if (cmd != F_GETOWN)
+    return INLINE_SYSCALL (fcntl, 3, fd, cmd, arg);
+
+  INTERNAL_SYSCALL_DECL (err);
+  struct f_owner_ex fex;
+  int res = INTERNAL_SYSCALL (fcntl, err, 3, fd, F_GETOWN_EX, &fex);
+  if (!INTERNAL_SYSCALL_ERROR_P (res, err))
+    return fex.type == F_OWNER_GID ? -fex.pid : fex.pid;
+
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (res,
+								    err));
+}
+
+
+#ifndef NO_CANCELLATION
+int
+__fcntl_nocancel (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  return do_fcntl (fd, cmd, arg);
+}
+#endif
+
+
+int
+__libc_fcntl (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  if (SINGLE_THREAD_P || cmd != F_SETLKW)
+    return do_fcntl (fd, cmd, arg);
+
+  int oldtype = LIBC_CANCEL_ASYNC ();
+
+  int result = do_fcntl (fd, cmd, arg);
+
+  LIBC_CANCEL_RESET (oldtype);
+
+  return result;
+}
+libc_hidden_def (__libc_fcntl)
+
+weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
+weak_alias (__libc_fcntl, fcntl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fd_to_filename.h b/REORG.TODO/sysdeps/unix/sysv/linux/fd_to_filename.h
new file mode 100644
index 0000000000..414a30f18a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fd_to_filename.h
@@ -0,0 +1,45 @@
+/* Query filename corresponding to an open FD.  Linux 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 <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <_itoa.h>
+
+static inline const char *
+fd_to_filename (int fd)
+{
+  char *ret = malloc (30);
+
+  if (ret != NULL)
+    {
+      struct stat64 st;
+
+      *_fitoa_word (fd, __stpcpy (ret, "/proc/self/fd/"), 10, 0) = '\0';
+
+      /* We must make sure the file exists.  */
+      if (__lxstat64 (_STAT_VER, ret, &st) < 0)
+	{
+	  /* /proc is not mounted or something else happened.  Don't
+	     return the file name.  */
+	  free (ret);
+	  ret = NULL;
+	}
+    }
+  return ret;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fdatasync.c b/REORG.TODO/sysdeps/unix/sysv/linux/fdatasync.c
new file mode 100644
index 0000000000..09a07fbb9e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fdatasync.c
@@ -0,0 +1,29 @@
+/* Synchronize a file's in-core state with storage device Linux
+   implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Synchronize at least the data part of a file with the underlying
+   media.  */
+int
+fdatasync (int fd)
+{
+  return SYSCALL_CANCEL (fdatasync, fd);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fexecve.c b/REORG.TODO/sysdeps/unix/sysv/linux/fexecve.c
new file mode 100644
index 0000000000..30fa719b56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fexecve.c
@@ -0,0 +1,55 @@
+/* Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+
+/* Execute the file FD refers to, overlaying the running program image.
+   ARGV and ENVP are passed to the new program, as for `execve'.  */
+int
+fexecve (int fd, char *const argv[], char *const envp[])
+{
+  if (fd < 0 || argv == NULL || envp == NULL)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  /* We use the /proc filesystem to get the information.  If it is not
+     mounted we fail.  */
+  char buf[sizeof "/proc/self/fd/" + sizeof (int) * 3];
+  __snprintf (buf, sizeof (buf), "/proc/self/fd/%d", fd);
+
+  /* We do not need the return value.  */
+  __execve (buf, argv, envp);
+
+  int save = errno;
+
+  /* We come here only if the 'execve' call fails.  Determine whether
+     /proc is mounted.  If not we return ENOSYS.  */
+  struct stat st;
+  if (stat ("/proc/self/fd", &st) != 0 && errno == ENOENT)
+    save = ENOSYS;
+
+  __set_errno (save);
+
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fips-private.h b/REORG.TODO/sysdeps/unix/sysv/linux/fips-private.h
new file mode 100644
index 0000000000..c9fe26695c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fips-private.h
@@ -0,0 +1,74 @@
+/* FIPS compliance status test for GNU/Linux systems.
+   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/>.  */
+
+#ifndef _FIPS_PRIVATE_H
+#define _FIPS_PRIVATE_H
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <not-cancel.h>
+#include <stdbool.h>
+
+/* Return true if FIPS mode is enabled.  See
+   sysdeps/generic/fips-private.h for more information.  */
+
+static bool
+fips_enabled_p (void)
+{
+  static enum
+  {
+    FIPS_UNTESTED = 0,
+    FIPS_ENABLED = 1,
+    FIPS_DISABLED = -1,
+    FIPS_TEST_FAILED = -2
+  } checked;
+
+  if (checked == FIPS_UNTESTED)
+    {
+      int fd = open_not_cancel_2 ("/proc/sys/crypto/fips_enabled", O_RDONLY);
+
+      if (fd != -1)
+	{
+	  /* This is more than enough, the file contains a single integer.  */
+	  char buf[32];
+	  ssize_t n;
+	  n = TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, sizeof (buf) - 1));
+	  close_not_cancel_no_status (fd);
+
+	  if (n > 0)
+	    {
+	      /* Terminate the string.  */
+	      buf[n] = '\0';
+
+	      char *endp;
+	      long int res = strtol (buf, &endp, 10);
+	      if (endp != buf && (*endp == '\0' || *endp == '\n'))
+		checked = (res > 0) ? FIPS_ENABLED : FIPS_DISABLED;
+	    }
+	}
+
+      if (checked == FIPS_UNTESTED)
+	checked = FIPS_TEST_FAILED;
+    }
+
+  return checked == FIPS_ENABLED;
+}
+
+#endif /* _FIPS_PRIVATE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fpathconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/fpathconf.c
new file mode 100644
index 0000000000..4d0ed8ec43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fpathconf.c
@@ -0,0 +1,52 @@
+/* Get file-specific information about descriptor FD.  Linux version.
+   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 <fcntl.h>
+#include "pathconf.h"
+
+static long int posix_fpathconf (int fd, int name);
+
+/* Define this first, so it can be inlined.  */
+#define __fpathconf static posix_fpathconf
+#include <sysdeps/posix/fpathconf.c>
+
+
+/* Get file-specific information about descriptor FD.  */
+long int
+__fpathconf (int fd, int name)
+{
+  struct statfs fsbuf;
+
+  switch (name)
+    {
+    case _PC_LINK_MAX:
+      return __statfs_link_max (__fstatfs (fd, &fsbuf), &fsbuf, NULL, fd);
+
+    case _PC_FILESIZEBITS:
+      return __statfs_filesize_max (__fstatfs (fd, &fsbuf), &fsbuf);
+
+    case _PC_2_SYMLINKS:
+      return __statfs_symlinks (__fstatfs (fd, &fsbuf), &fsbuf);
+
+    case _PC_CHOWN_RESTRICTED:
+      return __statfs_chown_restricted (__fstatfs (fd, &fsbuf), &fsbuf);
+
+    default:
+      return posix_fpathconf (fd, name);
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fstatfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/fstatfs64.c
new file mode 100644
index 0000000000..3be70c057a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fstatfs64.c
@@ -0,0 +1,92 @@
+/* Return information about the filesystem on which FD resides.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <stddef.h>
+#include <sysdep.h>
+#include <kernel_stat.h>
+
+/* Hide the prototypes for __fstatfs and fstatfs so that GCC will not
+   complain about the different function signatures if they are aliased
+   to  __fstat64.  If STATFS_IS_STATFS64 is not zero then the statfs and
+   statfs64 structures have an identical layout but different type names.  */
+
+#if STATFS_IS_STATFS64
+# define __fstatfs __fstatfs_disable
+# define fstatfs fstatfs_disable
+#endif
+#include <sys/statfs.h>
+
+#include <kernel-features.h>
+
+/* Defined in statfs64.c.  */
+extern int __no_statfs64 attribute_hidden;
+
+/* Return information about the filesystem on which FD resides.  */
+int
+__fstatfs64 (int fd, struct statfs64 *buf)
+{
+#ifdef __NR_fstatfs64
+# if __ASSUME_STATFS64 == 0
+  if (! __no_statfs64)
+# endif
+    {
+      int result = INLINE_SYSCALL (fstatfs64, 3, fd, sizeof (*buf), buf);
+
+# if __ASSUME_STATFS64 == 0
+      if (result == 0 || errno != ENOSYS)
+# endif
+	return result;
+
+# if __ASSUME_STATFS64 == 0
+      __no_statfs64 = 1;
+# endif
+    }
+#endif
+
+#if __ASSUME_STATFS64 == 0
+  struct statfs buf32;
+
+  if (__fstatfs (fd, &buf32) < 0)
+    return -1;
+
+  buf->f_type = buf32.f_type;
+  buf->f_bsize = buf32.f_bsize;
+  buf->f_blocks = buf32.f_blocks;
+  buf->f_bfree = buf32.f_bfree;
+  buf->f_bavail = buf32.f_bavail;
+  buf->f_files = buf32.f_files;
+  buf->f_ffree = buf32.f_ffree;
+  buf->f_fsid = buf32.f_fsid;
+  buf->f_namelen = buf32.f_namelen;
+  buf->f_frsize = buf32.f_frsize;
+  memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
+
+  return 0;
+#endif
+}
+weak_alias (__fstatfs64, fstatfs64)
+
+#undef __fstatfs
+#undef fstatfs
+
+#if STATFS_IS_STATFS64
+weak_alias (__fstatfs64, __fstatfs)
+weak_alias (__fstatfs64, fstatfs)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs.c
new file mode 100644
index 0000000000..e07a5b9f3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <sys/statvfs.h>
+
+extern void __internal_statvfs (const char *name, struct statvfs *buf,
+				struct statfs *fsbuf, int fd);
+
+
+int
+__fstatvfs (int fd, struct statvfs *buf)
+{
+  struct statfs fsbuf;
+
+  /* Get as much information as possible from the system.  */
+  if (__fstatfs (fd, &fsbuf) < 0)
+    return -1;
+
+  /* Convert the result.  */
+  __internal_statvfs (NULL, buf, &fsbuf, fd);
+
+  /* We signal success if the statfs call succeeded.  */
+  return 0;
+}
+weak_alias (__fstatvfs, fstatvfs)
+libc_hidden_weak (fstatvfs)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs64.c
new file mode 100644
index 0000000000..02a0d7ee42
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fstatvfs64.c
@@ -0,0 +1,68 @@
+/* Return information about the filesystem on which FD resides.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <sys/statvfs.h>
+#include <kernel-features.h>
+
+
+extern void __internal_statvfs64 (const char *name, struct statvfs64 *buf,
+				  struct statfs64 *fsbuf, int fd);
+
+
+/* Return information about the filesystem on which FD resides.  */
+int
+__fstatvfs64 (int fd, struct statvfs64 *buf)
+{
+  struct statfs64 fsbuf;
+  int res = __fstatfs64 (fd, &fsbuf);
+
+#ifndef __ASSUME_STATFS64
+  if (res < 0 && errno == ENOSYS)
+    {
+      struct statvfs buf32;
+
+      res = fstatvfs (fd, &buf32);
+      if (res == 0)
+	{
+	  buf->f_bsize = buf32.f_bsize;
+	  buf->f_frsize = buf32.f_frsize;
+	  buf->f_blocks = buf32.f_blocks;
+	  buf->f_bfree = buf32.f_bfree;
+	  buf->f_bavail = buf32.f_bavail;
+	  buf->f_files = buf32.f_files;
+	  buf->f_ffree = buf32.f_ffree;
+	  buf->f_favail = buf32.f_favail;
+	  buf->f_fsid = buf32.f_fsid;
+	  buf->f_flag = buf32.f_flag;
+	  buf->f_namemax = buf32.f_namemax;
+	  memcpy (buf->__f_spare, buf32.__f_spare, sizeof (buf32.__f_spare));
+	}
+    }
+#endif
+
+  if (res == 0)
+    /* Convert the result.  */
+    __internal_statvfs64 (NULL, buf, &fsbuf, fd);
+
+  return res;
+}
+weak_alias (__fstatvfs64, fstatvfs64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fsync.c b/REORG.TODO/sysdeps/unix/sysv/linux/fsync.c
new file mode 100644
index 0000000000..ac4827bd5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fsync.c
@@ -0,0 +1,28 @@
+/* Synchronize a file's in-core state with storage device Linux
+   implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Make all changes done to FD actually appear on disk.  */
+int
+fsync (int fd)
+{
+  return SYSCALL_CANCEL (fsync, fd);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ftime.c b/REORG.TODO/sysdeps/unix/sysv/linux/ftime.c
new file mode 100644
index 0000000000..5a5949f608
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ftime.c
@@ -0,0 +1,3 @@
+/* Linux defines the ftime system call but doesn't actually implement
+   it.  Use the BSD implementation.  */
+#include <sysdeps/unix/bsd/ftime.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate.c b/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate.c
new file mode 100644
index 0000000000..1068f2abe4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate.c
@@ -0,0 +1,35 @@
+/* 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 <unistd.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+/* Truncate the file FD refers to LENGTH bytes.  */
+int
+__ftruncate (int fd, off_t length)
+{
+# ifndef __NR_ftruncate
+  return INLINE_SYSCALL_CALL (ftruncate64, fd,
+			      __ALIGNMENT_ARG SYSCALL_LL (length));
+# else
+  return INLINE_SYSCALL_CALL (ftruncate, fd, length);
+# endif
+}
+weak_alias (__ftruncate, ftruncate)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate64.c b/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate64.c
new file mode 100644
index 0000000000..a8e0fd6ba0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ftruncate64.c
@@ -0,0 +1,38 @@
+/* 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 <unistd.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifndef __NR_ftruncate64
+# define __NR_ftruncate64 __NR_ftruncate
+#endif
+
+/* Truncate the file referenced by FD to LENGTH bytes.  */
+int
+__ftruncate64 (int fd, off64_t length)
+{
+  return INLINE_SYSCALL_CALL (ftruncate64, fd,
+			      __ALIGNMENT_ARG SYSCALL_LL64 (length));
+}
+weak_alias (__ftruncate64, ftruncate64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (__ftruncate64, __ftruncate)
+weak_alias (__ftruncate64, ftruncate);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/futex-internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/futex-internal.h
new file mode 100644
index 0000000000..1386807f5b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/futex-internal.h
@@ -0,0 +1,251 @@
+/* futex operations for glibc-internal use.  Linux version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef FUTEX_INTERNAL_H
+#define FUTEX_INTERNAL_H
+
+#include <sysdeps/nptl/futex-internal.h>
+#include <errno.h>
+#include <lowlevellock-futex.h>
+#include <nptl/pthreadP.h>
+
+/* See sysdeps/nptl/futex-internal.h for documentation; this file only
+   contains Linux-specific comments.
+
+   The Linux kernel treats provides absolute timeouts based on the
+   CLOCK_REALTIME clock and relative timeouts measured against the
+   CLOCK_MONOTONIC clock.
+
+   We expect a Linux kernel version of 2.6.22 or more recent (since this
+   version, EINTR is not returned on spurious wake-ups anymore).  */
+
+/* FUTEX_SHARED is always supported by the Linux kernel.  */
+static __always_inline int
+futex_supports_pshared (int pshared)
+{
+  if (__glibc_likely (pshared == PTHREAD_PROCESS_PRIVATE))
+    return 0;
+  else if (pshared == PTHREAD_PROCESS_SHARED)
+    return 0;
+  else
+    return EINVAL;
+}
+
+/* The Linux kernel supports relative timeouts measured against the
+   CLOCK_MONOTONIC clock.  */
+static __always_inline bool
+futex_supports_exact_relative_timeouts (void)
+{
+  return true;
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_wait (unsigned int *futex_word, unsigned int expected, int private)
+{
+  int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+      return -err;
+
+    case -ETIMEDOUT: /* Cannot have happened as we provided no timeout.  */
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_wait_cancelable (unsigned int *futex_word, unsigned int expected,
+		       int private)
+{
+  int oldtype;
+  oldtype = __pthread_enable_asynccancel ();
+  int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
+  __pthread_disable_asynccancel (oldtype);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+      return -err;
+
+    case -ETIMEDOUT: /* Cannot have happened as we provided no timeout.  */
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_reltimed_wait (unsigned int *futex_word, unsigned int expected,
+		     const struct timespec *reltime, int private)
+{
+  int err = lll_futex_timed_wait (futex_word, expected, reltime, private);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+    case -ETIMEDOUT:
+      return -err;
+
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_reltimed_wait_cancelable (unsigned int *futex_word,
+				unsigned int expected,
+			        const struct timespec *reltime, int private)
+{
+  int oldtype;
+  oldtype = __pthread_enable_asynccancel ();
+  int err = lll_futex_timed_wait (futex_word, expected, reltime, private);
+  __pthread_disable_asynccancel (oldtype);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+    case -ETIMEDOUT:
+      return -err;
+
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_abstimed_wait (unsigned int *futex_word, unsigned int expected,
+		     const struct timespec *abstime, int private)
+{
+  /* Work around the fact that the kernel rejects negative timeout values
+     despite them being valid.  */
+  if (__glibc_unlikely ((abstime != NULL) && (abstime->tv_sec < 0)))
+    return ETIMEDOUT;
+  int err = lll_futex_timed_wait_bitset (futex_word, expected, abstime,
+					 FUTEX_CLOCK_REALTIME, private);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+    case -ETIMEDOUT:
+      return -err;
+
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline int
+futex_abstimed_wait_cancelable (unsigned int *futex_word,
+				unsigned int expected,
+			        const struct timespec *abstime, int private)
+{
+  /* Work around the fact that the kernel rejects negative timeout values
+     despite them being valid.  */
+  if (__glibc_unlikely ((abstime != NULL) && (abstime->tv_sec < 0)))
+    return ETIMEDOUT;
+  int oldtype;
+  oldtype = __pthread_enable_asynccancel ();
+  int err = lll_futex_timed_wait_bitset (futex_word, expected, abstime,
+					 FUTEX_CLOCK_REALTIME, private);
+  __pthread_disable_asynccancel (oldtype);
+  switch (err)
+    {
+    case 0:
+    case -EAGAIN:
+    case -EINTR:
+    case -ETIMEDOUT:
+      return -err;
+
+    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
+    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
+		     being normalized.  Must have been caused by a glibc or
+		     application bug.  */
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+/* See sysdeps/nptl/futex-internal.h for details.  */
+static __always_inline void
+futex_wake (unsigned int *futex_word, int processes_to_wake, int private)
+{
+  int res = lll_futex_wake (futex_word, processes_to_wake, private);
+  /* No error.  Ignore the number of woken processes.  */
+  if (res >= 0)
+    return;
+  switch (res)
+    {
+    case -EFAULT: /* Could have happened due to memory reuse.  */
+    case -EINVAL: /* Could be either due to incorrect alignment (a bug in
+		     glibc or in the application) or due to memory being
+		     reused for a PI futex.  We cannot distinguish between the
+		     two causes, and one of them is correct use, so we do not
+		     act in this case.  */
+      return;
+    case -ENOSYS: /* Must have been caused by a glibc bug.  */
+    /* No other errors are documented at this time.  */
+    default:
+      futex_fatal_error ();
+    }
+}
+
+#endif  /* futex-internal.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/futimens.c b/REORG.TODO/sysdeps/unix/sysv/linux/futimens.c
new file mode 100644
index 0000000000..b4985e034c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/futimens.c
@@ -0,0 +1,38 @@
+/* Change access and modification times of open file.  Linux version.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+#include <time.h>
+#include <sysdep.h>
+
+
+/* Change the access time of the file associated with FD to TSP[0] and
+   the modification time of FILE to TSP[1].
+
+   Starting with 2.6.22 the Linux kernel has the utimensat syscall which
+   can be used to implement futimens.  */
+int
+futimens (int fd, const struct timespec tsp[2])
+{
+  if (fd < 0)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EBADF);
+  /* Avoid implicit array coercion in syscall macros.  */
+  return INLINE_SYSCALL (utimensat, 4, fd, NULL, &tsp[0], 0);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/futimes.c b/REORG.TODO/sysdeps/unix/sysv/linux/futimes.c
new file mode 100644
index 0000000000..af79cb1508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/futimes.c
@@ -0,0 +1,51 @@
+/* futimes -- change access and modification times of open file.  Linux version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <string.h>
+#include <time.h>
+#include <utime.h>
+#include <sys/time.h>
+#include <_itoa.h>
+#include <fcntl.h>
+
+
+/* Change the access time of the file associated with FD to TVP[0] and
+   the modification time of FILE to TVP[1].
+
+   Starting with 2.6.22 the Linux kernel has the utimensat syscall which
+   can be used to implement futimes.  */
+int
+__futimes (int fd, const struct timeval tvp[2])
+{
+  /* The utimensat system call expects timespec not timeval.  */
+  struct timespec ts[2];
+  if (tvp != NULL)
+    {
+      if (tvp[0].tv_usec < 0 || tvp[0].tv_usec >= 1000000
+          || tvp[1].tv_usec < 0 || tvp[1].tv_usec >= 1000000)
+	return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+      TIMEVAL_TO_TIMESPEC (&tvp[0], &ts[0]);
+      TIMEVAL_TO_TIMESPEC (&tvp[1], &ts[1]);
+    }
+
+  return INLINE_SYSCALL (utimensat, 4, fd, NULL, tvp ? &ts : NULL, 0);
+}
+weak_alias (__futimes, futimes)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/futimesat.c b/REORG.TODO/sysdeps/unix/sysv/linux/futimesat.c
new file mode 100644
index 0000000000..88d11941a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/futimesat.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <utime.h>
+#include <sys/time.h>
+#include <sysdep.h>
+
+
+/* Change the access time of FILE relative to FD to TVP[0] and
+   the modification time of FILE to TVP[1].  */
+int
+futimesat (int fd, const char *file, const struct timeval tvp[2])
+{
+  if (file == NULL)
+    return __futimes (fd, tvp);
+
+  /* Avoid implicit array coercion in syscall macros.  */
+  return INLINE_SYSCALL (futimesat, 3, fd, file, &tvp[0]);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/fxstat.c
new file mode 100644
index 0000000000..b7b84264d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fxstat.c
@@ -0,0 +1,61 @@
+/* fxstat using old-style Unix fstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __fxstat64 __fxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file FD in BUF.  */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (fstat, 2, fd, buf);
+
+#ifdef STAT_IS_KERNEL_STAT
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+#else
+  struct kernel_stat kbuf;
+  int result;
+
+  result = INLINE_SYSCALL (fstat, 2, fd, &kbuf);
+  if (result == 0)
+    result = __xstat_conv (vers, &kbuf, buf);
+
+  return result;
+#endif
+}
+
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+#if XSTAT_IS_XSTAT64
+#undef __fxstat64
+strong_alias (__fxstat, __fxstat64);
+hidden_ver (__fxstat, __fxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/fxstat64.c
new file mode 100644
index 0000000000..8a59d86d31
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fxstat64.c
@@ -0,0 +1,53 @@
+/* fxstat64 using Linux fstat64 system call.
+   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 <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <kernel-features.h>
+
+/* Get information about the file FD in BUF.  */
+
+int
+___fxstat64 (int vers, int fd, struct stat64 *buf)
+{
+  int result;
+  result = INLINE_SYSCALL (fstat64, 2, fd, buf);
+#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT
+  if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
+    buf->st_ino = buf->__st_ino;
+#endif
+  return result;
+}
+
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
+strong_alias (___fxstat64, __old__fxstat64)
+compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
+hidden_ver (___fxstat64, __fxstat64)
+#else
+strong_alias (___fxstat64, __fxstat64)
+hidden_def (__fxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat.c
new file mode 100644
index 0000000000..23f17eaf70
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if fxstatat == fxstatat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __fxstatat64 __fxstatat64_disable
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
+{
+  int result;
+  INTERNAL_SYSCALL_DECL (err);
+#ifdef STAT_IS_KERNEL_STAT
+# define kst (*st)
+#else
+  struct kernel_stat kst;
+#endif
+
+  result = INTERNAL_SYSCALL (newfstatat, err, 4, fd, file, &kst, flag);
+  if (!__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    {
+#ifdef STAT_IS_KERNEL_STAT
+      return 0;
+#else
+      return __xstat_conv (vers, &kst, st);
+#endif
+    }
+  else
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+								      err));
+}
+libc_hidden_def (__fxstatat)
+#if XSTAT_IS_XSTAT64
+# undef __fxstatat64
+strong_alias (__fxstatat, __fxstatat64);
+libc_hidden_def (__fxstatat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat64.c
new file mode 100644
index 0000000000..ef1e132c11
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/fxstatat64.c
@@ -0,0 +1,47 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+
+int
+__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
+{
+  if (__glibc_unlikely (vers != _STAT_VER_LINUX))
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  int result;
+  INTERNAL_SYSCALL_DECL (err);
+
+  result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, st, flag);
+  if (!__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return 0;
+  else
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+								      err));
+}
+libc_hidden_def (__fxstatat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/gai_sigqueue.c b/REORG.TODO/sysdeps/unix/sysv/linux/gai_sigqueue.c
new file mode 100644
index 0000000000..0f7b459b5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/gai_sigqueue.c
@@ -0,0 +1,52 @@
+/* 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 <errno.h>
+#include <netdb.h>
+#include <signal.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include "gai_misc.h"
+
+#ifdef __NR_rt_sigqueueinfo
+
+/* Return any pending signal or wait for one for the given time.  */
+int
+internal_function
+__gai_sigqueue (int sig, const union sigval val, pid_t caller_pid)
+{
+  siginfo_t info;
+
+  /* First, clear the siginfo_t structure, so that we don't pass our
+     stack content to other tasks.  */
+  memset (&info, 0, sizeof (siginfo_t));
+  /* We must pass the information about the data in a siginfo_t value.  */
+  info.si_signo = sig;
+  info.si_code = SI_ASYNCNL;
+  info.si_pid = caller_pid;
+  info.si_uid = __getuid ();
+  info.si_value = val;
+
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
+}
+#else
+# include <resolv/gai_sigqueue.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/generic/Makefile
new file mode 100644
index 0000000000..7e27e79772
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),misc)
+sysdep_routines += epoll_create inotify_init
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/README b/REORG.TODO/sysdeps/unix/sysv/linux/generic/README
new file mode 100644
index 0000000000..301a6107e1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/README
@@ -0,0 +1,11 @@
+This hierarchy supports Linux systems using the new
+asm-generic/unistd.h, which removes many familiar old syscalls.  For
+example, to implement open(), newer Linux architectures require glibc
+to invoke the __NR_openat syscall with AT_FDCWD.  This hierarchy
+provides all those implementations.
+
+It also provides support for 32-bit platforms using the 64-bit kernel
+syscall APIs, as the 32-bit ones are no longer provided.  Note that
+newer ILP32 environments (x32 or AArch64:ILP32, for example) are
+converting to use more 64-bit types in kernel syscalls, so that aspect
+of this support is in more flux as of this writing.
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/____longjmp_chk.c
new file mode 100644
index 0000000000..1c0f040976
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/____longjmp_chk.c
@@ -0,0 +1,57 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <jmpbuf-offsets.h>
+#include <sysdep.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stackinfo.h>
+
+#ifdef _STACK_GROWS_DOWN
+#define called_from(this, saved) ((this) < (saved))
+#else
+#define called_from(this, saved) ((this) > (saved))
+#endif
+
+extern void ____longjmp_chk (__jmp_buf __env, int __val)
+  __attribute__ ((__noreturn__));
+
+void ____longjmp_chk (__jmp_buf env, int val)
+{
+  void *this_frame = __builtin_frame_address (0);
+  void *saved_frame = JB_FRAME_ADDRESS (env);
+  INTERNAL_SYSCALL_DECL (err);
+  stack_t ss;
+
+  /* If "env" is from a frame that called us, we're all set.  */
+  if (called_from(this_frame, saved_frame))
+    __longjmp (env, val);
+
+  /* If we can't get the current stack state, give up and do the longjmp. */
+  if (INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &ss) != 0)
+    __longjmp (env, val);
+
+  /* If we we are executing on the alternate stack and within the
+     bounds, do the longjmp.  */
+  if (ss.ss_flags == SS_ONSTACK &&
+      (this_frame >= ss.ss_sp && this_frame < (ss.ss_sp + ss.ss_size)))
+    __longjmp (env, val);
+
+  __fortify_fail ("longjmp causes uninitialized stack frame");
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/fcntl.h
new file mode 100644
index 0000000000..0767467f82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/fcntl.h
@@ -0,0 +1,56 @@
+/* O_*, F_*, FD_* bit values for the generic Linux ABI.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+# define __O_LARGEFILE	0
+#endif
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/msq.h
new file mode 100644
index 0000000000..fc80473af6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/msq.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+#if __WORDSIZE == 32
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#if __WORDSIZE == 32
+  unsigned long int __glibc_reserved2;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+#if __WORDSIZE == 32
+  unsigned long int __glibc_reserved3;
+#endif
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved4;
+  unsigned long int __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/sem.h
new file mode 100644
index 0000000000..718ee74403
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/sem.h
@@ -0,0 +1,92 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+#include <bits/wordsize.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+#if __WORDSIZE == 32
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t sem_ctime;			/* last time changed by semctl() */
+#if __WORDSIZE == 32
+  unsigned long int __glibc_reserved2;
+#endif
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved3;
+  unsigned long int __glibc_reserved4;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/shm.h
new file mode 100644
index 0000000000..057b85c601
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/shm.h
@@ -0,0 +1,111 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+#if __WORDSIZE == 32
+    unsigned long int __glibc_reserved1;
+#endif
+    __time_t shm_dtime;			/* time of last shmdt() */
+#if __WORDSIZE == 32
+    unsigned long int __glibc_reserved2;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+#if __WORDSIZE == 32
+    unsigned long int __glibc_reserved3;
+#endif
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/stat.h
new file mode 100644
index 0000000000..6b2ee71e28
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/stat.h
@@ -0,0 +1,171 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+#include <endian.h>
+#include <bits/wordsize.h>
+
+/* 64-bit libc uses the kernel's 'struct stat', accessed via the
+   stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
+   and accesses it via the stat64() syscall.  All the various
+   APIs offered by libc use the kernel shape for their struct stat
+   structure; the only difference is that 32-bit programs not
+   using __USE_FILE_OFFSET64 only see the low 32 bits of some
+   of the fields (specifically st_ino, st_size, and st_blocks).  */
+#define _STAT_VER_KERNEL	0
+#define _STAT_VER_LINUX		0
+#define _STAT_VER		_STAT_VER_KERNEL
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	0
+
+#if defined __USE_FILE_OFFSET64
+# define __field64(type, type64, name) type64 name
+#elif __WORDSIZE == 64
+# define __field64(type, type64, name) type name
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+# define __field64(type, type64, name) \
+  type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
+#else
+# define __field64(type, type64, name) \
+  int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
+#endif
+
+struct stat
+  {
+    __dev_t st_dev;		/* Device.  */
+    __field64(__ino_t, __ino64_t, st_ino);  /* File serial number. */
+    __mode_t st_mode;		/* File mode.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __dev_t __pad1;
+    __field64(__off_t, __off64_t, st_size);  /* Size of file, in bytes. */
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    int __pad2;
+    __field64(__blkcnt_t, __blkcnt64_t, st_blocks);  /* 512-byte blocks */
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    int __glibc_reserved[2];
+  };
+
+#undef __field64
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino64_t st_ino;		/* File serial number.	*/
+    __mode_t st_mode;		/* File mode.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __dev_t __pad1;
+    __off64_t st_size;		/* Size of file, in bytes.  */
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    int __pad2;
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    int __glibc_reserved[2];
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif /* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/statfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/statfs.h
new file mode 100644
index 0000000000..8dc8f0aa79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/statfs.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATFS_H
+# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
+#endif
+
+#include <endian.h>
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* 64-bit libc uses the kernel's 'struct statfs', accessed via the
+   statfs() syscall; 32-bit libc uses the kernel's 'struct statfs64'
+   and accesses it via the statfs64() syscall.  All the various
+   APIs offered by libc use the kernel shape for their struct statfs
+   structure; the only difference is that 32-bit programs not
+   using __USE_FILE_OFFSET64 only see the low 32 bits of some
+   of the fields (the __fsblkcnt_t and __fsfilcnt_t fields).  */
+
+#if defined __USE_FILE_OFFSET64
+# define __field64(type, type64, name) type64 name
+#elif __WORDSIZE == 64
+# define __field64(type, type64, name) type name
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+# define __field64(type, type64, name) \
+  type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
+#else
+# define __field64(type, type64, name) \
+  int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
+#endif
+
+struct statfs
+  {
+    __SWORD_TYPE f_type;
+    __SWORD_TYPE f_bsize;
+    __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
+    __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
+    __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
+    __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
+    __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
+    __fsid_t f_fsid;
+    __SWORD_TYPE f_namelen;
+    __SWORD_TYPE f_frsize;
+    __SWORD_TYPE f_flags;
+    __SWORD_TYPE f_spare[4];
+  };
+
+#undef __field64
+
+#ifdef __USE_LARGEFILE64
+struct statfs64
+  {
+    __SWORD_TYPE f_type;
+    __SWORD_TYPE f_bsize;
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsid_t f_fsid;
+    __SWORD_TYPE f_namelen;
+    __SWORD_TYPE f_frsize;
+    __SWORD_TYPE f_flags;
+    __SWORD_TYPE f_spare[4];
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define _STATFS_F_NAMELEN
+#define _STATFS_F_FRSIZE
+#define _STATFS_F_FLAGS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/typesizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
new file mode 100644
index 0000000000..49e911ef8c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
@@ -0,0 +1,84 @@
+/* bits/typesizes.h -- underlying types for *_t.  For the generic Linux ABI.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef	_BITS_TYPESIZES_H
+#define	_BITS_TYPESIZES_H	1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+#define __DEV_T_TYPE		__UQUAD_TYPE
+#define __UID_T_TYPE		__U32_TYPE
+#define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
+#define __INO64_T_TYPE		__UQUAD_TYPE
+#define __MODE_T_TYPE		__U32_TYPE
+#define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
+#define __OFF64_T_TYPE		__SQUAD_TYPE
+#define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
+#define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
+#define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
+#define	__ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
+#define __USECONDS_T_TYPE	__U32_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
+#define __DADDR_T_TYPE		__S32_TYPE
+#define __KEY_T_TYPE		__S32_TYPE
+#define __CLOCKID_T_TYPE	__S32_TYPE
+#define __TIMER_T_TYPE		void *
+#define __BLKSIZE_T_TYPE	__S32_TYPE
+#define __FSID_T_TYPE		struct { int __val[2]; }
+#define __SSIZE_T_TYPE		__SWORD_TYPE
+#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
+
+#ifdef __LP64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
+
+/* And for __rlim_t and __rlim64_t.  */
+# define __RLIM_T_MATCHES_RLIM64_T	1
+#else
+# define __RLIM_T_MATCHES_RLIM64_T	0
+#endif
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define	__FD_SETSIZE		1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/brk.c
new file mode 100644
index 0000000000..7838ecdb9b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/brk.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux ELF dynamic
+   linker.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  INTERNAL_SYSCALL_DECL (err);
+
+  __curbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
+  if (__curbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/chmod.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/chmod.c
new file mode 100644
index 0000000000..41d6d9851f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/chmod.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+/* Change the protections of FILE to MODE.  */
+int
+__chmod (const char *file, mode_t mode)
+{
+  return INLINE_SYSCALL (fchmodat, 3, AT_FDCWD, file, mode);
+}
+weak_alias (__chmod, chmod)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/chown.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/chown.c
new file mode 100644
index 0000000000..1917f44f65
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/chown.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+/* Change the owner and group of FILE.  */
+int
+__chown (const char *file, uid_t owner, gid_t group)
+{
+  return INLINE_SYSCALL (fchownat, 5, AT_FDCWD, file, owner, group, 0);
+}
+libc_hidden_def (__chown)
+weak_alias (__chown, chown)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/dl-origin.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/dl-origin.c
new file mode 100644
index 0000000000..04ea9044be
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/dl-origin.c
@@ -0,0 +1,81 @@
+/* Find path of executable.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/param.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+#include <dl-dst.h>
+
+/* On Linux >= 2.1 systems which have the dcache implementation we can get
+   the path of the application from the /proc/self/exe symlink.  Try this
+   first and fall back on the generic method if necessary.  */
+
+const char *
+_dl_get_origin (void)
+{
+  char linkval[PATH_MAX];
+  char *result;
+  int len;
+  INTERNAL_SYSCALL_DECL (err);
+
+  len = INTERNAL_SYSCALL (readlinkat, err, 4, AT_FDCWD, "/proc/self/exe",
+                          linkval, sizeof (linkval));
+  if (! INTERNAL_SYSCALL_ERROR_P (len, err) && len > 0 && linkval[0] != '[')
+    {
+      /* We can use this value.  */
+      assert (linkval[0] == '/');
+      while (len > 1 && linkval[len - 1] != '/')
+	--len;
+      result = (char *) malloc (len + 1);
+      if (result == NULL)
+	result = (char *) -1;
+      else if (len == 1)
+	memcpy (result, "/", 2);
+      else
+	*((char *) __mempcpy (result, linkval, len - 1)) = '\0';
+    }
+  else
+    {
+      result = (char *) -1;
+      /* We use the environment variable LD_ORIGIN_PATH.  If it is set make
+	 a copy and strip out trailing slashes.  */
+      if (GLRO(dl_origin_path) != NULL)
+	{
+	  size_t len = strlen (GLRO(dl_origin_path));
+	  result = (char *) malloc (len + 1);
+	  if (result == NULL)
+	    result = (char *) -1;
+	  else
+	    {
+	      char *cp = __mempcpy (result, GLRO(dl_origin_path), len);
+	      while (cp > result + 1 && cp[-1] == '/')
+		--cp;
+	      *cp = '\0';
+	    }
+	}
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/dup2.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/dup2.c
new file mode 100644
index 0000000000..c86b85bff1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/dup2.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <unistd.h>
+
+/* Duplicate FD to FD2, closing the old FD2 and making FD2 be
+   open the same file as FD is.  Return FD2 or -1.  */
+int
+__dup2 (int fd, int fd2)
+{
+  /* For the degenerate case, check if the fd is valid (by trying to
+     get the file status flags) and return it, or else return EBADF.  */
+  if (fd == fd2)
+    return __libc_fcntl (fd, F_GETFL, 0) < 0 ? -1 : fd;
+
+  return INLINE_SYSCALL (dup3, 3, fd, fd2, 0);
+}
+libc_hidden_def (__dup2)
+weak_alias (__dup2, dup2)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/epoll_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/epoll_create.c
new file mode 100644
index 0000000000..6034bccca5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/epoll_create.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/epoll.h>
+
+libc_hidden_proto (epoll_create)
+
+int
+epoll_create (int size)
+{
+  if (size <= 0)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return INLINE_SYSCALL (epoll_create1, 1, 0);
+}
+libc_hidden_def (epoll_create)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/futimesat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/futimesat.c
new file mode 100644
index 0000000000..afc580a8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/futimesat.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <utime.h>
+#include <sys/time.h>
+#include <sysdep.h>
+
+
+/* Change the access time of FILE relative to FD to TVP[0] and
+   the modification time of FILE to TVP[1].  */
+int
+futimesat (int fd, const char *file, const struct timeval tvp[2])
+{
+  struct timespec tsp[2];
+  int result;
+
+  if (tvp)
+    {
+      if (tvp[0].tv_usec >= 1000000 || tvp[0].tv_usec < 0 ||
+          tvp[1].tv_usec >= 1000000 || tvp[1].tv_usec < 0)
+        {
+          __set_errno (EINVAL);
+          return -1;
+        }
+      TIMEVAL_TO_TIMESPEC (&tvp[0], &tsp[0]);
+      TIMEVAL_TO_TIMESPEC (&tvp[1], &tsp[1]);
+    }
+
+  result = INLINE_SYSCALL (utimensat, 4, fd, file, tvp ? tsp : NULL, 0);
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents.c
new file mode 100644
index 0000000000..14dbbc71a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents.c
@@ -0,0 +1 @@
+/* Defined in getdents64.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents64.c
new file mode 100644
index 0000000000..2334201bc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/getdents64.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <bits/wordsize.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The kernel struct linux_dirent64 matches the 'struct getdents64' type.  */
+ssize_t
+__getdents64 (int fd, char *buf, size_t nbytes)
+{
+  return INLINE_SYSCALL (getdents64, 3, fd, buf, nbytes);
+}
+
+#if __WORDSIZE == 64
+strong_alias (__getdents64, __getdents)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/inotify_init.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/inotify_init.c
new file mode 100644
index 0000000000..cbf2034d99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/inotify_init.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/inotify.h>
+
+libc_hidden_proto (inotify_init)
+
+int
+inotify_init (void)
+{
+  return INLINE_SYSCALL (inotify_init1, 1, 0);
+}
+libc_hidden_def (inotify_init)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/kernel_stat.h
new file mode 100644
index 0000000000..574907b0da
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/kernel_stat.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <bits/wordsize.h>
+
+#define STAT_IS_KERNEL_STAT 1
+
+/* We provide separate 32-bit API versions that check for EOVERFLOW. */
+#if __WORDSIZE == 64
+# define XSTAT_IS_XSTAT64 1
+#else
+# define XSTAT_IS_XSTAT64 0
+#endif
+
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/lchown.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/lchown.c
new file mode 100644
index 0000000000..c69a85fb1c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/lchown.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+/* Change the owner and group of FILE.  */
+int
+__lchown (const char *file, uid_t owner, gid_t group)
+{
+  return INLINE_SYSCALL (fchownat, 5, AT_FDCWD, file, owner, group,
+                         AT_SYMLINK_NOFOLLOW);
+}
+weak_alias (__lchown, lchown)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/link.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/link.c
new file mode 100644
index 0000000000..d2e5ed968f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/link.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+/* Make a link to FROM called TO.  */
+int
+__link (const char *from, const char *to)
+{
+  return INLINE_SYSCALL (linkat, 5, AT_FDCWD, from, AT_FDCWD, to, 0);
+}
+
+weak_alias (__link, link)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/lxstat.c
new file mode 100644
index 0000000000..becc17c531
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/lxstat.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ignore prototype to avoid error if we alias __lxstat and __lxstat64. */
+#define __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (newfstatat, 4, AT_FDCWD, name, buf,
+                           AT_SYMLINK_NOFOLLOW);
+  errno = EINVAL;
+  return -1;
+}
+
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+#if XSTAT_IS_XSTAT64
+#undef __lxstat64
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/mkdir.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/mkdir.c
new file mode 100644
index 0000000000..6571d29ca3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/mkdir.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sysdep.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+/* Create a directory named PATH with protections MODE.  */
+int
+__mkdir (const char *path, mode_t mode)
+{
+  return INLINE_SYSCALL (mkdirat, 3, AT_FDCWD, path, mode);
+}
+weak_alias (__mkdir, mkdir)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/pipe.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/pipe.c
new file mode 100644
index 0000000000..4b3c5bd3b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/pipe.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <stddef.h>
+
+/* Create a one-way communication channel (__pipe).
+   If successful, two file descriptors are stored in PIPEDES;
+   bytes written on PIPEDES[1] can be read from PIPEDES[0].
+   Returns 0 if successful, -1 if not.  */
+int
+__pipe (int __pipedes[2])
+{
+  return INLINE_SYSCALL (pipe2, 2, __pipedes, 0);
+}
+libc_hidden_def (__pipe)
+weak_alias (__pipe, pipe)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink.c
new file mode 100644
index 0000000000..ad2d018a4f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+/* Read the contents of the symbolic link PATH into no more than
+   LEN bytes of BUF.  The contents are not null-terminated.
+   Returns the number of characters read, or -1 for errors.  */
+ssize_t
+__readlink (const char *path, char *buf, size_t len)
+{
+  return INLINE_SYSCALL (readlinkat, 4, AT_FDCWD, path, buf, len);
+}
+weak_alias (__readlink, readlink)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink_chk.c
new file mode 100644
index 0000000000..54b108fead
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/readlink_chk.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/param.h>
+#ifdef HAVE_INLINED_SYSCALLS
+# include <errno.h>
+# include <sysdep.h>
+#endif
+
+
+ssize_t
+__readlink_chk (const char *path, void *buf, size_t len, size_t buflen)
+{
+  if (len > buflen)
+    __chk_fail ();
+
+#ifdef HAVE_INLINED_SYSCALLS
+  return INLINE_SYSCALL (readlinkat, 4, AT_FDCWD, path, buf, len);
+#else
+  return __readlink (path, buf, len);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/rmdir.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/rmdir.c
new file mode 100644
index 0000000000..2048c08b06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/rmdir.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+
+/* Remove the directory PATH.  */
+int
+__rmdir (const char *path)
+{
+  return INLINE_SYSCALL (unlinkat, 3, AT_FDCWD, path, AT_REMOVEDIR);
+}
+weak_alias (__rmdir, rmdir)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/symlink.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/symlink.c
new file mode 100644
index 0000000000..70cc4ab70d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/symlink.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+/* Make a link to FROM called TO.  */
+int
+__symlink (const char *from, const char *to)
+{
+  return INLINE_SYSCALL (symlinkat, 3, from, AT_FDCWD, to);
+}
+weak_alias (__symlink, symlink)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/generic/syscalls.list
new file mode 100644
index 0000000000..ed8b216d47
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/syscalls.list
@@ -0,0 +1,12 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+# Socket APIs
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
+bind		-	bind		i:ipi	__bind		bind
+listen		-	listen		i:ii	__listen	listen
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysctl.c
new file mode 100644
index 0000000000..f9961d4cdb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysctl.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* This deprecated syscall is no longer used (replaced with /proc/sys).  */
+int
+sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
+        void *newval, size_t newlen)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+stub_warning (sysctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysdep.h
new file mode 100644
index 0000000000..0e854ad69e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/sysdep.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <bits/wordsize.h>
+#include <kernel-features.h>
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+
+/* Provide the common name to allow more code reuse.  */
+#ifdef __NR_llseek
+# define __NR__llseek __NR_llseek
+#endif
+
+#if __WORDSIZE == 64
+/* By defining the older names, glibc will build syscall wrappers for
+   both pread and pread64; sysdeps/unix/sysv/linux/wordsize-64/pread64.c
+   will suppress generating any separate code for pread64.c.  */
+#define __NR_pread __NR_pread64
+#define __NR_pwrite __NR_pwrite64
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/umount.c
new file mode 100644
index 0000000000..6b933c6e43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/umount.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Since the generic Linux syscall ABI doesn't have an oldumount system call,
+   do what the kernel does down here.  */
+
+extern long int __umount2 (const char *name, int flags);
+
+long int
+__umount (const char *name)
+{
+  return __umount2 (name, 0);
+}
+
+weak_alias (__umount, umount);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/unlink.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/unlink.c
new file mode 100644
index 0000000000..25953f2145
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/unlink.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+
+/* Remove the link named NAME.  */
+int
+__unlink (const char *name)
+{
+  return INLINE_SYSCALL (unlinkat, 3, AT_FDCWD, name, 0);
+}
+weak_alias (__unlink, unlink)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/ustat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/ustat.c
new file mode 100644
index 0000000000..780d931a5c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/ustat.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/ustat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* This deprecated syscall is no longer used (replaced with fstat).  */
+int
+ustat (dev_t dev, struct ustat *ubuf)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+stub_warning (ustat)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/utimes.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/utimes.c
new file mode 100644
index 0000000000..de8d6d9df7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/utimes.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <utime.h>
+#include <fcntl.h>
+#include <sys/time.h>
+#include <sysdep.h>
+
+
+/* Change the access time of FILE to TVP[0] and
+   the modification time of FILE to TVP[1].  */
+int
+__utimes (const char *file, const struct timeval tvp[2])
+{
+  struct timespec ts[2];
+  struct timespec *tsp = NULL;
+
+  if (tvp)
+    {
+      TIMEVAL_TO_TIMESPEC (&tvp[0], &ts[0]);
+      TIMEVAL_TO_TIMESPEC (&tvp[1], &ts[1]);
+      tsp = &ts[0];
+    }
+
+  return INLINE_SYSCALL (utimensat, 4, AT_FDCWD, file, tsp, 0);
+}
+
+weak_alias (__utimes, utimes)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions
new file mode 100644
index 0000000000..cdc6022015
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions
@@ -0,0 +1,5 @@
+libc {
+  GLIBC_2.15 {
+    fallocate64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c
new file mode 100644
index 0000000000..20399f9310
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c
@@ -0,0 +1,86 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <sysdep-cancel.h>	/* Must come before <fcntl.h>.  */
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sys/syscall.h>
+
+
+static int
+do_fcntl (int fd, int cmd, void *arg)
+{
+  if (cmd != F_GETOWN)
+    return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
+
+  INTERNAL_SYSCALL_DECL (err);
+  struct f_owner_ex fex;
+  int res = INTERNAL_SYSCALL (fcntl64, err, 3, fd, F_GETOWN_EX, &fex);
+  if (!INTERNAL_SYSCALL_ERROR_P (res, err))
+    return fex.type == F_OWNER_GID ? -fex.pid : fex.pid;
+
+  __set_errno (INTERNAL_SYSCALL_ERRNO (res, err));
+  return -1;
+}
+
+
+#ifndef NO_CANCELLATION
+int
+__fcntl_nocancel (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  return do_fcntl (fd, cmd, arg);
+}
+#endif
+
+
+int
+__libc_fcntl (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  if (SINGLE_THREAD_P || cmd != F_SETLKW)
+    return do_fcntl (fd, cmd, arg);
+
+  int oldtype = LIBC_CANCEL_ASYNC ();
+
+  int result = do_fcntl (fd, cmd, arg);
+
+  LIBC_CANCEL_RESET (oldtype);
+
+  return result;
+}
+libc_hidden_def (__libc_fcntl)
+
+weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
+weak_alias (__libc_fcntl, fcntl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c
new file mode 100644
index 0000000000..4c0a83040d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/statfs.h>
+#include <kernel_stat.h>
+#include <stddef.h>
+
+#if !STATFS_IS_STATFS64
+#include "overflow.h"
+
+/* Return information about the filesystem on which FD resides.  */
+int
+__fstatfs (int fd, struct statfs *buf)
+{
+  int rc = INLINE_SYSCALL (fstatfs64, 3, fd, sizeof (*buf), buf);
+  return rc ?: statfs_overflow (buf);
+}
+weak_alias (__fstatfs, fstatfs)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
new file mode 100644
index 0000000000..55c830731d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
@@ -0,0 +1,47 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#if !XSTAT_IS_XSTAT64
+#include "overflow.h"
+
+/* Get information about the file FD in BUF.  */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    {
+      int rc = INLINE_SYSCALL (fstat64, 2, fd, buf);
+      return rc ?: stat_overflow (buf);
+    }
+
+  errno = EINVAL;
+  return -1;
+}
+
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
new file mode 100644
index 0000000000..c7f128c622
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
@@ -0,0 +1,36 @@
+/* __fxstat64 () implementation.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototypes for __fxstat and _fxstat so that GCC will not
+   complain about the different function signatures if they are aliased
+   to  __fxstat64.  If XSTAT_IS_XSTAT64 is set to non-zero then the stat and
+   stat64 structures have an identical layout but different type names.  */
+
+#define __fxstat __fxstat_disable
+#define _fxstat _fxstat_disable
+
+#include <sysdeps/unix/sysv/linux/fxstat64.c>
+
+#undef __fxstat
+#undef _fxstat
+#if XSTAT_IS_XSTAT64
+weak_alias (__fxstat64, __fxstat)
+weak_alias (__fxstat64, _fxstat)
+hidden_ver (__fxstat64, __fxstat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
new file mode 100644
index 0000000000..2c1feea6b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#if !XSTAT_IS_XSTAT64
+#include "overflow.h"
+
+/* Get information about the file NAME in BUF.  */
+int
+__fxstatat (int vers, int fd, const char *file, struct stat *buf, int flag)
+{
+  if (vers == _STAT_VER_KERNEL)
+    {
+      int rc = INLINE_SYSCALL (fstatat64, 4, fd, file, buf, flag);
+      return rc ?: stat_overflow (buf);
+    }
+
+  errno = EINVAL;
+  return -1;
+}
+libc_hidden_def (__fxstatat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
new file mode 100644
index 0000000000..93fa42b686
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
@@ -0,0 +1,37 @@
+/* __fxstatat64 () implementation.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototype for __fxstatat so that GCC will not complain about
+   the different function signature if it is aliased to  __fxstatat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64 structures
+   have an identical layout but different type names.  */
+
+#define __fxstatat __fxstatat_disable
+
+#include <sys/stat.h>
+#undef _STAT_VER_LINUX
+#define _STAT_VER_LINUX _STAT_VER_KERNEL
+
+#include <sysdeps/unix/sysv/linux/fxstatat64.c>
+
+#undef __fxstatat
+#if XSTAT_IS_XSTAT64
+weak_alias (__fxstatat64, __fxstatat)
+libc_hidden_ver (__fxstatat64, __fxstatat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c
new file mode 100644
index 0000000000..9f1c991694
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c
@@ -0,0 +1,115 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Simplified from sysdeps/unix/sysv/linux/getdents.c.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <alloca.h>
+#include <assert.h>
+#include <errno.h>
+#include <dirent.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <sys/types.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Pack the dirent64 struct down into 32-bit offset/inode fields, and
+   ensure that no overflow occurs.  */
+ssize_t
+__getdents (int fd, char *buf, size_t nbytes)
+{
+  union
+  {
+    struct dirent64 k;  /* Kernel structure.  */
+    struct dirent u;
+    char b[1];
+  } *kbuf = (void *) buf, *outp, *inp;
+  size_t kbytes = nbytes;
+  off64_t last_offset = -1;
+  ssize_t retval;
+
+  const size_t size_diff = (offsetof (struct dirent64, d_name)
+                            - offsetof (struct dirent, d_name));
+  if (nbytes <= sizeof (struct dirent))
+    {
+      kbytes = nbytes + offsetof (struct dirent64, d_name)
+        - offsetof (struct dirent, d_name);
+      kbuf = __alloca(kbytes);
+    }
+
+  retval = INLINE_SYSCALL (getdents64, 3, fd, kbuf, kbytes);
+  if (retval == -1)
+    return -1;
+
+  /* These two pointers might alias the same memory buffer.
+     Standard C requires that we always use the same type for them,
+     so we must use the union type.  */
+  inp = kbuf;
+  outp = (void *) buf;
+
+  while (&inp->b < &kbuf->b + retval)
+    {
+      const size_t alignment = __alignof__ (struct dirent);
+      /* Since inp->k.d_reclen is already aligned for the kernel
+         structure this may compute a value that is bigger
+         than necessary.  */
+      size_t old_reclen = inp->k.d_reclen;
+      size_t new_reclen = ((old_reclen - size_diff + alignment - 1)
+                           & ~(alignment - 1));
+
+      /* Copy the data out of the old structure into temporary space.
+         Then copy the name, which may overlap if BUF == KBUF.  */
+      const uint64_t d_ino = inp->k.d_ino;
+      const int64_t d_off = inp->k.d_off;
+      const uint8_t d_type = inp->k.d_type;
+
+      memmove (outp->u.d_name, inp->k.d_name,
+               old_reclen - offsetof (struct dirent64, d_name));
+
+      /* Now we have copied the data from INP and access only OUTP.  */
+
+      outp->u.d_ino = d_ino;
+      outp->u.d_off = d_off;
+      if ((sizeof (outp->u.d_ino) != sizeof (inp->k.d_ino)
+           && outp->u.d_ino != d_ino)
+          || (sizeof (outp->u.d_off) != sizeof (inp->k.d_off)
+              && outp->u.d_off != d_off))
+        {
+          /* Overflow.  If there was at least one entry before this one,
+             return them without error, otherwise signal overflow.  */
+          if (last_offset != -1)
+            {
+              __lseek64 (fd, last_offset, SEEK_SET);
+              return outp->b - buf;
+            }
+          __set_errno (EOVERFLOW);
+          return -1;
+        }
+
+      last_offset = d_off;
+      outp->u.d_reclen = new_reclen;
+      outp->u.d_type = d_type;
+
+      inp = (void *) inp + old_reclen;
+      outp = (void *) outp + new_reclen;
+    }
+
+  return outp->b - buf;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
new file mode 100644
index 0000000000..db4f4919fc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#if !XSTAT_IS_XSTAT64
+#include "overflow.h"
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    {
+      int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf,
+                               AT_SYMLINK_NOFOLLOW);
+      return rc ?: stat_overflow (buf);
+    }
+  errno = EINVAL;
+  return -1;
+}
+hidden_def (__lxstat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
new file mode 100644
index 0000000000..647939a74c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototype for __lxstat so that GCC will not complain about
+   the different function signature if it is aliased to  __lxstat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64
+   structures have an identical layout but different type names.  */
+
+#define __lxstat __lxstat_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf,
+                           AT_SYMLINK_NOFOLLOW);
+  errno = EINVAL;
+  return -1;
+}
+hidden_def (__lxstat64)
+
+#undef __lxstat
+#if XSTAT_IS_XSTAT64
+strong_alias (__lxstat64, __lxstat)
+hidden_ver (__lxstat64, __lxstat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h
new file mode 100644
index 0000000000..4c993ac817
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h
@@ -0,0 +1,60 @@
+/* Overflow tests for stat, statfs, and lseek functions.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/stat.h>
+#include <sys/statfs.h>
+
+/* Test for overflows of structures where we ask the kernel to fill them
+   in with standard 64-bit syscalls but return them through APIs that
+   only expose the low 32 bits of some fields.  */
+
+static inline off_t lseek_overflow (loff_t res)
+{
+  off_t retval = (off_t) res;
+  if (retval == res)
+    return retval;
+
+  __set_errno (EOVERFLOW);
+  return (off_t) -1;
+}
+
+static inline int stat_overflow (struct stat *buf)
+{
+  if (buf->__st_ino_pad == 0 && buf->__st_size_pad == 0 &&
+      buf->__st_blocks_pad == 0)
+    return 0;
+
+  __set_errno (EOVERFLOW);
+  return -1;
+}
+
+/* Note that f_files and f_ffree may validly be a sign-extended -1.  */
+static inline int statfs_overflow (struct statfs *buf)
+{
+  if (buf->__f_blocks_pad == 0 && buf->__f_bfree_pad == 0 &&
+      buf->__f_bavail_pad == 0 &&
+      (buf->__f_files_pad == 0 ||
+       (buf->f_files == -1U && buf->__f_files_pad == -1)) &&
+      (buf->__f_ffree_pad == 0 ||
+       (buf->f_ffree == -1U && buf->__f_ffree_pad == -1)))
+    return 0;
+
+  __set_errno (EOVERFLOW);
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c
new file mode 100644
index 0000000000..2c252cc2cf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sendfile.h>
+#include <errno.h>
+
+/* Send COUNT bytes from file associated with IN_FD starting at OFFSET to
+   descriptor OUT_FD.  */
+ssize_t
+sendfile (int out_fd, int in_fd, off_t *offset, size_t count)
+{
+  __off64_t off64;
+  int rc;
+
+  if (offset != NULL)
+    {
+      if (*offset < 0 || (off_t) (*offset + count) < 0)
+        {
+          __set_errno (EINVAL);
+          return -1;
+        }
+      off64 = *offset;
+    }
+
+  rc = INLINE_SYSCALL (sendfile64, 4, out_fd, in_fd,
+                       offset ? &off64 : NULL, count);
+  if (offset)
+    *offset = off64;
+  return rc;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c
new file mode 100644
index 0000000000..11da0021d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/statfs.h>
+#include <kernel_stat.h>
+#include <stddef.h>
+
+#if !STATFS_IS_STATFS64
+#include "overflow.h"
+
+/* Return information about the filesystem on which FILE resides.  */
+int
+__statfs (const char *file, struct statfs *buf)
+{
+  int rc = INLINE_SYSCALL (statfs64, 3, file, sizeof (*buf), buf);
+  return rc ?: statfs_overflow (buf);
+}
+libc_hidden_def (__statfs)
+weak_alias (__statfs, statfs)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
new file mode 100644
index 0000000000..b775008a37
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
@@ -0,0 +1,5 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+# rlimit APIs
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
new file mode 100644
index 0000000000..91c1c9be6d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#if !XSTAT_IS_XSTAT64
+#include "overflow.h"
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    {
+      int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf, 0);
+      return rc ?: stat_overflow (buf);
+    }
+
+  errno = EINVAL;
+  return -1;
+}
+hidden_def (__xstat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
new file mode 100644
index 0000000000..5ef0614eb6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototype for __xstat so that GCC will not complain about
+   the different function signature if it is aliased to  __xstat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64
+   structures have an identical layout but different type names.  */
+
+#define __xstat __xstat_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf, 0);
+
+  errno = EINVAL;
+  return -1;
+}
+hidden_def (__xstat64)
+
+#undef __xstat
+#if XSTAT_IS_XSTAT64
+strong_alias (__xstat64, __xstat)
+hidden_ver (__xstat64, __xstat)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/xmknod.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/xmknod.c
new file mode 100644
index 0000000000..5e91539894
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/xmknod.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Create a device file named PATH, with permission and special bits MODE
+   and device number DEV (which can be constructed from major and minor
+   device numbers with the `makedev' macro above).  */
+int
+__xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
+{
+  unsigned long long int k_dev;
+
+  if (vers != _MKNOD_VER)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = (*dev) & ((1ULL << 32) - 1);
+  if (k_dev != *dev)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return INLINE_SYSCALL (mknodat, 4, AT_FDCWD, path, mode,
+                         (unsigned int) k_dev);
+}
+weak_alias (__xmknod, _xmknod)
+libc_hidden_def (__xmknod)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/generic/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/generic/xstat.c
new file mode 100644
index 0000000000..1a7277a802
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/generic/xstat.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ignore prototype to avoid error if we alias __xstat and __xstat64. */
+#define __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (newfstatat, 4, AT_FDCWD, name, buf, 0);
+
+  errno = EINVAL;
+  return -1;
+}
+
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+#if XSTAT_IS_XSTAT64
+#undef __xstat64
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getclktck.c b/REORG.TODO/sysdeps/unix/sysv/linux/getclktck.c
new file mode 100644
index 0000000000..617ea540c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getclktck.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+
+#include <ldsodefs.h>
+
+#ifndef SYSTEM_CLK_TCK
+# define SYSTEM_CLK_TCK	100
+#endif
+
+/* Return frequency of times().  */
+int
+__getclktck (void)
+{
+  return GLRO(dl_clktck) ?: SYSTEM_CLK_TCK;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getcwd.c b/REORG.TODO/sysdeps/unix/sysv/linux/getcwd.c
new file mode 100644
index 0000000000..3b556fd450
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getcwd.c
@@ -0,0 +1,135 @@
+/* Determine current working directory.  Linux version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <assert.h>
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/param.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+/* If we compile the file for use in ld.so we don't need the feature
+   that getcwd() allocates the buffers itself.  */
+#if IS_IN (rtld)
+# define NO_ALLOCATION	1
+#endif
+
+
+/* The "proc" filesystem provides an easy method to retrieve the value.
+   For each process, the corresponding directory contains a symbolic link
+   named `cwd'.  Reading the content of this link immediate gives us the
+   information.  But we have to take care for systems which do not have
+   the proc filesystem mounted.  Use the POSIX implementation in this case.  */
+static char *generic_getcwd (char *buf, size_t size) internal_function;
+
+char *
+__getcwd (char *buf, size_t size)
+{
+  char *path;
+  char *result;
+
+#ifndef NO_ALLOCATION
+  size_t alloc_size = size;
+  if (size == 0)
+    {
+      if (buf != NULL)
+	{
+	  __set_errno (EINVAL);
+	  return NULL;
+	}
+
+      alloc_size = MAX (PATH_MAX, __getpagesize ());
+    }
+
+  if (buf == NULL)
+    {
+      path = malloc (alloc_size);
+      if (path == NULL)
+	return NULL;
+    }
+  else
+#else
+# define alloc_size size
+#endif
+    path = buf;
+
+  int retval;
+
+  retval = INLINE_SYSCALL (getcwd, 2, path, alloc_size);
+  if (retval >= 0)
+    {
+#ifndef NO_ALLOCATION
+      if (buf == NULL && size == 0)
+	/* Ensure that the buffer is only as large as necessary.  */
+	buf = realloc (path, (size_t) retval);
+
+      if (buf == NULL)
+	/* Either buf was NULL all along, or `realloc' failed but
+	   we still have the original string.  */
+	buf = path;
+#endif
+
+      return buf;
+    }
+
+  /* The system call cannot handle paths longer than a page.
+     Neither can the magic symlink in /proc/self.  Just use the
+     generic implementation right away.  */
+  if (errno == ENAMETOOLONG)
+    {
+#ifndef NO_ALLOCATION
+      if (buf == NULL && size == 0)
+	{
+	  free (path);
+	  path = NULL;
+	}
+#endif
+
+      result = generic_getcwd (path, size);
+
+#ifndef NO_ALLOCATION
+      if (result == NULL && buf == NULL && size != 0)
+	free (path);
+#endif
+
+      return result;
+    }
+
+  /* It should never happen that the `getcwd' syscall failed because
+     the buffer is too small if we allocated the buffer ourselves
+     large enough.  */
+  assert (errno != ERANGE || buf != NULL || size != 0);
+
+#ifndef NO_ALLOCATION
+  if (buf == NULL)
+    free (path);
+#endif
+
+  return NULL;
+}
+weak_alias (__getcwd, getcwd)
+
+/* Get the code for the generic version.  */
+#define GETCWD_RETURN_TYPE	static char * internal_function
+#define __getcwd		generic_getcwd
+#include <sysdeps/posix/getcwd.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getdents.c b/REORG.TODO/sysdeps/unix/sysv/linux/getdents.c
new file mode 100644
index 0000000000..4794eb737d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getdents.c
@@ -0,0 +1,272 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <alloca.h>
+#include <assert.h>
+#include <errno.h>
+#include <dirent.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <sys/types.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <linux/posix_types.h>
+
+#include <kernel-features.h>
+
+/* For Linux we need a special version of this file since the
+   definition of `struct dirent' is not the same for the kernel and
+   the libc.  There is one additional field which might be introduced
+   in the kernel structure in the future.
+
+   Here is the kernel definition of `struct dirent' as of 2.1.20:  */
+
+struct kernel_dirent
+  {
+    long int d_ino;
+    __kernel_off_t d_off;
+    unsigned short int d_reclen;
+    char d_name[256];
+  };
+
+struct kernel_dirent64
+  {
+    uint64_t		d_ino;
+    int64_t		d_off;
+    unsigned short int	d_reclen;
+    unsigned char	d_type;
+    char		d_name[256];
+  };
+
+#ifndef __GETDENTS
+# define __GETDENTS __getdents
+#endif
+#ifndef DIRENT_TYPE
+# define DIRENT_TYPE struct dirent
+#endif
+#ifndef DIRENT_SET_DP_INO
+# define DIRENT_SET_DP_INO(dp, value) (dp)->d_ino = (value)
+#endif
+
+/* The problem here is that we cannot simply read the next NBYTES
+   bytes.  We need to take the additional field into account.  We use
+   some heuristic.  Assuming the directory contains names with 14
+   characters on average we can compute an estimated number of entries
+   which fit in the buffer.  Taking this number allows us to specify a
+   reasonable number of bytes to read.  If we should be wrong, we can
+   reset the file descriptor.  In practice the kernel is limiting the
+   amount of data returned much more then the reduced buffer size.  */
+ssize_t
+internal_function
+__GETDENTS (int fd, char *buf, size_t nbytes)
+{
+  ssize_t retval;
+
+  /* The d_ino and d_off fields in kernel_dirent and dirent must have
+     the same sizes and alignments.  */
+  if (sizeof (DIRENT_TYPE) == sizeof (struct dirent)
+      && (sizeof (((struct kernel_dirent *) 0)->d_ino)
+	  == sizeof (((struct dirent *) 0)->d_ino))
+      && (sizeof (((struct kernel_dirent *) 0)->d_off)
+	  == sizeof (((struct dirent *) 0)->d_off))
+      && (offsetof (struct kernel_dirent, d_off)
+	  == offsetof (struct dirent, d_off))
+      && (offsetof (struct kernel_dirent, d_reclen)
+	  == offsetof (struct dirent, d_reclen)))
+    {
+      retval = INLINE_SYSCALL (getdents, 3, fd, buf, nbytes);
+
+      /* The kernel added the d_type value after the name.  Change
+	 this now.  */
+      if (retval != -1)
+	{
+	  union
+	  {
+	    struct kernel_dirent k;
+	    struct dirent u;
+	  } *kbuf = (void *) buf;
+
+	  while ((char *) kbuf < buf + retval)
+	    {
+	      char d_type = *((char *) kbuf + kbuf->k.d_reclen - 1);
+	      memmove (kbuf->u.d_name, kbuf->k.d_name,
+		       strlen (kbuf->k.d_name) + 1);
+	      kbuf->u.d_type = d_type;
+
+	      kbuf = (void *) ((char *) kbuf + kbuf->k.d_reclen);
+	    }
+	}
+
+      return retval;
+    }
+
+  off64_t last_offset = -1;
+
+#ifdef __NR_getdents64
+  {
+    union
+    {
+      struct kernel_dirent64 k;
+      DIRENT_TYPE u;
+      char b[1];
+    } *kbuf = (void *) buf, *outp, *inp;
+    size_t kbytes = nbytes;
+    if (offsetof (DIRENT_TYPE, d_name)
+	< offsetof (struct kernel_dirent64, d_name)
+	&& nbytes <= sizeof (DIRENT_TYPE))
+      {
+	kbytes = (nbytes + offsetof (struct kernel_dirent64, d_name)
+		  - offsetof (DIRENT_TYPE, d_name));
+	kbuf = __alloca(kbytes);
+      }
+    retval = INLINE_SYSCALL (getdents64, 3, fd, kbuf, kbytes);
+    const size_t size_diff = (offsetof (struct kernel_dirent64, d_name)
+			      - offsetof (DIRENT_TYPE, d_name));
+
+    /* Return the error if encountered.  */
+    if (retval == -1)
+      return -1;
+
+    /* If the structure returned by the kernel is identical to what we
+       need, don't do any conversions.  */
+    if (offsetof (DIRENT_TYPE, d_name)
+	== offsetof (struct kernel_dirent64, d_name)
+	&& sizeof (outp->u.d_ino) == sizeof (inp->k.d_ino)
+	&& sizeof (outp->u.d_off) == sizeof (inp->k.d_off))
+      return retval;
+
+    /* These two pointers might alias the same memory buffer.
+       Standard C requires that we always use the same type for them,
+       so we must use the union type.  */
+    inp = kbuf;
+    outp = (void *) buf;
+
+    while (&inp->b < &kbuf->b + retval)
+      {
+	const size_t alignment = __alignof__ (DIRENT_TYPE);
+	/* Since inp->k.d_reclen is already aligned for the kernel
+	   structure this may compute a value that is bigger
+	   than necessary.  */
+	size_t old_reclen = inp->k.d_reclen;
+	size_t new_reclen = ((old_reclen - size_diff + alignment - 1)
+			     & ~(alignment - 1));
+
+	/* Copy the data out of the old structure into temporary space.
+	   Then copy the name, which may overlap if BUF == KBUF.  */
+	const uint64_t d_ino = inp->k.d_ino;
+	const int64_t d_off = inp->k.d_off;
+	const uint8_t d_type = inp->k.d_type;
+
+	memmove (outp->u.d_name, inp->k.d_name,
+		 old_reclen - offsetof (struct kernel_dirent64, d_name));
+
+	/* Now we have copied the data from INP and access only OUTP.  */
+
+	DIRENT_SET_DP_INO (&outp->u, d_ino);
+	outp->u.d_off = d_off;
+	if ((sizeof (outp->u.d_ino) != sizeof (inp->k.d_ino)
+	     && outp->u.d_ino != d_ino)
+	    || (sizeof (outp->u.d_off) != sizeof (inp->k.d_off)
+		&& outp->u.d_off != d_off))
+	  {
+	    /* Overflow.  If there was at least one entry
+	       before this one, return them without error,
+	       otherwise signal overflow.  */
+	    if (last_offset != -1)
+	      {
+		__lseek64 (fd, last_offset, SEEK_SET);
+		return outp->b - buf;
+	      }
+	    __set_errno (EOVERFLOW);
+	    return -1;
+	  }
+
+	last_offset = d_off;
+	outp->u.d_reclen = new_reclen;
+	outp->u.d_type = d_type;
+
+	inp = (void *) inp + old_reclen;
+	outp = (void *) outp + new_reclen;
+      }
+
+    return outp->b - buf;
+  }
+#endif
+  {
+    size_t red_nbytes;
+    struct kernel_dirent *skdp, *kdp;
+    const size_t size_diff = (offsetof (DIRENT_TYPE, d_name)
+			      - offsetof (struct kernel_dirent, d_name));
+
+    red_nbytes = MIN (nbytes
+		      - ((nbytes / (offsetof (DIRENT_TYPE, d_name) + 14))
+			 * size_diff),
+		      nbytes - size_diff);
+
+    skdp = kdp = __alloca (red_nbytes);
+
+    retval = INLINE_SYSCALL (getdents, 3, fd, (char *) kdp, red_nbytes);
+
+    if (retval == -1)
+      return -1;
+
+    DIRENT_TYPE *dp = (DIRENT_TYPE *) buf;
+    while ((char *) kdp < (char *) skdp + retval)
+      {
+	const size_t alignment = __alignof__ (DIRENT_TYPE);
+	/* Since kdp->d_reclen is already aligned for the kernel structure
+	   this may compute a value that is bigger than necessary.  */
+	size_t new_reclen = ((kdp->d_reclen + size_diff + alignment - 1)
+			     & ~(alignment - 1));
+	if ((char *) dp + new_reclen > buf + nbytes)
+	  {
+	    /* Our heuristic failed.  We read too many entries.  Reset
+	       the stream.  */
+	    assert (last_offset != -1);
+	    __lseek64 (fd, last_offset, SEEK_SET);
+
+	    if ((char *) dp == buf)
+	      {
+		/* The buffer the user passed in is too small to hold even
+		   one entry.  */
+		__set_errno (EINVAL);
+		return -1;
+	      }
+
+	    break;
+	  }
+
+	last_offset = kdp->d_off;
+	DIRENT_SET_DP_INO(dp, kdp->d_ino);
+	dp->d_off = kdp->d_off;
+	dp->d_reclen = new_reclen;
+	dp->d_type = *((char *) kdp + kdp->d_reclen - 1);
+	memcpy (dp->d_name, kdp->d_name,
+		kdp->d_reclen - offsetof (struct kernel_dirent, d_name));
+
+	dp = (DIRENT_TYPE *) ((char *) dp + new_reclen);
+	kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen);
+      }
+
+    return (char *) dp - buf;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/getdents64.c
new file mode 100644
index 0000000000..805917e274
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getdents64.c
@@ -0,0 +1,3 @@
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+#include <sysdeps/unix/sysv/linux/getdents.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries.c b/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries.c
new file mode 100644
index 0000000000..fb10d9818a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dirent.h>
+#include <unistd.h>
+
+#ifndef GETDIRENTRIES
+# define GETDIRENTRIES getdirentries
+# define __GETDENTS __getdents
+#else
+# define off_t off64_t
+# define __lseek __lseek64
+#endif
+
+ssize_t
+GETDIRENTRIES (int fd, char *buf, size_t nbytes, off_t *basep)
+{
+  off_t base = __lseek (fd, (off_t) 0, SEEK_CUR);
+  ssize_t result;
+
+  result = __GETDENTS (fd, buf, nbytes);
+
+  if (result != -1)
+    *basep = base;
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries64.c b/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries64.c
new file mode 100644
index 0000000000..e486a36a12
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getdirentries64.c
@@ -0,0 +1,3 @@
+#define GETDIRENTRIES getdirentries64
+#define __GETDENTS __getdents64
+#include "getdirentries.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getdtsz.c b/REORG.TODO/sysdeps/unix/sysv/linux/getdtsz.c
new file mode 100644
index 0000000000..5ee08d58d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getdtsz.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This comes from the Linux kernel header.  */
+#define OPEN_MAX	256
+
+#include  <sysdeps/posix/getdtsz.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getentropy.c b/REORG.TODO/sysdeps/unix/sysv/linux/getentropy.c
new file mode 100644
index 0000000000..14e5e91392
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getentropy.c
@@ -0,0 +1,73 @@
+/* Implementation of getentropy based on the getrandom system call.
+   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/random.h>
+#include <assert.h>
+#include <errno.h>
+#include <unistd.h>
+
+#ifdef __NR_getrandom
+/* Write LENGTH bytes of randomness starting at BUFFER.  Return 0 on
+   success and -1 on failure.  */
+int
+getentropy (void *buffer, size_t length)
+{
+  /* The interface is documented to return EIO for buffer lengths
+     longer than 256 bytes.  */
+  if (length > 256)
+    {
+      __set_errno (EIO);
+      return -1;
+    }
+
+  /* Try to fill the buffer completely.  Even with the 256 byte limit
+     above, we might still receive an EINTR error (when blocking
+     during boot).  */
+  void *end = buffer + length;
+  while (buffer < end)
+    {
+      /* NB: No cancellation point.  */
+      ssize_t bytes = INLINE_SYSCALL_CALL (getrandom, buffer, end - buffer, 0);
+      if (bytes < 0)
+        {
+          if (errno == EINTR)
+            /* Try again if interrupted by a signal.  */
+            continue;
+          else
+            return -1;
+        }
+      if (bytes == 0)
+        {
+          /* No more bytes available.  This should not happen under
+             normal circumstances.  */
+          __set_errno (EIO);
+          return -1;
+        }
+      /* Try again in case of a short read.  */
+      buffer += bytes;
+    }
+  return 0;
+}
+#else
+int
+getentropy (void *buffer, size_t length)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/gethostid.c b/REORG.TODO/sysdeps/unix/sysv/linux/gethostid.c
new file mode 100644
index 0000000000..cc108aa2d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/gethostid.c
@@ -0,0 +1,118 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <alloca.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <netdb.h>
+#include <not-cancel.h>
+
+#define HOSTIDFILE "/etc/hostid"
+
+#ifdef SET_PROCEDURE
+int
+sethostid (long int id)
+{
+  int fd;
+  ssize_t written;
+  int32_t id32 = id;
+
+  /* Test for appropriate rights to set host ID.  */
+  if (__libc_enable_secure)
+    {
+      __set_errno (EPERM);
+      return -1;
+    }
+
+  /* Make sure the ID is not too large.  Needed for bi-arch support.   */
+  if (id32 != id)
+    {
+      __set_errno (EOVERFLOW);
+      return -1;
+    }
+
+  /* Open file for writing.  Everybody is allowed to read this file.  */
+  fd = open_not_cancel (HOSTIDFILE, O_CREAT|O_WRONLY|O_TRUNC, 0644);
+  if (fd < 0)
+    return -1;
+
+  written = write_not_cancel (fd, &id32, sizeof (id32));
+
+  close_not_cancel_no_status (fd);
+
+  return written != sizeof (id32) ? -1 : 0;
+}
+
+#else
+# include <string.h>
+# include <sys/param.h>
+# include <resolv/netdb.h>
+# include <netinet/in.h>
+
+long int
+gethostid (void)
+{
+  char hostname[MAXHOSTNAMELEN + 1];
+  size_t buflen;
+  char *buffer;
+  struct hostent hostbuf, *hp;
+  int32_t id;
+  struct in_addr in;
+  int herr;
+  int fd;
+
+  /* First try to get the ID from a former invocation of sethostid.  */
+  fd = open_not_cancel (HOSTIDFILE, O_RDONLY|O_LARGEFILE, 0);
+  if (fd >= 0)
+    {
+      ssize_t n = read_not_cancel (fd, &id, sizeof (id));
+
+      close_not_cancel_no_status (fd);
+
+      if (n == sizeof (id))
+	return id;
+    }
+
+  /* Getting from the file was not successful.  An intelligent guess for
+     a unique number of a host is its IP address.  Return this.  */
+  if (__gethostname (hostname, MAXHOSTNAMELEN) < 0 || hostname[0] == '\0')
+    /* This also fails.  Return and arbitrary value.  */
+    return 0;
+
+  buflen = 1024;
+  buffer = __alloca (buflen);
+
+  /* To get the IP address we need to know the host name.  */
+  while (__gethostbyname_r (hostname, &hostbuf, buffer, buflen, &hp, &herr)
+	 != 0
+	 || hp == NULL)
+    if (herr != NETDB_INTERNAL || errno != ERANGE)
+      return 0;
+    else
+      /* Enlarge buffer.  */
+      buffer = extend_alloca (buffer, buflen, 2 * buflen);
+
+  in.s_addr = 0;
+  memcpy (&in, hp->h_addr,
+	  (int) sizeof (in) < hp->h_length ? (int) sizeof (in) : hp->h_length);
+
+  /* For the return value to be not exactly the IP address we do some
+     bit fiddling.  */
+  return (int32_t) (in.s_addr << 16 | in.s_addr >> 16);
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getipv4sourcefilter.c b/REORG.TODO/sysdeps/unix/sysv/linux/getipv4sourcefilter.c
new file mode 100644
index 0000000000..004c83e916
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getipv4sourcefilter.c
@@ -0,0 +1,73 @@
+/* Get IPv4 source filter.  Linux version.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@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 <alloca.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <netinet/in.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+
+
+int
+getipv4sourcefilter (int s, struct in_addr interface, struct in_addr group,
+		     uint32_t *fmode, uint32_t *numsrc, struct in_addr *slist)
+{
+  /* We have to create an struct ip_msfilter object which we can pass
+     to the kernel.  */
+  socklen_t needed = IP_MSFILTER_SIZE (*numsrc);
+  int use_alloca = __libc_use_alloca (needed);
+
+  struct ip_msfilter *imsf;
+  if (use_alloca)
+    imsf = (struct ip_msfilter *) alloca (needed);
+  else
+    {
+      imsf = (struct ip_msfilter *) malloc (needed);
+      if (imsf == NULL)
+	return -1;
+    }
+
+  imsf->imsf_multiaddr = group;
+  imsf->imsf_interface = interface;
+  imsf->imsf_numsrc = *numsrc;
+
+  int result = __getsockopt (s, SOL_IP, IP_MSFILTER, imsf, &needed);
+
+  /* If successful, copy the results to the places the caller wants
+     them in.  */
+  if (result == 0)
+    {
+      *fmode = imsf->imsf_fmode;
+      memcpy (slist, imsf->imsf_slist,
+	      MIN (*numsrc, imsf->imsf_numsrc) * sizeof (struct in_addr));
+      *numsrc = imsf->imsf_numsrc;
+    }
+
+  if (! use_alloca)
+    {
+      int save_errno = errno;
+      free (imsf);
+      __set_errno (save_errno);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getloadavg.c b/REORG.TODO/sysdeps/unix/sysv/linux/getloadavg.c
new file mode 100644
index 0000000000..117f8c2b38
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getloadavg.c
@@ -0,0 +1,68 @@
+/* Get system load averages.  Linux (/proc/loadavg) version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <not-cancel.h>
+
+/* Put the 1 minute, 5 minute and 15 minute load averages
+   into the first NELEM elements of LOADAVG.
+   Return the number written (never more than 3, but may be less than NELEM),
+   or -1 if an error occurred.  */
+
+int
+getloadavg (double loadavg[], int nelem)
+{
+  int fd;
+
+  fd = open_not_cancel_2 ("/proc/loadavg", O_RDONLY);
+  if (fd < 0)
+    return -1;
+  else
+    {
+      char buf[65], *p;
+      ssize_t nread;
+      int i;
+
+      nread = read_not_cancel (fd, buf, sizeof buf - 1);
+      close_not_cancel_no_status (fd);
+      if (nread <= 0)
+	return -1;
+      buf[nread - 1] = '\0';
+
+      if (nelem > 3)
+	nelem = 3;
+      p = buf;
+      for (i = 0; i < nelem; ++i)
+	{
+	  char *endp;
+	  loadavg[i] = __strtod_l (p, &endp, _nl_C_locobj_ptr);
+	  if (endp == p)
+	    /* This should not happen.  The format of /proc/loadavg
+	       must have changed.  Don't return with what we have,
+	       signal an error.  */
+	    return -1;
+	  p = endp;
+	}
+
+      return i;
+    }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getlogin.c b/REORG.TODO/sysdeps/unix/sysv/linux/getlogin.c
new file mode 100644
index 0000000000..ccb9e78ff2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getlogin.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2010-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 <pwd.h>
+#include <unistd.h>
+#include <not-cancel.h>
+
+#define STATIC static
+#define getlogin getlogin_fd0
+#include <sysdeps/unix/getlogin.c>
+#undef getlogin
+
+
+/* Return the login name of the user, or NULL if it can't be determined.
+   The returned pointer, if not NULL, is good only until the next call.  */
+
+char *
+getlogin (void)
+{
+  int res = __getlogin_r_loginuid (name, sizeof (name));
+  if (res >= 0)
+    return res == 0 ? name : NULL;
+
+  return getlogin_fd0 ();
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getlogin_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/getlogin_r.c
new file mode 100644
index 0000000000..05ac36b491
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getlogin_r.c
@@ -0,0 +1,120 @@
+/* Copyright (C) 2010-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 <pwd.h>
+#include <unistd.h>
+#include <not-cancel.h>
+
+#define STATIC static
+static int getlogin_r_fd0 (char *name, size_t namesize);
+#define __getlogin_r getlogin_r_fd0
+#include <sysdeps/unix/getlogin_r.c>
+#undef __getlogin_r
+
+
+/* Try to determine login name from /proc/self/loginuid and return 0
+   if successful.  If /proc/self/loginuid cannot be read return -1.
+   Otherwise return the error number.  */
+
+int
+attribute_hidden
+__getlogin_r_loginuid (char *name, size_t namesize)
+{
+  int fd = open_not_cancel_2 ("/proc/self/loginuid", O_RDONLY);
+  if (fd == -1)
+    return -1;
+
+  /* We are reading a 32-bit number.  12 bytes are enough for the text
+     representation.  If not, something is wrong.  */
+  char uidbuf[12];
+  ssize_t n = TEMP_FAILURE_RETRY (read_not_cancel (fd, uidbuf,
+						   sizeof (uidbuf)));
+  close_not_cancel_no_status (fd);
+
+  uid_t uid;
+  char *endp;
+  if (n <= 0
+      || n == sizeof (uidbuf)
+      || (uidbuf[n] = '\0',
+	  uid = strtoul (uidbuf, &endp, 10),
+	  endp == uidbuf || *endp != '\0'))
+    return -1;
+
+  size_t buflen = 1024;
+  char *buf = alloca (buflen);
+  bool use_malloc = false;
+  struct passwd pwd;
+  struct passwd *tpwd;
+  int result = 0;
+  int res;
+
+  while ((res = __getpwuid_r (uid, &pwd, buf, buflen, &tpwd)) == ERANGE)
+    if (__libc_use_alloca (2 * buflen))
+      buf = extend_alloca (buf, buflen, 2 * buflen);
+    else
+      {
+	buflen *= 2;
+	char *newp = realloc (use_malloc ? buf : NULL, buflen);
+	if (newp == NULL)
+	  {
+	    result = ENOMEM;
+	    goto out;
+	  }
+	buf = newp;
+	use_malloc = true;
+      }
+
+  if (res != 0 || tpwd == NULL)
+    {
+      result = -1;
+      goto out;
+    }
+
+  size_t needed = strlen (pwd.pw_name) + 1;
+  if (needed > namesize)
+    {
+      __set_errno (ERANGE);
+      result = ERANGE;
+      goto out;
+    }
+
+  memcpy (name, pwd.pw_name, needed);
+
+ out:
+  if (use_malloc)
+    free (buf);
+
+  return result;
+}
+
+
+/* Return at most NAME_LEN characters of the login name of the user in NAME.
+   If it cannot be determined or some other error occurred, return the error
+   code.  Otherwise return 0.  */
+
+int
+__getlogin_r (char *name, size_t namesize)
+{
+  int res = __getlogin_r_loginuid (name, namesize);
+  if (res >= 0)
+    return res;
+
+  return getlogin_r_fd0 (name, namesize);
+}
+libc_hidden_def (__getlogin_r)
+weak_alias (__getlogin_r, getlogin_r)
+libc_hidden_weak (getlogin_r)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getpagesize.c b/REORG.TODO/sysdeps/unix/sysv/linux/getpagesize.c
new file mode 100644
index 0000000000..d1fd37010e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getpagesize.c
@@ -0,0 +1,32 @@
+/* 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 <unistd.h>
+#include <sys/param.h>
+
+#include <ldsodefs.h>
+
+/* Return the system page size.  */
+int
+__getpagesize (void)
+{
+  assert (GLRO(dl_pagesize) != 0);
+  return GLRO(dl_pagesize);
+}
+libc_hidden_def (__getpagesize)
+weak_alias (__getpagesize, getpagesize)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getpeername.c b/REORG.TODO/sysdeps/unix/sysv/linux/getpeername.c
new file mode 100644
index 0000000000..347fc74039
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getpeername.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__getpeername (int fd, __SOCKADDR_ARG addr, socklen_t *len)
+{
+#ifdef __ASSUME_GETPEERNAME_SYSCALL
+  return INLINE_SYSCALL (getpeername, 3, fd, addr.__sockaddr__, len);
+#else
+  return SOCKETCALL (getpeername, fd, addr.__sockaddr__, len);
+#endif
+}
+weak_alias (__getpeername, getpeername)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getpriority.c b/REORG.TODO/sysdeps/unix/sysv/linux/getpriority.c
new file mode 100644
index 0000000000..5137cf72b8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getpriority.c
@@ -0,0 +1,45 @@
+/* getpriority for Linux.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/resource.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The return value of getpriority syscall is biased by this value
+   to avoid returning negative values.  */
+#define PZERO 20
+
+/* Return the highest priority of any process specified by WHICH and WHO
+   (see above); if WHO is zero, the current process, process group, or user
+   (as specified by WHO) is used.  A lower priority number means higher
+   priority.  Priorities range from PRIO_MIN to PRIO_MAX.  */
+
+int
+__getpriority (enum __priority_which which, id_t who)
+{
+  int res;
+
+  res = INLINE_SYSCALL (getpriority, 2, (int) which, who);
+  if (res >= 0)
+    res = PZERO - res;
+  return res;
+}
+libc_hidden_def (__getpriority)
+weak_alias (__getpriority, getpriority)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getpt.c b/REORG.TODO/sysdeps/unix/sysv/linux/getpt.c
new file mode 100644
index 0000000000..a92b8f988d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getpt.c
@@ -0,0 +1,101 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <paths.h>
+#include <sys/statfs.h>
+
+#include "linux_fsinfo.h"
+
+/* Path to the master pseudo terminal cloning device.  */
+#define _PATH_DEVPTMX _PATH_DEV "ptmx"
+/* Directory containing the UNIX98 pseudo terminals.  */
+#define _PATH_DEVPTS _PATH_DEV "pts"
+
+/* Prototype for function that opens BSD-style master pseudo-terminals.  */
+int __bsd_getpt (void);
+
+/* Open a master pseudo terminal and return its file descriptor.  */
+int
+__posix_openpt (int oflag)
+{
+  static int have_no_dev_ptmx;
+  int fd;
+
+  if (!have_no_dev_ptmx)
+    {
+      fd = __open (_PATH_DEVPTMX, oflag);
+      if (fd != -1)
+	{
+	  struct statfs fsbuf;
+	  static int devpts_mounted;
+
+	  /* Check that the /dev/pts filesystem is mounted
+	     or if /dev is a devfs filesystem (this implies /dev/pts).  */
+	  if (devpts_mounted
+	      || (__statfs (_PATH_DEVPTS, &fsbuf) == 0
+		  && fsbuf.f_type == DEVPTS_SUPER_MAGIC)
+	      || (__statfs (_PATH_DEV, &fsbuf) == 0
+		  && fsbuf.f_type == DEVFS_SUPER_MAGIC))
+	    {
+	      /* Everything is ok.  */
+	      devpts_mounted = 1;
+	      return fd;
+	    }
+
+	  /* If /dev/pts is not mounted then the UNIX98 pseudo terminals
+	     are not usable.  */
+	  __close (fd);
+	  have_no_dev_ptmx = 1;
+	  __set_errno (ENOENT);
+	}
+      else
+	{
+	  if (errno == ENOENT || errno == ENODEV)
+	    have_no_dev_ptmx = 1;
+	  else
+	    return -1;
+	}
+    }
+  else
+    __set_errno (ENOENT);
+
+  return -1;
+}
+weak_alias (__posix_openpt, posix_openpt)
+
+
+int
+__getpt (void)
+{
+  int fd = __posix_openpt (O_RDWR);
+  if (fd == -1)
+    fd = __bsd_getpt ();
+  return fd;
+}
+
+
+#define PTYNAME1 "pqrstuvwxyzabcde";
+#define PTYNAME2 "0123456789abcdef";
+
+#define __getpt __bsd_getpt
+#define HAVE_POSIX_OPENPT
+#include <sysdeps/unix/bsd/getpt.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getrandom.c b/REORG.TODO/sysdeps/unix/sysv/linux/getrandom.c
new file mode 100644
index 0000000000..25eb6efdd6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getrandom.c
@@ -0,0 +1,43 @@
+/* Implementation of the getrandom system call.
+   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/random.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+#ifdef __NR_getrandom
+/* Write LENGTH bytes of randomness starting at BUFFER.  Return 0 on
+   success and -1 on failure.  */
+ssize_t
+getrandom (void *buffer, size_t length, unsigned int flags)
+{
+  return SYSCALL_CANCEL (getrandom, buffer, length, flags);
+}
+#else
+/* Always provide a definition, even if the kernel headers lack the
+   system call number. */
+ssize_t
+getrandom (void *buffer, size_t length, unsigned int flags)
+{
+  /* Ideally, we would add a cancellation point here, but we currently
+     cannot do so inside libc.  */
+  __set_errno (ENOSYS);
+  return -1;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit.c b/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit.c
new file mode 100644
index 0000000000..32670fbb18
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit.c
@@ -0,0 +1,56 @@
+/* Linux getrlimit implementation (32 bits rlim_t).
+   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 <errno.h>
+#include <sys/resource.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+#if !__RLIM_T_MATCHES_RLIM64_T
+
+/* The __NR_getrlimit compatibility implementation is required iff
+   __NR_ugetrlimit is also defined (meaning an old broken RLIM_INFINITY
+   definition).  */
+# ifndef __NR_ugetrlimit
+#  define __NR_ugetrlimit __NR_getrlimit
+#  undef SHLIB_COMPAT
+#  define SHLIB_COMPAT(a, b, c) 0
+# endif
+
+int
+__new_getrlimit (enum __rlimit_resource resource, struct rlimit *rlim)
+{
+  return INLINE_SYSCALL_CALL (ugetrlimit, resource, rlim);
+}
+weak_alias (__new_getrlimit, __getrlimit)
+hidden_weak (__getrlimit)
+
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+/* Back compatible 2Gig limited rlimit.  */
+int
+__old_getrlimit (enum __rlimit_resource resource, struct rlimit *rlim)
+{
+  return INLINE_SYSCALL_CALL (getrlimit, resource, rlim);
+}
+compat_symbol (libc, __old_getrlimit, getrlimit, GLIBC_2_0);
+versioned_symbol (libc, __new_getrlimit, getrlimit, GLIBC_2_2);
+# else
+weak_alias (__new_getrlimit, getrlimit)
+# endif
+
+#endif /* __RLIM_T_MATCHES_RLIM64_T  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit64.c b/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit64.c
new file mode 100644
index 0000000000..56af3c0646
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getrlimit64.c
@@ -0,0 +1,87 @@
+/* Linux getrlimit64 implementation (64 bits rlim_t).
+   Copyright (C) 2010-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 <sys/types.h>
+#include <shlib-compat.h>
+
+/* Add this redirection so the strong_alias for __RLIM_T_MATCHES_RLIM64_T
+   linking getlimit64 to {__}getrlimit does not throw a type error.  */
+#undef getrlimit
+#undef __getrlimit
+#define getrlimit getrlimit_redirect
+#define __getrlimit __getrlimit_redirect
+#include <sys/resource.h>
+#undef getrlimit
+#undef __getrlimit
+
+/* Put the soft and hard limits for RESOURCE in *RLIMITS.
+   Returns 0 if successful, -1 if not (and sets errno).  */
+int
+__getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits)
+{
+  return INLINE_SYSCALL_CALL (prlimit64, 0, resource, NULL, rlimits);
+}
+libc_hidden_def (__getrlimit64)
+
+#if __RLIM_T_MATCHES_RLIM64_T
+/* If both rlim_t and rlimt64_t are essentially the same type we can use
+   alias both interfaces.  */
+strong_alias (__getrlimit64, __GI_getrlimit)
+strong_alias (__getrlimit64, __GI___getrlimit)
+strong_alias (__getrlimit64, __getrlimit)
+weak_alias (__getrlimit64, getrlimit)
+/* And there is no need for compat symbols.  */
+# undef SHLIB_COMPAT
+# define SHLIB_COMPAT(a, b, c) 0
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
+/* Back compatible 2GiB limited rlimit.  */
+extern int __new_getrlimit (enum __rlimit_resource, struct rlimit *);
+
+int
+attribute_compat_text_section
+__old_getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits)
+{
+# if __RLIM_T_MATCHES_RLIM64_T
+#  define rlimits32 (*rlimits)
+# else
+  struct rlimit rlimits32;
+# endif
+
+  if (__new_getrlimit (resource, &rlimits32) < 0)
+    return -1;
+
+  if (rlimits32.rlim_cur == RLIM_INFINITY)
+    rlimits->rlim_cur = RLIM64_INFINITY >> 1;
+  else
+    rlimits->rlim_cur = rlimits32.rlim_cur;
+  if (rlimits32.rlim_max == RLIM_INFINITY)
+    rlimits->rlim_max = RLIM64_INFINITY >> 1;
+  else
+    rlimits->rlim_max = rlimits32.rlim_max;
+
+  return 0;
+}
+versioned_symbol (libc, __getrlimit64, getrlimit64, GLIBC_2_2);
+compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_1);
+#else
+weak_alias (__getrlimit64, getrlimit64)
+libc_hidden_weak (getrlimit64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getsockname.c b/REORG.TODO/sysdeps/unix/sysv/linux/getsockname.c
new file mode 100644
index 0000000000..17382998ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getsockname.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__getsockname (int fd, __SOCKADDR_ARG addr, socklen_t *len)
+{
+#ifdef __ASSUME_GETSOCKNAME_SYSCALL
+  return INLINE_SYSCALL (getsockname, 3, fd, addr.__sockaddr__, len);
+#else
+  return SOCKETCALL (getsockname, fd, addr.__sockaddr__, len);
+#endif
+}
+weak_alias (__getsockname, getsockname)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getsockopt.c b/REORG.TODO/sysdeps/unix/sysv/linux/getsockopt.c
new file mode 100644
index 0000000000..8c37b49da4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getsockopt.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__getsockopt (int fd, int level, int optname, void *optval, socklen_t *len)
+{
+#ifdef __ASSUME_GETSOCKOPT_SYSCALL
+  return INLINE_SYSCALL (getsockopt, 5, fd, level, optname, optval, len);
+#else
+  return SOCKETCALL (getsockopt, fd, level, optname, optval, len);
+#endif
+}
+weak_alias (__getsockopt, getsockopt)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getsourcefilter.c b/REORG.TODO/sysdeps/unix/sysv/linux/getsourcefilter.c
new file mode 100644
index 0000000000..806cb161e4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getsourcefilter.c
@@ -0,0 +1,146 @@
+/* Get source filter.  Linux version.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@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 <alloca.h>
+#include <assert.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <netatalk/at.h>
+#include <netax25/ax25.h>
+#include <netinet/in.h>
+#include <netipx/ipx.h>
+#include <netpacket/packet.h>
+#include <netrose/rose.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+
+
+static const struct
+{
+  int sol;
+  int af;
+  socklen_t size;
+}  sol_map[] =
+  {
+    /* Sort the array according to importance of the protocols.  Add
+       more protocols when they become available.  */
+    { SOL_IP, AF_INET, sizeof (struct sockaddr_in) },
+    { SOL_IPV6, AF_INET6, sizeof (struct sockaddr_in6) },
+    { SOL_AX25, AF_AX25, sizeof (struct sockaddr_ax25) },
+    { SOL_IPX, AF_IPX, sizeof (struct sockaddr_ipx) },
+    { SOL_ATALK, AF_APPLETALK, sizeof (struct sockaddr_at) },
+    { SOL_ROSE, AF_ROSE, sizeof (struct sockaddr_rose) },
+    { SOL_PACKET, AF_PACKET, sizeof (struct sockaddr_ll) }
+  };
+#define NSOL_MAP (sizeof (sol_map) / sizeof (sol_map[0]))
+
+
+/* Try to determine the socket level value.  Ideally both side and
+   family are set.  But sometimes only the size is correct and the
+   family value might be bogus.  Loop over the array entries and look
+   for a perfect match or the first match based on size.  */
+int
+__get_sol (int af, socklen_t len)
+{
+  int first_size_sol = -1;
+
+  for (size_t cnt = 0; cnt < NSOL_MAP; ++cnt)
+    {
+      /* Just a test so that we make sure the special value used to
+	 signal the "we have so far no socket level value" is OK.  */
+      assert (sol_map[cnt].sol != -1);
+
+      if (len == sol_map[cnt].size)
+	{
+	  /* The size matches, which is a requirement.  If the family
+	     matches, too, we have a winner.  Otherwise we remember the
+	     socket level value for this protocol if it is the first
+	     match.  */
+	  if (af == sol_map[cnt].af)
+	    /* Bingo!  */
+	    return sol_map[cnt].sol;
+
+	  if (first_size_sol == -1)
+	    first_size_sol = sol_map[cnt].sol;
+      }
+    }
+
+  return first_size_sol;
+}
+
+
+int
+getsourcefilter (int s, uint32_t interface, const struct sockaddr *group,
+		 socklen_t grouplen, uint32_t *fmode, uint32_t *numsrc,
+		 struct sockaddr_storage *slist)
+{
+  /* We have to create an struct ip_msfilter object which we can pass
+     to the kernel.  */
+  socklen_t needed = GROUP_FILTER_SIZE (*numsrc);
+  int use_alloca = __libc_use_alloca (needed);
+
+  struct group_filter *gf;
+  if (use_alloca)
+    gf = (struct group_filter *) alloca (needed);
+  else
+    {
+      gf = (struct group_filter *) malloc (needed);
+      if (gf == NULL)
+	return -1;
+    }
+
+  gf->gf_interface = interface;
+  memcpy (&gf->gf_group, group, grouplen);
+  gf->gf_numsrc = *numsrc;
+
+  /* We need to provide the appropriate socket level value.  */
+  int result;
+  int sol = __get_sol (group->sa_family, grouplen);
+  if (sol == -1)
+    {
+      __set_errno (EINVAL);
+      result = -1;
+    }
+  else
+    {
+      result = __getsockopt (s, sol, MCAST_MSFILTER, gf, &needed);
+
+      /* If successful, copy the results to the places the caller wants
+	 them in.  */
+      if (result == 0)
+	{
+	  *fmode = gf->gf_fmode;
+	  memcpy (slist, gf->gf_slist,
+		  MIN (*numsrc, gf->gf_numsrc)
+		  * sizeof (struct sockaddr_storage));
+	  *numsrc = gf->gf_numsrc;
+	}
+    }
+
+  if (! use_alloca)
+    {
+      int save_errno = errno;
+      free (gf);
+      __set_errno (save_errno);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/getsysstats.c
new file mode 100644
index 0000000000..63e41100eb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/getsysstats.c
@@ -0,0 +1,330 @@
+/* Determine various system internal values, Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <alloca.h>
+#include <assert.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <mntent.h>
+#include <paths.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/sysinfo.h>
+
+#include <atomic.h>
+#include <not-cancel.h>
+
+
+/* How we can determine the number of available processors depends on
+   the configuration.  There is currently (as of version 2.0.21) no
+   system call to determine the number.  It is planned for the 2.1.x
+   series to add this, though.
+
+   One possibility to implement it for systems using Linux 2.0 is to
+   examine the pseudo file /proc/cpuinfo.  Here we have one entry for
+   each processor.
+
+   But not all systems have support for the /proc filesystem.  If it
+   is not available we simply return 1 since there is no way.  */
+
+
+/* Other architectures use different formats for /proc/cpuinfo.  This
+   provides a hook for alternative parsers.  */
+#ifndef GET_NPROCS_PARSER
+# define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT) \
+  do									\
+    {									\
+      (RESULT) = 0;							\
+      /* Read all lines and count the lines starting with the string	\
+	 "processor".  We don't have to fear extremely long lines since	\
+	 the kernel will not generate them.  8192 bytes are really	\
+	 enough.  */							\
+      char *l;								\
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL) \
+	if (strncmp (l, "processor", 9) == 0)				\
+	  ++(RESULT);							\
+    }									\
+  while (0)
+#endif
+
+
+static char *
+next_line (int fd, char *const buffer, char **cp, char **re,
+	   char *const buffer_end)
+{
+  char *res = *cp;
+  char *nl = memchr (*cp, '\n', *re - *cp);
+  if (nl == NULL)
+    {
+      if (*cp != buffer)
+	{
+	  if (*re == buffer_end)
+	    {
+	      memmove (buffer, *cp, *re - *cp);
+	      *re = buffer + (*re - *cp);
+	      *cp = buffer;
+
+	      ssize_t n = read_not_cancel (fd, *re, buffer_end - *re);
+	      if (n < 0)
+		return NULL;
+
+	      *re += n;
+
+	      nl = memchr (*cp, '\n', *re - *cp);
+	      while (nl == NULL && *re == buffer_end)
+		{
+		  /* Truncate too long lines.  */
+		  *re = buffer + 3 * (buffer_end - buffer) / 4;
+		  n = read_not_cancel (fd, *re, buffer_end - *re);
+		  if (n < 0)
+		    return NULL;
+
+		  nl = memchr (*re, '\n', n);
+		  **re = '\n';
+		  *re += n;
+		}
+	    }
+	  else
+	    nl = memchr (*cp, '\n', *re - *cp);
+
+	  res = *cp;
+	}
+
+      if (nl == NULL)
+	nl = *re - 1;
+    }
+
+  *cp = nl + 1;
+  assert (*cp <= *re);
+
+  return res == *re ? NULL : res;
+}
+
+
+int
+__get_nprocs (void)
+{
+  static int cached_result = -1;
+  static time_t timestamp;
+
+  time_t now = time (NULL);
+  time_t prev = timestamp;
+  atomic_read_barrier ();
+  if (now == prev && cached_result > -1)
+    return cached_result;
+
+  /* XXX Here will come a test for the new system call.  */
+
+  const size_t buffer_size = __libc_use_alloca (8192) ? 8192 : 512;
+  char *buffer = alloca (buffer_size);
+  char *buffer_end = buffer + buffer_size;
+  char *cp = buffer_end;
+  char *re = buffer_end;
+
+  const int flags = O_RDONLY | O_CLOEXEC;
+  int fd = open_not_cancel_2 ("/sys/devices/system/cpu/online", flags);
+  char *l;
+  int result = 0;
+  if (fd != -1)
+    {
+      l = next_line (fd, buffer, &cp, &re, buffer_end);
+      if (l != NULL)
+	do
+	  {
+	    char *endp;
+	    unsigned long int n = strtoul (l, &endp, 10);
+	    if (l == endp)
+	      {
+		result = 0;
+		break;
+	      }
+
+	    unsigned long int m = n;
+	    if (*endp == '-')
+	      {
+		l = endp + 1;
+		m = strtoul (l, &endp, 10);
+		if (l == endp)
+		  {
+		    result = 0;
+		    break;
+		  }
+	      }
+
+	    result += m - n + 1;
+
+	    l = endp;
+	    while (l < re && isspace (*l))
+	      ++l;
+	  }
+	while (l < re);
+
+      close_not_cancel_no_status (fd);
+
+      if (result > 0)
+	goto out;
+    }
+
+  cp = buffer_end;
+  re = buffer_end;
+  result = 1;
+
+  /* The /proc/stat format is more uniform, use it by default.  */
+  fd = open_not_cancel_2 ("/proc/stat", flags);
+  if (fd != -1)
+    {
+      result = 0;
+
+      while ((l = next_line (fd, buffer, &cp, &re, buffer_end)) != NULL)
+	/* The current format of /proc/stat has all the cpu* entries
+	   at the front.  We assume here that stays this way.  */
+	if (strncmp (l, "cpu", 3) != 0)
+	  break;
+	else if (isdigit (l[3]))
+	  ++result;
+
+      close_not_cancel_no_status (fd);
+    }
+  else
+    {
+      fd = open_not_cancel_2 ("/proc/cpuinfo", flags);
+      if (fd != -1)
+	{
+	  GET_NPROCS_PARSER (fd, buffer, cp, re, buffer_end, result);
+	  close_not_cancel_no_status (fd);
+	}
+    }
+
+ out:
+  cached_result = result;
+  atomic_write_barrier ();
+  timestamp = now;
+
+  return result;
+}
+weak_alias (__get_nprocs, get_nprocs)
+
+
+/* On some architectures it is possible to distinguish between configured
+   and active cpus.  */
+int
+__get_nprocs_conf (void)
+{
+  /* XXX Here will come a test for the new system call.  */
+
+  /* Try to use the sysfs filesystem.  It has actual information about
+     online processors.  */
+  DIR *dir = __opendir ("/sys/devices/system/cpu");
+  if (dir != NULL)
+    {
+      int count = 0;
+      struct dirent64 *d;
+
+      while ((d = __readdir64 (dir)) != NULL)
+	/* NB: the sysfs has d_type support.  */
+	if (d->d_type == DT_DIR && strncmp (d->d_name, "cpu", 3) == 0)
+	  {
+	    char *endp;
+	    unsigned long int nr = strtoul (d->d_name + 3, &endp, 10);
+	    if (nr != ULONG_MAX && endp != d->d_name + 3 && *endp == '\0')
+	      ++count;
+	  }
+
+      __closedir (dir);
+
+      return count;
+    }
+
+  int result = 1;
+
+#ifdef GET_NPROCS_CONF_PARSER
+  /* If we haven't found an appropriate entry return 1.  */
+  FILE *fp = fopen ("/proc/cpuinfo", "rce");
+  if (fp != NULL)
+    {
+      char buffer[8192];
+
+      /* No threads use this stream.  */
+      __fsetlocking (fp, FSETLOCKING_BYCALLER);
+      GET_NPROCS_CONF_PARSER (fp, buffer, result);
+      fclose (fp);
+    }
+#else
+  result = __get_nprocs ();
+#endif
+
+  return result;
+}
+weak_alias (__get_nprocs_conf, get_nprocs_conf)
+
+
+/* Compute (num*mem_unit)/pagesize, but avoid overflowing long int.
+   In practice, mem_unit is never bigger than the page size, so after
+   the first loop it is 1.  [In the kernel, it is initialized to
+   PAGE_SIZE in mm/page_alloc.c:si_meminfo(), and then in
+   kernel.sys.c:do_sysinfo() it is set to 1 if unsigned long can
+   represent all the sizes measured in bytes].  */
+static long int
+sysinfo_mempages (unsigned long int num, unsigned int mem_unit)
+{
+  unsigned long int ps = __getpagesize ();
+
+  while (mem_unit > 1 && ps > 1)
+    {
+      mem_unit >>= 1;
+      ps >>= 1;
+    }
+  num *= mem_unit;
+  while (ps > 1)
+    {
+      ps >>= 1;
+      num >>= 1;
+    }
+  return num;
+}
+
+/* Return the number of pages of total/available physical memory in
+   the system.  This used to be done by parsing /proc/meminfo, but
+   that's unnecessarily expensive (and /proc is not always available).
+   The sysinfo syscall provides the same information, and has been
+   available at least since kernel 2.3.48.  */
+long int
+__get_phys_pages (void)
+{
+  struct sysinfo info;
+
+  __sysinfo (&info);
+  return sysinfo_mempages (info.totalram, info.mem_unit);
+}
+weak_alias (__get_phys_pages, get_phys_pages)
+
+long int
+__get_avphys_pages (void)
+{
+  struct sysinfo info;
+
+  __sysinfo (&info);
+  return sysinfo_mempages (info.freeram, info.mem_unit);
+}
+weak_alias (__get_avphys_pages, get_avphys_pages)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/gettimeofday.c b/REORG.TODO/sysdeps/unix/sysv/linux/gettimeofday.c
new file mode 100644
index 0000000000..6afa407ac4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/gettimeofday.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/time.h>
+
+#undef __gettimeofday
+
+#ifdef HAVE_GETTIMEOFDAY_VSYSCALL
+# define HAVE_VSYSCALL
+#endif
+#include <sysdep-vdso.h>
+
+/* Get the current time of day and timezone information,
+   putting it into *tv and *tz.  If tz is null, *tz is not filled.
+   Returns 0 on success, -1 on errors.  */
+int
+__gettimeofday (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
+}
+libc_hidden_def (__gettimeofday)
+weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/grantpt.c b/REORG.TODO/sysdeps/unix/sysv/linux/grantpt.c
new file mode 100644
index 0000000000..8cebde36ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/grantpt.c
@@ -0,0 +1,44 @@
+#include <assert.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <paths.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <not-cancel.h>
+
+#include "pty-private.h"
+
+#if HAVE_PT_CHOWN
+/* Close all file descriptors except the one specified.  */
+static void
+close_all_fds (void)
+{
+  DIR *dir = __opendir ("/proc/self/fd");
+  if (dir != NULL)
+    {
+      struct dirent64 *d;
+      while ((d = __readdir64 (dir)) != NULL)
+	if (isdigit (d->d_name[0]))
+	  {
+	    char *endp;
+	    long int fd = strtol (d->d_name, &endp, 10);
+	    if (*endp == '\0' && fd != PTY_FILENO && fd != dirfd (dir))
+	      close_not_cancel_no_status (fd);
+	  }
+
+      __closedir (dir);
+
+      int nullfd = open_not_cancel_2 (_PATH_DEVNULL, O_RDONLY);
+      assert (nullfd == STDIN_FILENO);
+      nullfd = open_not_cancel_2 (_PATH_DEVNULL, O_WRONLY);
+      assert (nullfd == STDOUT_FILENO);
+      __dup2 (STDOUT_FILENO, STDERR_FILENO);
+    }
+}
+# define CLOSE_ALL_FDS() close_all_fds()
+#endif
+
+#include <sysdeps/unix/grantpt.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Implies
new file mode 100644
index 0000000000..c3d145cb44
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Implies
@@ -0,0 +1 @@
+hppa/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Makefile
new file mode 100644
index 0000000000..68569013fb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Makefile
@@ -0,0 +1,4 @@
+# Used by *context() functions
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Versions
new file mode 100644
index 0000000000..b5098b2171
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/Versions
@@ -0,0 +1,38 @@
+libc {
+  # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
+  # When you get an error from errlist-compat.awk, you need to add a new
+  # version here.  Don't do this blindly, since this means changing the ABI
+  # for all GNU/Linux configurations.
+
+  GLIBC_2.1 {
+    #errlist-compat	253
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.2 {
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64; setrlimit64;
+  }
+  GLIBC_2.3 {
+    #errlist-compat	254
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.4 {
+    #errlist-compat	256
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_2.12 {
+    #errlist-compat	257
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.17 {
+    #errlist-compat	260
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+    prlimit64;
+  }
+  GLIBC_2.19 {
+    fanotify_mark;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c
new file mode 100644
index 0000000000..48aaeb36c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c
@@ -0,0 +1,47 @@
+/* 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 General Public License
+   along with GCC; see the file COPYING.  If not, write to the Free
+   Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.  */
+
+#include <stdio.h>
+#include <signal.h>
+#include <sysdep.h>
+#define __longjmp ____longjmp_chk
+#define CHECK_SP(sp)							\
+  do {									\
+    register unsigned long this_sp asm ("r30");				\
+    /* The stack grows up, therefore frames that were created and then	\
+       destroyed must all have stack values higher than ours.  */	\
+    if ((unsigned long) (sp) > this_sp)					\
+      {									\
+        stack_t oss;							\
+        INTERNAL_SYSCALL_DECL (err);					\
+        int result = INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &oss);\
+	/* If we aren't using an alternate stack then we have already	\
+	   shown that we are jumping to a frame that doesn't exist so	\
+	   error out. If we are using an alternate stack we must prove	\
+	   that we are jumping *out* of the alternate stack. Note that	\
+	   the check for that is the same as that for _STACK_GROWS_UP	\
+	   as for _STACK_GROWS_DOWN.  */				\
+        if (!INTERNAL_SYSCALL_ERROR_P (result, err)			\
+            && ((oss.ss_flags & SS_ONSTACK) == 0			\
+                || ((unsigned long) oss.ss_sp + oss.ss_size		\
+                    - (unsigned long) (sp)) < oss.ss_size))		\
+          __fortify_fail ("longjmp causes uninitialized stack frame");	\
+      }									\
+  } while (0)
+
+#include <__longjmp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/arch-fork.h
new file mode 100644
index 0000000000..108305417d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/arch-fork.h
@@ -0,0 +1,32 @@
+/* ARCH_FORK definition for Linux fork implementation.  HPPA version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+/* Argument 1 - Clone flags.
+            2 - Child stack pointer.
+	    3 - Parent tid pointer.
+	    4 - New TLS area pointer.
+	    5 - Child tid pointer. */
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						\
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
+                  NULL, NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/atomic-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/atomic-machine.h
new file mode 100644
index 0000000000..59581bd4bc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/atomic-machine.h
@@ -0,0 +1,94 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@baldric.uwo.ca>, 2005.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdint.h> /*  Required for type definitions e.g. uint8_t.  */
+
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H	1
+
+typedef int8_t atomic8_t;
+typedef uint8_t uatomic8_t;
+typedef int_fast8_t atomic_fast8_t;
+typedef uint_fast8_t uatomic_fast8_t;
+
+typedef int32_t atomic32_t;
+typedef uint32_t uatomic32_t;
+typedef int_fast32_t atomic_fast32_t;
+typedef uint_fast32_t uatomic_fast32_t;
+
+typedef intptr_t atomicptr_t;
+typedef uintptr_t uatomicptr_t;
+typedef intmax_t atomic_max_t;
+typedef uintmax_t uatomic_max_t;
+
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
+/* XXX Is this actually correct?  */
+#define ATOMIC_EXCHANGE_USES_CAS 1
+
+/* prev = *addr;
+   if (prev == old)
+     *addr = new;
+   return prev; */
+
+/* Use the kernel atomic light weight syscalls on hppa.  */
+#define _LWS "0xb0"
+#define _LWS_CAS "0"
+/* Note r31 is the link register.  */
+#define _LWS_CLOBBER "r1", "r23", "r22", "r20", "r31", "memory"
+/* String constant for -EAGAIN.  */
+#define _ASM_EAGAIN "-11"
+/* String constant for -EDEADLOCK.  */
+#define _ASM_EDEADLOCK "-45"
+
+/* The only basic operation needed is compare and exchange.  The mem
+   pointer must be word aligned.  We no longer loop on deadlock.  */
+#define atomic_compare_and_exchange_val_acq(mem, newval, oldval)	\
+  ({									\
+     register long lws_errno asm("r21");				\
+     register unsigned long lws_ret asm("r28");				\
+     register unsigned long lws_mem asm("r26") = (unsigned long)(mem);	\
+     register unsigned long lws_old asm("r25") = (unsigned long)(oldval);\
+     register unsigned long lws_new asm("r24") = (unsigned long)(newval);\
+     __asm__ __volatile__(						\
+	"0:					\n\t"			\
+	"ble	" _LWS "(%%sr2, %%r0)		\n\t"			\
+	"ldi	" _LWS_CAS ", %%r20		\n\t"			\
+	"cmpiclr,<> " _ASM_EAGAIN ", %%r21, %%r0\n\t"			\
+	"b,n 0b					\n\t"			\
+	"cmpclr,= %%r0, %%r21, %%r0		\n\t"			\
+	"iitlbp %%r0,(%%sr0, %%r0)		\n\t"			\
+	: "=r" (lws_ret), "=r" (lws_errno)				\
+	: "r" (lws_mem), "r" (lws_old), "r" (lws_new)			\
+	: _LWS_CLOBBER							\
+     );									\
+									\
+     (__typeof (oldval)) lws_ret;					\
+   })
+
+#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval)	\
+  ({									\
+     __typeof__ (*mem) ret;						\
+     ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval);	\
+     /* Return 1 if it was already acquired.  */			\
+     (ret != oldval);							\
+   })
+
+#endif
+/* _ATOMIC_MACHINE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/epoll.h
new file mode 100644
index 0000000000..0ba399dd2b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/epoll.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC = 010000000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/errno.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/errno.h
new file mode 100644
index 0000000000..ce6bebe8b0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/errno.h
@@ -0,0 +1,66 @@
+/* Error constants.  Linux/HPPA specific version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux also has no ECANCELED error code.  Since it is not used here
+   we define it to an invalid value.  */
+# ifndef ECANCELED
+#  define ECANCELED	ECANCELLED
+# endif
+
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		254
+# endif
+
+# ifndef ENOTRECOVERABLE
+#  define ENOTRECOVERABLE	255
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		256
+# endif
+
+# ifndef EHWPOISON
+#  define EHWPOISON		257
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable.  */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#  if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value.  */
+#   define errno (*__errno_location ())
+#  endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough.  We must
+   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+   defined.  */
+# define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	47	/* Illegal byte sequence.  */
+# define ERANGE	34	/* Math result not representable.  */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/eventfd.h
new file mode 100644
index 0000000000..aaed52f736
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/eventfd.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
+#endif
+
+/* Flags for eventfd.  */
+enum
+  {
+    EFD_SEMAPHORE = 1,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
+    EFD_CLOEXEC = 010000000,
+#define EFD_CLOEXEC EFD_CLOEXEC
+    EFD_NONBLOCK = 00200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define EFD_NONBLOCK EFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
new file mode 100644
index 0000000000..2bd799883d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
@@ -0,0 +1,85 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define O_CREAT		00000400 /* not fcntl */
+#define O_EXCL		00002000 /* not fcntl */
+#define O_NOCTTY	00400000 /* not fcntl */
+#define O_APPEND	00000010
+#define O_NONBLOCK	00200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define __O_DSYNC	01000000
+#define __O_RSYNC	02000000 /* HPUX only */
+#define __O_SYNC	00100000
+#define O_SYNC		(__O_SYNC|__O_DSYNC)
+
+#define O_BLKSEEK	00000100 /* HPUX only */
+
+#define __O_DIRECTORY	000010000 /* Must be a directory.  */
+#define __O_NOFOLLOW	000000200 /* Do not follow links.  */
+#define __O_CLOEXEC	010000000 /* Set close_on_exec.  */
+#define __O_NOATIME	004000000 /* Do not set atime.  */
+#define __O_PATH        020000000
+#define __O_TMPFILE     040010000 /* Atomically create nameless file. */
+
+#define __O_LARGEFILE	00004000
+
+#define F_GETLK64	8	/* Get record locking info.  */
+#define F_SETLK64	9	/* Set record locking info (non-blocking).  */
+#define F_SETLKW64	10	/* Set record locking info (blocking).  */
+
+#define __F_GETOWN	11	/* Get owner of socket (receiver of SIGIO).  */
+#define __F_SETOWN	12	/* Set owner of socket (receiver of SIGIO).  */
+
+#define __F_SETSIG	13	/* Set number of signal to be sent.  */
+#define __F_GETSIG	14	/* Get number of signal to be sent.  */
+
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
+#define F_RDLCK		1	/* Read lock.  */
+#define F_WRLCK		2	/* Write lock.  */
+#define F_UNLCK		3	/* Remove lock.  */
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/inotify.h
new file mode 100644
index 0000000000..dfe5c8497c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/inotify.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
+#endif
+
+/* Flags for the parameter of inotify_init1.  */
+enum
+  {
+    IN_CLOEXEC = 010000000,
+#define IN_CLOEXEC IN_CLOEXEC
+    IN_NONBLOCK = 000200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define IN_NONBLOCK IN_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ioctls.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ioctls.h
new file mode 100644
index 0000000000..f81e67017b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ioctls.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Use the definitions from the kernel header files.  */
+#include <asm/ioctls.h>
+
+/* Oh well, this is necessary since the kernel data structure is
+   different from the user-level version.  */
+#undef  TCGETS
+#undef  TCSETS
+#undef  TCSETSW
+#undef  TCSETSF
+#define TCGETS	_IOR ('T', 16, char[36])
+#define TCSETS	_IOW ('T', 17, char[36])
+#define TCSETSW	_IOW ('T', 18, char[36])
+#define TCSETSF	_IOW ('T', 19, char[36])
+
+#include <linux/sockios.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ipc.h
new file mode 100644
index 0000000000..b2c2cc1ecb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/ipc.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+#if __WORDSIZE == 32
+    unsigned short int __pad1;
+    unsigned short int mode;		/* Read/write permission.  */
+    unsigned short int __pad2;
+#else
+    __mode_t mode;			/* Read/write permission.  */
+    unsigned short int __pad2;
+#endif
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned int __pad3;
+    __extension__ unsigned long long int __glibc_reserved1;
+    __extension__ unsigned long long int __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/mman.h
new file mode 100644
index 0000000000..acf7002beb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/mman.h
@@ -0,0 +1,111 @@
+/* Definitions for POSIX memory map interface.  Linux/HPPA version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* These are taken from the kernel definitions.  */
+
+#define PROT_READ	0x1		/* Page can be read */
+#define PROT_WRITE	0x2		/* Page can be written */
+#define PROT_EXEC	0x4		/* Page can be executed */
+#define PROT_NONE	0x0		/* Page can not be accessed */
+#define PROT_GROWSDOWN	0x01000000	/* Extend change to start of
+					   growsdown vma (mprotect only).  */
+#define PROT_GROWSUP	0x02000000	/* Extend change to start of
+					   growsup vma (mprotect only).  */
+
+#define MAP_SHARED	0x01		/* Share changes */
+#define MAP_PRIVATE	0x02		/* Changes are private */
+#ifdef __USE_MISC
+# define MAP_TYPE	0x03		/* Mask for type of mapping */
+#endif
+
+/* Other flags.  */
+#define MAP_FIXED	0x04		/* Interpret addr exactly */
+#ifdef __USE_MISC
+# define MAP_FILE	0x0
+# define MAP_ANONYMOUS	0x10		/* Don't use a file */
+# define MAP_ANON	MAP_ANONYMOUS
+# define MAP_VARIABLE	0
+/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size.  */
+# define MAP_HUGE_SHIFT	26
+# define MAP_HUGE_MASK	0x3f
+#endif
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_DENYWRITE	0x0800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x1000		/* Mark it as an executable */
+# define MAP_LOCKED	0x2000		/* Pages are locked */
+# define MAP_NORESERVE	0x4000		/* Don't check for reservations */
+# define MAP_GROWSDOWN	0x8000		/* Stack-like segment */
+# define MAP_POPULATE	0x10000		/* Populate (prefault) pagetables */
+# define MAP_NONBLOCK	0x20000		/* Do not block on IO */
+# define MAP_STACK	0x40000		/* Create for process/thread stacks */
+# define MAP_HUGETLB	0x80000		/* Create a huge page mapping */
+#endif
+
+/* Flags to "msync"  */
+#define MS_SYNC		1		/* Synchronous memory sync */
+#define MS_ASYNC	2		/* Sync memory asynchronously */
+#define MS_INVALIDATE	4		/* Invalidate the caches */
+
+/* Flags to "mlockall"  */
+#define MCL_CURRENT	1		/* Lock all current mappings */
+#define MCL_FUTURE	2		/* Lock all future mappings */
+#define MCL_ONFAULT	4		/* Lock all pages that are faulted in */
+
+/* Flags for `mremap'.  */
+#ifdef __USE_GNU
+# define MREMAP_MAYMOVE 1
+# define MREMAP_FIXED	2
+#endif
+
+/* Advice to "madvise"  */
+#ifdef __USE_MISC
+# define MADV_NORMAL	  0	/* No further special treatment */
+# define MADV_RANDOM	  1	/* Expect random page references */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references */
+# define MADV_WILLNEED	  3	/* Will need these pages */
+# define MADV_DONTNEED	  4	/* Dont need these pages */
+# define MADV_SPACEAVAIL  5	/* Insure that resources are reserved */
+# define MADV_VPS_PURGE	  6	/* Purge pages from VM page cache */
+# define MADV_VPS_INHERIT 7	/* Inherit parents page size */
+# define MADV_FREE	  8	/* Free pages only if memory pressure.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE   65	/* KSM may merge identical pages */
+# define MADV_UNMERGEABLE 66	/* KSM may not merge identical pages */
+# define MADV_HUGEPAGE	 67	/* Worth backing with hugepages */
+# define MADV_NOHUGEPAGE 68	/* Not worth backing with hugepages */
+# define MADV_DONTDUMP	 69	/* Explicity exclude from the core dump,
+				   overrides the coredump filter bits */
+# define MADV_DODUMP	 70	/* Clear the MADV_NODUMP flag */
+#endif
+
+/* The POSIX people had to invent similar names for the same things.  */
+#ifdef __USE_XOPEN2K
+# define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
+# define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
+# define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
+# define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
+# define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/msq.h
new file mode 100644
index 0000000000..e022a95809
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/msq.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+#if __WORDSIZE == 32
+  unsigned int __pad1;
+#endif
+  __time_t msg_stime;		/* time of last msgsnd command */
+#if __WORDSIZE == 32
+  unsigned int __pad2;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#if __WORDSIZE == 32
+  unsigned int __pad3;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sem.h
new file mode 100644
index 0000000000..a891494c3a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sem.h
@@ -0,0 +1,91 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+#include <bits/wordsize.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+#if __WORDSIZE == 32
+  unsigned int __pad1;
+#endif
+  __time_t sem_otime;			/* last semop() time */
+#if __WORDSIZE == 32
+  unsigned int __pad2;
+#endif
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/shm.h
new file mode 100644
index 0000000000..794f0ab2da
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/shm.h
@@ -0,0 +1,107 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA 0x00400000		/* address needs to be 4 Mb aligned */
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+#if __WORDSIZE == 32
+    unsigned int __pad1;
+#endif
+    __time_t shm_atime;			/* time of last shmat() */
+#if __WORDSIZE == 32
+    unsigned int __pad2;
+#endif
+    __time_t shm_dtime;			/* time of last shmdt() */
+#if __WORDSIZE == 32
+    unsigned int __pad3;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+#if __WORDSIZE == 32
+    unsigned int __pad4;
+#endif
+    size_t shm_segsz;			/* size of segment in bytes */
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long shmmax;
+    unsigned long shmmin;
+    unsigned long shmmni;
+    unsigned long shmseg;
+    unsigned long shmall;
+    unsigned long __glibc_reserved1;
+    unsigned long __glibc_reserved2;
+    unsigned long __glibc_reserved3;
+    unsigned long __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
new file mode 100644
index 0000000000..06ba2db8f2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
@@ -0,0 +1,81 @@
+/* Definitions for Linux/HPPA sigaction.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Special flags.  */
+#if __WORDSIZE == 64
+    int __glibc_reserved0;
+#endif
+    int sa_flags;
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+  };
+
+/* Bits in `sa_flags'.  */
+
+#define SA_NOCLDSTOP  0x00000008  /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  0x00000080  /* Don't create zombie on child death.  */
+#define SA_SIGINFO    0x00000010  /* Invoke signal-catching function with
+				     three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler.  */
+# define SA_NODEFER   0x00000020 /* Don't automatically block the signal
+				    when its handler is being executed.  */
+# define SA_RESTART   0x00000040 /* Restart syscall on signal return.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historic no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define SIG_BLOCK          0	/* for blocking signals */
+#define SIG_UNBLOCK        1	/* for unblocking signals */
+#define SIG_SETMASK        2	/* for setting the signal mask */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signalfd.h
new file mode 100644
index 0000000000..34bf6d6bf3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signalfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC = 010000000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 00200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signum.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signum.h
new file mode 100644
index 0000000000..20c0b60c9f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/signum.h
@@ -0,0 +1,89 @@
+/* Signal number definitions.  Linux/HPPA version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* Fake signal functions.  */
+#define SIG_ERR	((__sighandler_t) -1)		/* Error return.  */
+#define SIG_DFL	((__sighandler_t) 0)		/* Default action.  */
+#define SIG_IGN	((__sighandler_t) 1)		/* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
+#endif
+
+
+/* Signals.  */
+#define	SIGHUP		1	/* Hangup (POSIX).  */
+#define	SIGINT		2	/* Interrupt (ANSI).  */
+#define	SIGQUIT		3	/* Quit (POSIX).  */
+#define	SIGILL		4	/* Illegal instruction (ANSI).  */
+#define	SIGTRAP		5	/* Trace trap (POSIX).  */
+#define	SIGABRT		6	/* Abort (ANSI).  */
+#define	SIGIOT		6	/* IOT trap (4.2 BSD).  */
+#define	SIGSTKFLT	7	/* Stack fault.  */
+#define	SIGFPE		8	/* Floating-point exception (ANSI).  */
+#define	SIGKILL		9	/* Kill, unblockable (POSIX).  */
+#define	SIGBUS		10	/* BUS error (4.2 BSD).  */
+#define	SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define	SIGXCPU		12	/* CPU limit exceeded (4.2 BSD).  */
+#define	SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define	SIGALRM		14	/* Alarm clock (POSIX).  */
+#define	SIGTERM		15	/* Termination (ANSI).  */
+#define	SIGUSR1		16	/* User-defined signal 1 (POSIX).  */
+#define SIGUSR2		17	/* User-defined signal 2 (POSIX).  */
+#define	SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define	SIGCHLD		18	/* Child status has changed (POSIX).  */
+#define	SIGPWR		19	/* Power failure restart (System V).  */
+#define	SIGVTALRM	20	/* Virtual alarm clock (4.2 BSD).  */
+#define	SIGPROF		21	/* Profiling alarm clock (4.2 BSD).  */
+#define	SIGPOLL		SIGIO	/* Pollable event occurred (System V).  */
+#define	SIGIO		22	/* I/O now possible (4.2 BSD).  */
+#define	SIGWINCH	23	/* Window size change (4.3 BSD, Sun).  */
+#define	SIGSTOP		24	/* Stop, unblockable (POSIX).  */
+#define	SIGTSTP		25	/* Keyboard stop (POSIX).  */
+#define	SIGCONT		26	/* Continue (POSIX).  */
+#define	SIGTTIN		27	/* Background read from tty (POSIX).  */
+#define	SIGTTOU		28	/* Background write to tty (POSIX).  */
+#define	SIGURG		29	/* Urgent condition on socket (4.2 BSD).  */
+#define	SIGXFSZ		30	/* File size limit exceeded (4.2 BSD).  */
+#define SIGSYS		31	/* Bad system call.  */
+#define SIGUNUSED	31
+
+#define	_NSIG		65	/* Biggest signal number + 1
+				   (including real-time signals).  */
+
+#define SIGRTMIN        (__libc_current_sigrtmin ())
+#define SIGRTMAX        (__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+/* In the Linux kernel version 3.17, and glibc 2.21, the signal numbers
+   were rearranged in order to make hppa like every other arch. Previously
+   we started __SIGRTMIN at 37, and that meant several pieces of important
+   software, including systemd, would fail to build. To support systemd we
+   removed SIGEMT and SIGLOST, and rearranged the others according to
+   expected values. This is technically an ABI incompatible change, but
+   because zero applications use SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS
+   nothing broke.  Nothing uses SIGEMT and SIGLOST, and they were present
+   for HPUX compatibility which is no longer supported.  Thus because
+   nothing breaks we don't do any compatibility work here.  */
+#define __SIGRTMIN	32	/* Kernel > 3.17.  */
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h
new file mode 100644
index 0000000000..8c99f2116f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h
@@ -0,0 +1,55 @@
+/* Define enum __socket_type for Linux/HP-PARISC.
+   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/>.  */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_STREAM = 1,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_DGRAM = 2,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_DCCP = 6,		/* Datagram Congestion Control Protocol.  */
+#define SOCK_DCCP SOCK_DCCP
+  SOCK_PACKET = 10,		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 010000000,	/* Atomically set close-on-exec flag for the
+				   new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 0x40000000	/* Atomically mark descriptor(s) as
+				   non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/timerfd.h
new file mode 100644
index 0000000000..2a62c980af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/bits/timerfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
+#endif
+
+/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
+enum
+  {
+    TFD_CLOEXEC = 010000000,
+#define TFD_CLOEXEC TFD_CLOEXEC
+    TFD_NONBLOCK = 000200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define TFD_NONBLOCK TFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/brk.c
new file mode 100644
index 0000000000..f500ab419f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/brk.c
@@ -0,0 +1,41 @@
+/* brk system call for Linux/HPPA.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  __curbrk = newbrk = (void *) INLINE_SYSCALL (brk, 1, addr);
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/clone.S
new file mode 100644
index 0000000000..d36b302199
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/clone.S
@@ -0,0 +1,161 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Huggins-Daines <dhd@debian.org>, 2000.
+   Based on the Alpha version by Richard Henderson <rth@tamu.edu>, 1996.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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/unistd.h>
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Non-thread code calls __clone with the following parameters:
+   int clone(int (*fn)(void *arg),
+	     void *child_stack,
+	     int flags,
+	     void *arg)
+
+   NPTL Code will call __clone with the following parameters:
+   int clone(int (*fn)(void *arg),
+	     void *child_stack,
+	     int flags,
+	     void *arg,
+	     int *parent_tidptr,
+	     struct user_desc *newtls,
+	     int *child_pidptr)
+
+   The code should not mangle the extra input registers.
+   Syscall expects:				Input to __clone:
+	4(r25) - function pointer 		(r26, arg0)
+	0(r25) - argument			(r23, arg3)
+	r26 - clone flags.			(r24, arg2)
+	r25+64 - user stack pointer.		(r25, arg1)
+	r24 - parent tid pointer.		(stack - 52)
+	r23 - struct user_desc newtls pointer.	(stack - 56)
+	r22 - child tid pointer.		(stack - 60)
+	r20 - clone syscall number		(constant)
+
+   Return:
+
+	On success the thread ID of the child process is returend in
+	the callers context.
+	On error return -1, and set errno to the value returned by
+	the syscall.
+ */
+
+        .text
+ENTRY(__clone)
+	/* Prologue */
+	stwm	%r4, 64(%sp)
+	stw	%sp, -4(%sp)
+#ifdef PIC
+	stw	%r19, -32(%sp)
+#endif
+
+	/* Sanity check arguments.  */
+	comib,=,n  0, %arg0, .LerrorSanity        /* no NULL function pointers */
+	comib,=,n  0, %arg1, .LerrorSanity        /* no NULL stack pointers */
+
+	/* Save the function pointer, arg, and flags on the new stack.  */
+	stwm    %r26, 64(%r25)
+	stw	%r23, -60(%r25)
+	stw     %r24, -56(%r25)
+	/* Clone arguments are (int flags, void * child_stack) */
+	copy	%r24, %r26		/* flags are first */
+	/* User stack pointer is in the correct register already */
+
+	/* Load args from stack... */
+	ldw	-116(%sp), %r24		/* Load parent_tidptr */
+	ldw	-120(%sp), %r23 	/* Load newtls */
+	ldw	-124(%sp), %r22		/* Load child_tidptr */
+
+	/* Save the PIC register. */
+#ifdef PIC
+	copy	%r19, %r4		/* parent */
+#endif
+
+	/* Do the system call */
+	ble     0x100(%sr2, %r0)
+	ldi	__NR_clone, %r20
+
+	ldi	-4096, %r1
+	comclr,>>= %r1, %ret0, %r0	/* Note: unsigned compare. */
+	b,n	.LerrorRest
+
+	/* Restore the PIC register.  */
+#ifdef PIC
+	copy	%r4, %r19		/* parent */
+#endif
+
+	comib,=,n 0, %ret0, .LthreadStart
+
+	/* Successful return from the parent
+	   No need to restore the PIC register,
+	   since we return immediately. */
+
+	ldw	-84(%sp), %rp
+	bv	%r0(%rp)
+	ldwm	-64(%sp), %r4
+
+.LerrorRest:
+	/* Something bad happened -- no child created */
+	bl	__syscall_error, %rp
+	sub     %r0, %ret0, %arg0
+	ldw	-84(%sp), %rp
+	/* Return after setting errno, ret0 is set to -1 by __syscall_error. */
+	bv	%r0(%rp)
+	ldwm	-64(%sp), %r4
+
+.LerrorSanity:
+	/* Sanity checks failed, return -1, and set errno to EINVAL. */
+	bl	__syscall_error, %rp
+	ldi     EINVAL, %arg0
+	ldw	-84(%sp), %rp
+	bv	%r0(%rp)
+	ldwm	-64(%sp), %r4
+
+.LthreadStart:
+	/* Load up the arguments.  */
+	ldw	-60(%sp), %arg0
+	ldw     -64(%sp), %r22
+
+	/* $$dyncall fixes child's PIC register */
+
+	/* Call the user's function */
+#ifdef PIC
+	copy	%r19, %r4
+#endif
+	bl	$$dyncall, %r31
+	copy	%r31, %rp
+#ifdef PIC
+	copy	%r4, %r19
+#endif
+	/* The call to _exit needs saved r19.  */
+	bl	_exit, %rp
+	copy	%ret0, %arg0
+
+	/* We should not return from _exit.
+           We do not restore r4, or the stack state.  */
+	iitlbp	%r0, (%sr0, %r0)
+
+PSEUDO_END(__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getcontext.S
new file mode 100644
index 0000000000..6f52f2149d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getcontext.S
@@ -0,0 +1,165 @@
+/* Get current user context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Helge Deller <deller@gmx.de>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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"
+
+
+	/* Trampoline function. Non-standard calling ABI.  */
+	/* Can not use ENTRY(__getcontext_ret) here.  */
+	.type	__getcontext_ret, @function
+	.hidden	__getcontext_ret
+__getcontext_ret:
+	.proc
+	.callinfo FRAME=0,NO_CALLS
+	/* r26-r23 contain original r3-r6, but because setcontext
+	   does not reload r3-r6 (it's using them as temporaries)
+	   we must save them elsewhere and swap them back in.  */
+	copy	%r23, %r3
+	copy	%r24, %r4
+	copy	%r25, %r5
+	copy	%r26, %r6
+	/* r20 contains original return pointer.  */
+	bv	0(%r20)
+	copy	%r0, %ret0
+	.procend
+	.size	__getcontext_ret, .-__getcontext_ret
+
+
+ENTRY(__getcontext)
+	/* Save the registers.  */
+	stw	%r0, oR0(%r26)
+	stw	%r1, oR1(%r26)
+	/* stw	%r2, oR2(%r26) - used for trampoline.  */
+	stw	%r3, oR3(%r26)
+	stw	%r4, oR4(%r26)
+	stw	%r5, oR5(%r26)
+	stw	%r6, oR6(%r26)
+	stw	%r7, oR7(%r26)
+	stw	%r8, oR8(%r26)
+	stw	%r9, oR9(%r26)
+	stw	%r10, oR10(%r26)
+	stw	%r11, oR11(%r26)
+	stw	%r12, oR12(%r26)
+	stw	%r13, oR13(%r26)
+	stw	%r14, oR14(%r26)
+	stw	%r15, oR15(%r26)
+	stw	%r16, oR16(%r26)
+	stw	%r17, oR17(%r26)
+	stw	%r18, oR18(%r26)
+	stw	%r19, oR19(%r26)
+	/* stw	%r20, oR20(%r26) - used for trampoline.  */
+	stw	%r21, oR21(%r26)
+	stw	%r22, oR22(%r26)
+	/* stw	%r23, oR23(%r26) - used for trampoline.  */
+	/* stw	%r24, oR24(%r26) - used for trampoline.  */
+	/* stw	%r25, oR25(%r26) - used for trampoline.  */
+	/* stw	%r26, oR26(%r26) - used for trampoline.  */
+	stw	%r27, oR27(%r26)
+	stw	%r28, oR28(%r26)
+	stw	%r29, oR29(%r26)
+	stw	%sp, oR30(%r26)
+	stw	%r31, oR31(%r26)
+
+	stw	%r0, oUC_FLAGS(%r26)
+	/* stw	%r0, oUC_LINK(%r26) - Do not overwrite.  */
+	stw	%sp, oSS_SP(%r26)
+	stw	%r0, oSS_FLAGS(%r26)
+	stw	%r0, oSS_SIZE(%r26)
+
+	stw	%r0, oSC_FLAGS(%r26)
+
+	stw	%r0, oIASQ0(%r26)
+	stw	%r0, oIASQ1(%r26)
+	stw	%r0, oIAOQ0(%r26)
+	stw	%r0, oIAOQ1(%r26)
+	stw	%r0, oSAR(%r26) /* used as flag in swapcontext().  */
+
+
+	/* Store floating-point regs.  */
+	ldo	oFPREGS0(%r26),%r1
+	fstds,ma %fr0, 8(%r1)
+	fstds,ma %fr1, 8(%r1)
+	fstds,ma %fr2, 8(%r1)
+	fstds,ma %fr3, 8(%r1)
+	fstds,ma %fr4, 8(%r1)
+	fstds,ma %fr5, 8(%r1)
+	fstds,ma %fr6, 8(%r1)
+	fstds,ma %fr7, 8(%r1)
+	fstds,ma %fr8, 8(%r1)
+	fstds,ma %fr9, 8(%r1)
+	fstds,ma %fr10, 8(%r1)
+	fstds,ma %fr11, 8(%r1)
+	fstds,ma %fr12, 8(%r1)
+	fstds,ma %fr13, 8(%r1)
+	fstds,ma %fr14, 8(%r1)
+	fstds,ma %fr15, 8(%r1)
+	fstds,ma %fr16, 8(%r1)
+	fstds,ma %fr17, 8(%r1)
+	fstds,ma %fr18, 8(%r1)
+	fstds,ma %fr19, 8(%r1)
+	fstds,ma %fr20, 8(%r1)
+	fstds,ma %fr21, 8(%r1)
+	fstds,ma %fr22, 8(%r1)
+	fstds,ma %fr23, 8(%r1)
+	fstds,ma %fr24, 8(%r1)
+	fstds,ma %fr25, 8(%r1)
+	fstds,ma %fr26, 8(%r1)
+	fstds,ma %fr27, 8(%r1)
+	fstds,ma %fr28, 8(%r1)
+	fstds,ma %fr29, 8(%r1)
+	fstds,ma %fr30, 8(%r1)
+	fstds	 %fr31, 0(%r1)
+
+	/* Prologue */
+	stwm	%r4, 64(%sp)
+#ifdef PIC
+	stw	%r19, -32(%sp)
+#endif
+
+	/* Set up the trampoline registers.
+	   r20, r23, r24, r25, r26 and r2 are clobbered
+	   by call to getcontext() anyway. Reuse them.  */
+	stw	%r2, oR20(%r26)
+	stw	%r3, oR23(%r26)
+	stw	%r4, oR24(%r26)
+	stw	%r5, oR25(%r26)
+	stw	%r6, oR26(%r26)
+	ldil	L%__getcontext_ret, %r1
+	ldo     R%__getcontext_ret(%r1), %r1
+	stw	%r1, oR2(%r26)
+
+	/* Save the current signal mask.  */
+	/* sigprocmask(SIG_BLOCK, NULL, &ucp->uc_sigmask);  */
+	ldo	oSIGMASK(%r26), %r24
+	copy	%r0, %r25
+	bl	sigprocmask, %r2
+	ldi	SIG_BLOCK, %r26
+
+	/* Epilogue */
+	ldw	-84(%sp), %r2
+#ifdef PIC
+	ldw	-96(%sp), %r19
+#endif
+	bv	%r0(%r2)
+	ldwm	-64(%sp), %r4
+END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/internaltypes.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/internaltypes.h
new file mode 100644
index 0000000000..d6496579da
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/internaltypes.h
@@ -0,0 +1,84 @@
+#include_next <internaltypes.h>
+#ifndef _INTERNAL_TYPES_H_HPPA_
+#define _INTERNAL_TYPES_H_HPPA_ 1
+#include <atomic.h>
+
+/* In GLIBC 2.10 HPPA switched from Linuxthreads to NPTL, and in order
+to maintain ABI compatibility with pthread_cond_t, some care had to be
+taken.
+
+The NPTL pthread_cond_t grew in size. When HPPA switched to NPTL, we
+dropped the use of ldcw, and switched to the kernel helper routine for
+compare-and-swap.  This allowed HPPA to use the 4-word 16-byte aligned
+lock words, and alignment words to store the additional pthread_cond_t
+data. Once organized properly the new NPTL pthread_cond_t was 1 word
+smaller than the Linuxthreads version.
+
+However, we were faced with the case that users may have initialized the
+pthread_cond_t with PTHREAD_COND_INITIALIZER. In this case, the first
+four words were set to one, and must be cleared before any NPTL code
+used these words.
+
+We didn't want to use LDCW, because it continues to be a source of bugs
+when applications memset pthread_cond_t to all zeroes by accident. This
+works on all other architectures where lock words are unlocked at zero.
+Remember that because of the semantics of LDCW, a locked word is set to
+zero, and an unlocked word is set to 1.
+
+Instead we used atomic_compare_and_exchange_val_acq, but we couldn't use
+this on any of the pthread_cond_t words, otherwise it might interfere
+with the current operation of the structure. To solve this problem we
+used the left over word.
+
+If the stucture was initialized by a legacy Linuxthread
+PTHREAD_COND_INITIALIZER it contained a 1, and this indicates that the
+structure requires zeroing for NPTL. The first thread to come upon a
+pthread_cond_t with a 1 in the __initializer field, will
+compare-and-swap the value, placing a 2 there which will cause all other
+threads using the same pthread_cond_t to wait for the completion of the
+initialization. Lastly, we use a store (with memory barrier) to change
+__initializer from 2 to 0. Note that the store is strongly ordered, but
+we use the PA 1.1 compatible form which is ",ma" with zero offset.
+
+In the future, when the application is recompiled with NPTL
+PTHREAD_COND_INITIALIZER it will be a quick compare-and-swap, which
+fails because __initializer is zero, and the structure will be used as
+is correctly.  */
+
+#define cond_compat_clear(var) \
+({									\
+  int tmp = 0;								\
+  var->__data.__wseq = 0;						\
+  var->__data.__signals_sent = 0;					\
+  var->__data.__confirmed = 0;						\
+  var->__data.__generation = 0;						\
+  var->__data.__mutex = NULL;						\
+  var->__data.__quiescence_waiters = 0;					\
+  var->__data.__clockid = 0;						\
+  /* Clear __initializer last, to indicate initialization is done.  */	\
+  /* This synchronizes-with the acquire load below.  */			\
+  atomic_store_release (&var->__data.__initializer, 0);			\
+})
+
+#define cond_compat_check_and_clear(var) \
+({								\
+  int v;							\
+  int *value = &var->__data.__initializer;			\
+  /* This synchronizes-with the release store above.  */	\
+  while ((v = atomic_load_acquire (value)) != 0)		\
+    {								\
+      if (v == 1						\
+	  /* Relaxed MO is fine; it only matters who's first.  */        \
+	  && atomic_compare_exchange_acquire_weak_relaxed (value, 1, 2)) \
+	{							\
+	  /* We're first; initialize structure.  */		\
+	  cond_compat_clear (var);				\
+	  break;						\
+	}							\
+      else							\
+	/* Yield before we re-check initialization status.  */	\
+	sched_yield ();						\
+    }								\
+})
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ipc_priv.h
new file mode 100644
index 0000000000..d880f5029a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ipc_priv.h
@@ -0,0 +1,21 @@
+/* Old SysV permission definition for Linux.  Hppa version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel-features.h
new file mode 100644
index 0000000000..0e73a5c0df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel-features.h
@@ -0,0 +1,29 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2006-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/>.  */
+
+
+/* Support for the utimes syscall was added in 3.14.  */
+#if __LINUX_KERNEL_VERSION >= 0x030e00
+# define __ASSUME_UTIMES		1
+#endif
+
+#include_next <kernel-features.h>
+
+#define __ASSUME_RECV_SYSCALL   1
+#define __ASSUME_SEND_SYSCALL	1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h
new file mode 100644
index 0000000000..af048cbe7d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h
@@ -0,0 +1,18 @@
+/* We have a separate header file here because we do not support
+   SA_RESTORER on hppa. */
+
+/* This is the sigaction struction from the Linux 2.1.20 kernel.  */
+/* Blah.  This is bogus.  We don't ever use it. */
+struct old_kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_mask;
+	unsigned long sa_flags;
+};
+
+/* This is the sigaction structure from the Linux 2.1.68 kernel.  */
+
+struct kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_flags;
+	sigset_t sa_mask;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_stat.h
new file mode 100644
index 0000000000..a3ac53a1ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/kernel_stat.h
@@ -0,0 +1,34 @@
+/* definition of "struct stat" from the kernel */
+struct kernel_stat {
+	unsigned long	st_dev;		/* dev_t is 32 bits on parisc */
+	unsigned long	st_ino;		/* 32 bits */
+	unsigned short	st_mode;	/* 16 bits */
+	unsigned short	st_nlink;	/* 16 bits */
+	unsigned short	st_reserved1;	/* old st_uid */
+	unsigned short	st_reserved2;	/* old st_gid */
+	unsigned long	st_rdev;
+	unsigned long   st_size;
+	struct timespec st_atim;
+	struct timespec st_mtim;
+	struct timespec st_ctim;
+	long		st_blksize;
+	long		st_blocks;
+	unsigned long	__glibc_reserved1;	/* ACL stuff */
+	unsigned long	__glibc_reserved2;	/* network */
+	unsigned long	__glibc_reserved3;	/* network */
+	unsigned long	__glibc_reserved4;	/* cnodes */
+	unsigned short	__glibc_reserved5;	/* netsite */
+	short		st_fstype;
+	unsigned long	st_realdev;
+	unsigned short	st_basemode;
+	unsigned short	st_spareshort;
+	unsigned long	st_uid;
+	unsigned long   st_gid;
+	unsigned long	st_spare4[3];
+};
+
+#define _HAVE_STAT_NSEC
+#define _HAVE_STAT64_NSEC
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ld.abilist
new file mode 100644
index 0000000000..fc1c60ea17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ld.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x4
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.2 _r_debug D 0x14
+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
+GLIBC_2.4 __stack_chk_guard D 0x4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist
new file mode 100644
index 0000000000..21343df781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libc.abilist
new file mode 100644
index 0000000000..24bb7300d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -0,0 +1,2174 @@
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x404
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x404
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 prlimit F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _sys_errlist D 0x410
+GLIBC_2.17 _sys_nerr D 0x4
+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 prlimit64 F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.17 sys_errlist D 0x410
+GLIBC_2.17 sys_nerr D 0x4
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 fanotify_mark F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdout_ D 0xa0
+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 0x54
+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 0x4
+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 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __adjtimex F
+GLIBC_2.2 __after_morecore_hook D 0x4
+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 __clz_tab D 0x100
+GLIBC_2.2 __cmsg_nxthdr F
+GLIBC_2.2 __connect F
+GLIBC_2.2 __ctype32_b D 0x4
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __ctype_b D 0x4
+GLIBC_2.2 __ctype_get_mb_cur_max F
+GLIBC_2.2 __ctype_tolower D 0x4
+GLIBC_2.2 __ctype_toupper D 0x4
+GLIBC_2.2 __curbrk D 0x4
+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 __dgettext F
+GLIBC_2.2 __dup2 F
+GLIBC_2.2 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __environ D 0x4
+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 __flbf F
+GLIBC_2.2 __fork F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpu_control D 0x4
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __free_hook D 0x4
+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 __islower_l F
+GLIBC_2.2 __isnan F
+GLIBC_2.2 __isnanf 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 0x4
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_gendes_LOCAL D 0x4
+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 0x4
+GLIBC_2.2 __malloc_initialize_hook D 0x4
+GLIBC_2.2 __mbrlen F
+GLIBC_2.2 __mbrtowc F
+GLIBC_2.2 __memalign_hook D 0x4
+GLIBC_2.2 __mempcpy F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __monstartup F
+GLIBC_2.2 __morecore D 0x4
+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 0x4
+GLIBC_2.2 __progname_full D 0x4
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __rcmd_errstr D 0x4
+GLIBC_2.2 __read F
+GLIBC_2.2 __realloc_hook D 0x4
+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 0x4
+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 0x8
+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 0x4
+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 0x4
+GLIBC_2.2 _nl_msg_cat_cntr D 0x4
+GLIBC_2.2 _null_auth D 0xc
+GLIBC_2.2 _obstack D 0x4
+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 0x200
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 _rpc_dtablesize F
+GLIBC_2.2 _seterr_reply F
+GLIBC_2.2 _setjmp F
+GLIBC_2.2 _sys_errlist D 0x3f4
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x100
+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 0x4
+GLIBC_2.2 argp_program_version D 0x4
+GLIBC_2.2 argp_program_version_hook D 0x4
+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 0x4
+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 0x4
+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 0x14
+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 0x4
+GLIBC_2.2 loc2 D 0x4
+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 0x4
+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 0x4
+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 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 0x4
+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 0x4
+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 program_invocation_name D 0x4
+GLIBC_2.2 program_invocation_short_name D 0x4
+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 0x4
+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 0x10
+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 0x4
+GLIBC_2.2 stdin D 0x4
+GLIBC_2.2 stdout D 0x4
+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 0x4
+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 0xc
+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 0x3f4
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x100
+GLIBC_2.2 sys_siglist D 0x100
+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 0x4
+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 0x8
+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.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 0x3f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x3f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 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 0x400
+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 0x400
+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/hppa/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libm.abilist
new file mode 100644
index 0000000000..80fd4ada99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -0,0 +1,433 @@
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.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 __fpclassify F
+GLIBC_2.2 __fpclassifyf 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 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 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
+GLIBC_2.4 exp2l F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
new file mode 100644
index 0000000000..a73aa43c55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -0,0 +1,245 @@
+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_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/hppa/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/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/hppa/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/localplt.data
new file mode 100644
index 0000000000..9dd81b47c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/localplt.data
@@ -0,0 +1,24 @@
+# See scripts/check-localplt.awk for how this file is processed.
+# PLT use is required for the malloc family and for matherr because
+# users can define their own functions and have library internals call them.
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libc.so: _exit
+libc.so: __sigsetjmp
+libc.so: _IO_funlockfile
+libc.so: sigprocmask
+libc.so: __errno_location
+libm.so: matherr
+libpthread.so: __errno_location
+# 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/hppa/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/lxstat.c
new file mode 100644
index 0000000000..0efa0aea49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/lxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/makecontext.c
new file mode 100644
index 0000000000..9b02e49608
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/makecontext.c
@@ -0,0 +1,99 @@
+/* Create new context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Helge Deller <deller@gmx.de>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <libintl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysdep.h>
+#include <ucontext.h>
+
+/* POSIX only supports integer arguments.  */
+
+/* Stack must be 64-byte aligned at all times.  */
+#define STACK_ALIGN 64
+/* Size of frame marker in unsigned long words.  */
+#define FRAME_SIZE_UL 8
+/* Size of frame marker in bytes.  */
+#define FRAME_SIZE_BYTES (8 * sizeof(unsigned long))
+/* Size of X arguments in bytes.  */
+#define ARGS(x) (x * sizeof(unsigned long))
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  unsigned long *sp, *osp;
+  va_list ap;
+  int i;
+
+  /* Create a 64-byte aligned frame to store args. Use ss_sp if
+     it is available, otherwise be robust and use the currently
+     saved stack pointer.  */
+  if (ucp->uc_stack.ss_sp && ucp->uc_stack.ss_size)
+    osp = (unsigned long *)ucp->uc_stack.ss_sp;
+  else
+    osp = (unsigned long *)ucp->uc_mcontext.sc_gr[30];
+
+  sp = (unsigned long *)((((unsigned long) osp)
+			   + FRAME_SIZE_BYTES + ARGS(argc) + STACK_ALIGN)
+			 & ~(STACK_ALIGN - 1));
+
+  /* Use new frame.  */
+  ucp->uc_mcontext.sc_gr[30] = ((unsigned long) sp);
+
+  /* Finish frame setup.  */
+  if (ucp->uc_link)
+    {
+      /* Returning to the next context and next frame.  */
+      sp[-4/sizeof(unsigned long)] = ucp->uc_link->uc_mcontext.sc_gr[30];
+      sp[-20/sizeof(unsigned long)] = ucp->uc_link->uc_mcontext.sc_gr[2];
+    }
+  else
+    {
+      /* This is the main context. No frame marker, and no return address.  */
+      sp[-4/sizeof(unsigned long)] = 0x0;
+      sp[-20/sizeof(unsigned long)] = 0x0;
+    }
+
+  /* Store address to jump to.  */
+  ucp->uc_mcontext.sc_gr[2] = (unsigned long) func;
+
+  /* Process arguments.  */
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    {
+      if (i < 4)
+	{
+	  ucp->uc_mcontext.sc_gr[26-i] = va_arg (ap, int);
+	  continue;
+	}
+
+      if ((i < 8) && (sizeof(unsigned long) == 8))
+	{
+	  /* 64bit: r19-r22 are arg7-arg4.  */
+	  ucp->uc_mcontext.sc_gr[22+4-i] = va_arg (ap, int);
+	  continue;
+	}
+
+      /* All other arguments go on the stack.  */
+      sp[-1 * (FRAME_SIZE_UL + 1 + i)] = va_arg (ap, int);
+    }
+  va_end (ap);
+}
+weak_alias(__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/profil-counter.h
new file mode 100644
index 0000000000..0bb6e37298
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/profil-counter.h
@@ -0,0 +1,24 @@
+/* Machine-dependent SIGPROF signal handler.  PA-RISC version
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+static void
+__profil_counter (int signr, siginfo_t *si, struct ucontext *uctx)
+{
+  unsigned long ip = uctx->uc_mcontext.sc_iaoq[0] & ~0x3;
+  profil_count ((void *) ip);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pt-vfork.S
new file mode 100644
index 0000000000..fc4573c86b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pt-vfork.S
@@ -0,0 +1,79 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H        1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+.Lthread_start:						ASM_LINE_SEP
+
+	/* r26, r25, r24, r23 are free since vfork has no arguments */
+ENTRY(__vfork)
+	/* We must not create a frame. When the child unwinds to call
+	   exec it will clobber the same frame that the parent
+	   needs to unwind.  */
+
+	/* Save the PIC register. */
+#ifdef PIC
+	copy	%r19, %r25	/* parent */
+#endif
+
+	/* Syscall saves and restores all register states */
+	ble	0x100(%sr2,%r0)
+	ldi	__NR_vfork,%r20
+
+	/* Check for error */
+	ldi	-4096,%r1
+	comclr,>>= %r1,%ret0,%r0        /* Note: unsigned compare. */
+	b,n	.Lerror
+
+	/* Return, and DO NOT restore rp. The child may have called
+	   functions that updated the frame's rp. This works because
+	   the kernel ensures rp is preserved across the vfork
+	   syscall.  */
+	bv,n	%r0(%rp)
+
+.Lerror:
+	/* Now we need a stack to call a function. We are assured
+	   that there is no child now, so it's safe to create
+	   a frame.  */
+	stw	%rp, -20(%sp)
+	stwm	%r3, 64(%sp)
+	stw	%sp, -4(%sp)
+
+	sub	%r0,%ret0,%r3
+	SYSCALL_ERROR_HANDLER
+	/* Restore the PIC register (in delay slot) on error */
+#ifdef PIC
+	copy	%r25, %r19    /* parent */
+#else
+	nop
+#endif
+	/* Write syscall return into errno location */
+	stw	%r3, 0(%ret0)
+	ldw	-84(%sp), %rp
+	bv	%r0(%rp)
+	ldwm	-64(%sp), %r3
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+weak_alias (__vfork, vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread.h
new file mode 100644
index 0000000000..ac617201d2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread.h
@@ -0,0 +1,1203 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _PTHREAD_H
+#define _PTHREAD_H	1
+
+#include <features.h>
+#include <endian.h>
+#include <sched.h>
+#include <time.h>
+
+#include <bits/pthreadtypes.h>
+#include <bits/setjmp.h>
+#include <bits/wordsize.h>
+
+
+/* Detach state.  */
+enum
+{
+  PTHREAD_CREATE_JOINABLE,
+#define PTHREAD_CREATE_JOINABLE	PTHREAD_CREATE_JOINABLE
+  PTHREAD_CREATE_DETACHED
+#define PTHREAD_CREATE_DETACHED	PTHREAD_CREATE_DETACHED
+};
+
+
+/* Mutex types.  */
+enum
+{
+  PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ADAPTIVE_NP
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+  ,
+  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
+#endif
+#ifdef __USE_GNU
+  /* For compatibility.  */
+  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
+#endif
+};
+
+
+#ifdef __USE_XOPEN2K
+/* Robust mutex or not flags.  */
+enum
+{
+  PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_ROBUST,
+  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
+};
+#endif
+
+
+#if defined __USE_POSIX199506 || defined __USE_UNIX98
+/* Mutex protocols.  */
+enum
+{
+  PTHREAD_PRIO_NONE,
+  PTHREAD_PRIO_INHERIT,
+  PTHREAD_PRIO_PROTECT
+};
+#endif
+
+
+#ifdef __PTHREAD_MUTEX_HAVE_PREV
+# define PTHREAD_MUTEX_INITIALIZER \
+  { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
+# ifdef __USE_GNU
+#  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }
+#  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __PTHREAD_SPINS, { 0, 0 } } }
+#  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }
+#  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }
+
+# endif
+#else
+# define PTHREAD_MUTEX_INITIALIZER \
+  { { 0, 0, 0, 0, 0, { __PTHREAD_SPINS } } }
+# ifdef __USE_GNU
+#  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { __PTHREAD_SPINS } } }
+#  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { __PTHREAD_SPINS } } }
+#  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { __PTHREAD_SPINS } } }
+
+# endif
+#endif
+
+
+/* Read-write lock types.  */
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K
+enum
+{
+  PTHREAD_RWLOCK_PREFER_READER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
+};
+
+/* Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
+   has the shared field.  All 64-bit architectures have the shared field
+   in pthread_rwlock_t.  */
+#ifndef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
+# if __WORDSIZE == 64
+#  define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
+# endif
+#endif
+
+/* Read-write lock initializers.  */
+# define PTHREAD_RWLOCK_INITIALIZER \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+# ifdef __USE_GNU
+#  ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
+#   define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0,					      \
+	PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
+#  else
+#   if __BYTE_ORDER == __LITTLE_ENDIAN
+#    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
+  { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, \
+      0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+#   else
+#    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,\
+      0 } }
+#   endif
+#  endif
+# endif
+#endif  /* Unix98 or XOpen2K */
+
+
+/* Scheduler inheritance.  */
+enum
+{
+  PTHREAD_INHERIT_SCHED,
+#define PTHREAD_INHERIT_SCHED   PTHREAD_INHERIT_SCHED
+  PTHREAD_EXPLICIT_SCHED
+#define PTHREAD_EXPLICIT_SCHED  PTHREAD_EXPLICIT_SCHED
+};
+
+
+/* Scope handling.  */
+enum
+{
+  PTHREAD_SCOPE_SYSTEM,
+#define PTHREAD_SCOPE_SYSTEM    PTHREAD_SCOPE_SYSTEM
+  PTHREAD_SCOPE_PROCESS
+#define PTHREAD_SCOPE_PROCESS   PTHREAD_SCOPE_PROCESS
+};
+
+
+/* Process shared or private flag.  */
+enum
+{
+  PTHREAD_PROCESS_PRIVATE,
+#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
+  PTHREAD_PROCESS_SHARED
+#define PTHREAD_PROCESS_SHARED  PTHREAD_PROCESS_SHARED
+};
+
+
+
+/* Conditional variable handling.  */
+#define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }
+
+
+/* Cleanup buffers */
+struct _pthread_cleanup_buffer
+{
+  void (*__routine) (void *);             /* Function to call.  */
+  void *__arg;                            /* Its argument.  */
+  int __canceltype;                       /* Saved cancellation type. */
+  struct _pthread_cleanup_buffer *__prev; /* Chaining of cleanup functions.  */
+};
+
+/* Cancellation */
+enum
+{
+  PTHREAD_CANCEL_ENABLE,
+#define PTHREAD_CANCEL_ENABLE   PTHREAD_CANCEL_ENABLE
+  PTHREAD_CANCEL_DISABLE
+#define PTHREAD_CANCEL_DISABLE  PTHREAD_CANCEL_DISABLE
+};
+enum
+{
+  PTHREAD_CANCEL_DEFERRED,
+#define PTHREAD_CANCEL_DEFERRED	PTHREAD_CANCEL_DEFERRED
+  PTHREAD_CANCEL_ASYNCHRONOUS
+#define PTHREAD_CANCEL_ASYNCHRONOUS	PTHREAD_CANCEL_ASYNCHRONOUS
+};
+#define PTHREAD_CANCELED ((void *) -1)
+
+
+/* Single execution handling.  */
+#define PTHREAD_ONCE_INIT 0
+
+
+#ifdef __USE_XOPEN2K
+/* Value returned by 'pthread_barrier_wait' for one of the threads after
+   the required number of threads have called this function.
+   -1 is distinct from 0 and all errno constants */
+# define PTHREAD_BARRIER_SERIAL_THREAD -1
+#endif
+
+
+__BEGIN_DECLS
+
+/* Create a new thread, starting with execution of START-ROUTINE
+   getting passed ARG.  Creation attributed come from ATTR.  The new
+   handle is stored in *NEWTHREAD.  */
+extern int pthread_create (pthread_t *__restrict __newthread,
+			   const pthread_attr_t *__restrict __attr,
+			   void *(*__start_routine) (void *),
+			   void *__restrict __arg) __THROWNL __nonnull ((1, 3));
+
+/* Terminate calling thread.
+
+   The registered cleanup handlers are called via exception handling
+   so we cannot mark this function with __THROW.*/
+extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
+
+/* Make calling thread wait for termination of the thread TH.  The
+   exit status of the thread is stored in *THREAD_RETURN, if THREAD_RETURN
+   is not NULL.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int pthread_join (pthread_t __th, void **__thread_return);
+
+#ifdef __USE_GNU
+/* Check whether thread TH has terminated.  If yes return the status of
+   the thread in *THREAD_RETURN, if THREAD_RETURN is not NULL.  */
+extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
+
+/* Make calling thread wait for termination of the thread TH, but only
+   until TIMEOUT.  The exit status of the thread is stored in
+   *THREAD_RETURN, if THREAD_RETURN is not NULL.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
+				 const struct timespec *__abstime);
+#endif
+
+/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
+   The resources of TH will therefore be freed immediately when it
+   terminates, instead of waiting for another thread to perform PTHREAD_JOIN
+   on it.  */
+extern int pthread_detach (pthread_t __th) __THROW;
+
+
+/* Obtain the identifier of the current thread.  */
+extern pthread_t pthread_self (void) __THROW __attribute__ ((__const__));
+
+/* Compare two thread identifiers.  */
+extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
+  __THROW __attribute__ ((__const__));
+
+
+/* Thread attribute handling.  */
+
+/* Initialize thread attribute *ATTR with default attributes
+   (detachstate is PTHREAD_JOINABLE, scheduling policy is SCHED_OTHER,
+    no user-provided stack).  */
+extern int pthread_attr_init (pthread_attr_t *__attr) __THROW __nonnull ((1));
+
+/* Destroy thread attribute *ATTR.  */
+extern int pthread_attr_destroy (pthread_attr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Get detach state attribute.  */
+extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
+					int *__detachstate)
+     __THROW __nonnull ((1, 2));
+
+/* Set detach state attribute.  */
+extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
+					int __detachstate)
+     __THROW __nonnull ((1));
+
+
+/* Get the size of the guard area created for stack overflow protection.  */
+extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
+				      size_t *__guardsize)
+     __THROW __nonnull ((1, 2));
+
+/* Set the size of the guard area created for stack overflow protection.  */
+extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
+				      size_t __guardsize)
+     __THROW __nonnull ((1));
+
+
+/* Return in *PARAM the scheduling parameters of *ATTR.  */
+extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
+				       struct sched_param *__restrict __param)
+     __THROW __nonnull ((1, 2));
+
+/* Set scheduling parameters (priority, etc) in *ATTR according to PARAM.  */
+extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
+				       const struct sched_param *__restrict
+				       __param) __THROW __nonnull ((1, 2));
+
+/* Return in *POLICY the scheduling policy of *ATTR.  */
+extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
+					__attr, int *__restrict __policy)
+     __THROW __nonnull ((1, 2));
+
+/* Set scheduling policy in *ATTR according to POLICY.  */
+extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
+     __THROW __nonnull ((1));
+
+/* Return in *INHERIT the scheduling inheritance mode of *ATTR.  */
+extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
+					 __attr, int *__restrict __inherit)
+     __THROW __nonnull ((1, 2));
+
+/* Set scheduling inheritance mode in *ATTR according to INHERIT.  */
+extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
+					 int __inherit)
+     __THROW __nonnull ((1));
+
+
+/* Return in *SCOPE the scheduling contention scope of *ATTR.  */
+extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
+				  int *__restrict __scope)
+     __THROW __nonnull ((1, 2));
+
+/* Set scheduling contention scope in *ATTR according to SCOPE.  */
+extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
+     __THROW __nonnull ((1));
+
+/* Return the previously set address for the stack.  */
+extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
+				      __attr, void **__restrict __stackaddr)
+     __THROW __nonnull ((1, 2)) __attribute_deprecated__;
+
+/* Set the starting address of the stack of the thread to be created.
+   Depending on whether the stack grows up or down the value must either
+   be higher or lower than all the address in the memory block.  The
+   minimal size of the block must be PTHREAD_STACK_MIN.  */
+extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
+				      void *__stackaddr)
+     __THROW __nonnull ((1)) __attribute_deprecated__;
+
+/* Return the currently used minimal stack size.  */
+extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
+				      __attr, size_t *__restrict __stacksize)
+     __THROW __nonnull ((1, 2));
+
+/* Add information about the minimum stack size needed for the thread
+   to be started.  This size must never be less than PTHREAD_STACK_MIN
+   and must also not exceed the system limits.  */
+extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
+				      size_t __stacksize)
+     __THROW __nonnull ((1));
+
+#ifdef __USE_XOPEN2K
+/* Return the previously set address for the stack.  */
+extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
+				  void **__restrict __stackaddr,
+				  size_t *__restrict __stacksize)
+     __THROW __nonnull ((1, 2, 3));
+
+/* The following two interfaces are intended to replace the last two.  They
+   require setting the address as well as the size since only setting the
+   address will make the implementation on some architectures impossible.  */
+extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
+				  size_t __stacksize) __THROW __nonnull ((1));
+#endif
+
+#ifdef __USE_GNU
+/* Thread created with attribute ATTR will be limited to run only on
+   the processors represented in CPUSET.  */
+extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
+					size_t __cpusetsize,
+					const cpu_set_t *__cpuset)
+     __THROW __nonnull ((1, 3));
+
+/* Get bit set in CPUSET representing the processors threads created with
+   ATTR can run on.  */
+extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
+					size_t __cpusetsize,
+					cpu_set_t *__cpuset)
+     __THROW __nonnull ((1, 3));
+
+/* Get the default attributes used by pthread_create in this process.  */
+extern int pthread_getattr_default_np (pthread_attr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Set the default attributes to be used by pthread_create in this
+   process.  */
+extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Initialize thread attribute *ATTR with attributes corresponding to the
+   already running thread TH.  It shall be called on uninitialized ATTR
+   and destroyed with pthread_attr_destroy when no longer needed.  */
+extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
+     __THROW __nonnull ((2));
+#endif
+
+
+/* Functions for scheduling control.  */
+
+/* Set the scheduling parameters for TARGET_THREAD according to POLICY
+   and *PARAM.  */
+extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
+				  const struct sched_param *__param)
+     __THROW __nonnull ((3));
+
+/* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */
+extern int pthread_getschedparam (pthread_t __target_thread,
+				  int *__restrict __policy,
+				  struct sched_param *__restrict __param)
+     __THROW __nonnull ((2, 3));
+
+/* Set the scheduling priority for TARGET_THREAD.  */
+extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
+     __THROW;
+
+
+#ifdef __USE_GNU
+/* Get thread name visible in the kernel and its interfaces.  */
+extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
+			       size_t __buflen)
+     __THROW __nonnull ((2));
+
+/* Set thread name visible in the kernel and its interfaces.  */
+extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
+     __THROW __nonnull ((2));
+#endif
+
+
+#ifdef __USE_UNIX98
+/* Determine level of concurrency.  */
+extern int pthread_getconcurrency (void) __THROW;
+
+/* Set new concurrency level to LEVEL.  */
+extern int pthread_setconcurrency (int __level) __THROW;
+#endif
+
+#ifdef __USE_GNU
+/* Yield the processor to another thread or process.
+   This function is similar to the POSIX `sched_yield' function but
+   might be differently implemented in the case of a m-on-n thread
+   implementation.  */
+extern int pthread_yield (void) __THROW;
+
+
+/* Limit specified thread TH to run only on the processors represented
+   in CPUSET.  */
+extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
+				   const cpu_set_t *__cpuset)
+     __THROW __nonnull ((3));
+
+/* Get bit set in CPUSET representing the processors TH can run on.  */
+extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
+				   cpu_set_t *__cpuset)
+     __THROW __nonnull ((3));
+#endif
+
+
+/* Functions for handling initialization.  */
+
+/* Guarantee that the initialization function INIT_ROUTINE will be called
+   only once, even if pthread_once is executed several times with the
+   same ONCE_CONTROL argument. ONCE_CONTROL must point to a static or
+   extern variable initialized to PTHREAD_ONCE_INIT.
+
+   The initialization functions might throw exception which is why
+   this function is not marked with __THROW.  */
+extern int pthread_once (pthread_once_t *__once_control,
+			 void (*__init_routine) (void)) __nonnull ((1, 2));
+
+
+/* Functions for handling cancellation.
+
+   Note that these functions are explicitly not marked to not throw an
+   exception in C++ code.  If cancellation is implemented by unwinding
+   this is necessary to have the compiler generate the unwind information.  */
+
+/* Set cancelability state of current thread to STATE, returning old
+   state in *OLDSTATE if OLDSTATE is not NULL.  */
+extern int pthread_setcancelstate (int __state, int *__oldstate);
+
+/* Set cancellation state of current thread to TYPE, returning the old
+   type in *OLDTYPE if OLDTYPE is not NULL.  */
+extern int pthread_setcanceltype (int __type, int *__oldtype);
+
+/* Cancel THREAD immediately or at the next possibility.  */
+extern int pthread_cancel (pthread_t __th);
+
+/* Test for pending cancellation for the current thread and terminate
+   the thread as per pthread_exit(PTHREAD_CANCELED) if it has been
+   cancelled.  */
+extern void pthread_testcancel (void);
+
+
+/* Cancellation handling with integration into exception handling.  */
+
+typedef struct
+{
+  struct
+  {
+    __jmp_buf __cancel_jmp_buf;
+    int __mask_was_saved;
+  } __cancel_jmp_buf[1];
+  void *__pad[4];
+} __pthread_unwind_buf_t __attribute__ ((__aligned__));
+
+/* No special attributes by default.  */
+#ifndef __cleanup_fct_attribute
+# define __cleanup_fct_attribute
+#endif
+
+
+/* Structure to hold the cleanup handler information.  */
+struct __pthread_cleanup_frame
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+};
+
+#if defined __GNUC__ && defined __EXCEPTIONS
+# ifdef __cplusplus
+/* Class to handle cancellation handler invocation.  */
+class __pthread_cleanup_class
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+
+ public:
+  __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
+    : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
+  ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
+  void __setdoit (int __newval) { __do_it = __newval; }
+  void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
+					   &__cancel_type); }
+  void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
+};
+
+/* Install a cleanup handler: ROUTINE will be called with arguments ARG
+   when the thread is canceled or calls pthread_exit.  ROUTINE will also
+   be called with arguments ARG when the matching pthread_cleanup_pop
+   is executed with non-zero EXECUTE argument.
+
+   pthread_cleanup_push and pthread_cleanup_pop are macros and must always
+   be used in matching pairs at the same nesting level of braces.  */
+#  define pthread_cleanup_push(routine, arg) \
+  do {									      \
+    __pthread_cleanup_class __clframe (routine, arg)
+
+/* Remove a cleanup handler installed by the matching pthread_cleanup_push.
+   If EXECUTE is non-zero, the handler function is called. */
+#  define pthread_cleanup_pop(execute) \
+    __clframe.__setdoit (execute);					      \
+  } while (0)
+
+#  ifdef __USE_GNU
+/* Install a cleanup handler as pthread_cleanup_push does, but also
+   saves the current cancellation type and sets it to deferred
+   cancellation.  */
+#   define pthread_cleanup_push_defer_np(routine, arg) \
+  do {									      \
+    __pthread_cleanup_class __clframe (routine, arg);			      \
+    __clframe.__defer ()
+
+/* Remove a cleanup handler as pthread_cleanup_pop does, but also
+   restores the cancellation type that was in effect when the matching
+   pthread_cleanup_push_defer was called.  */
+#   define pthread_cleanup_pop_restore_np(execute) \
+    __clframe.__restore ();						      \
+    __clframe.__setdoit (execute);					      \
+  } while (0)
+#  endif
+# else
+/* Function called to call the cleanup handler.  As an extern inline
+   function the compiler is free to decide inlining the change when
+   needed or fall back on the copy which must exist somewhere
+   else.  */
+__extern_inline void
+__pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame)
+{
+  if (__frame->__do_it)
+    __frame->__cancel_routine (__frame->__cancel_arg);
+}
+
+/* Install a cleanup handler: ROUTINE will be called with arguments ARG
+   when the thread is canceled or calls pthread_exit.  ROUTINE will also
+   be called with arguments ARG when the matching pthread_cleanup_pop
+   is executed with non-zero EXECUTE argument.
+
+   pthread_cleanup_push and pthread_cleanup_pop are macros and must always
+   be used in matching pairs at the same nesting level of braces.  */
+#  define pthread_cleanup_push(routine, arg) \
+  do {									      \
+    struct __pthread_cleanup_frame __clframe				      \
+      __attribute__ ((__cleanup__ (__pthread_cleanup_routine)))		      \
+      = { .__cancel_routine = (routine), .__cancel_arg = (arg),	 	      \
+	  .__do_it = 1 };
+
+/* Remove a cleanup handler installed by the matching pthread_cleanup_push.
+   If EXECUTE is non-zero, the handler function is called. */
+#  define pthread_cleanup_pop(execute) \
+    __clframe.__do_it = (execute);					      \
+  } while (0)
+
+#  ifdef __USE_GNU
+/* Install a cleanup handler as pthread_cleanup_push does, but also
+   saves the current cancellation type and sets it to deferred
+   cancellation.  */
+#   define pthread_cleanup_push_defer_np(routine, arg) \
+  do {									      \
+    struct __pthread_cleanup_frame __clframe				      \
+      __attribute__ ((__cleanup__ (__pthread_cleanup_routine)))		      \
+      = { .__cancel_routine = (routine), .__cancel_arg = (arg),		      \
+	  .__do_it = 1 };						      \
+    (void) pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,		      \
+				  &__clframe.__cancel_type)
+
+/* Remove a cleanup handler as pthread_cleanup_pop does, but also
+   restores the cancellation type that was in effect when the matching
+   pthread_cleanup_push_defer was called.  */
+#   define pthread_cleanup_pop_restore_np(execute) \
+    (void) pthread_setcanceltype (__clframe.__cancel_type, NULL);	      \
+    __clframe.__do_it = (execute);					      \
+  } while (0)
+#  endif
+# endif
+#else
+/* Install a cleanup handler: ROUTINE will be called with arguments ARG
+   when the thread is canceled or calls pthread_exit.  ROUTINE will also
+   be called with arguments ARG when the matching pthread_cleanup_pop
+   is executed with non-zero EXECUTE argument.
+
+   pthread_cleanup_push and pthread_cleanup_pop are macros and must always
+   be used in matching pairs at the same nesting level of braces.  */
+# define pthread_cleanup_push(routine, arg) \
+  do {									      \
+    __pthread_unwind_buf_t __cancel_buf;				      \
+    void (*__cancel_routine) (void *) = (routine);			      \
+    void *__cancel_arg = (arg);						      \
+    int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)     \
+					__cancel_buf.__cancel_jmp_buf, 0);    \
+    if (__glibc_unlikely (__not_first_call))				      \
+      {									      \
+	__cancel_routine (__cancel_arg);				      \
+	__pthread_unwind_next (&__cancel_buf);				      \
+	/* NOTREACHED */						      \
+      }									      \
+									      \
+    __pthread_register_cancel (&__cancel_buf);				      \
+    do {
+extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute;
+
+/* Remove a cleanup handler installed by the matching pthread_cleanup_push.
+   If EXECUTE is non-zero, the handler function is called. */
+# define pthread_cleanup_pop(execute) \
+      do { } while (0);/* Empty to allow label before pthread_cleanup_pop.  */\
+    } while (0);							      \
+    __pthread_unregister_cancel (&__cancel_buf);			      \
+    if (execute)							      \
+      __cancel_routine (__cancel_arg);					      \
+  } while (0)
+extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
+  __cleanup_fct_attribute;
+
+# ifdef __USE_GNU
+/* Install a cleanup handler as pthread_cleanup_push does, but also
+   saves the current cancellation type and sets it to deferred
+   cancellation.  */
+#  define pthread_cleanup_push_defer_np(routine, arg) \
+  do {									      \
+    __pthread_unwind_buf_t __cancel_buf;				      \
+    void (*__cancel_routine) (void *) = (routine);			      \
+    void *__cancel_arg = (arg);						      \
+    int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)     \
+					__cancel_buf.__cancel_jmp_buf, 0);    \
+    if (__glibc_unlikely (__not_first_call))				      \
+      {									      \
+	__cancel_routine (__cancel_arg);				      \
+	__pthread_unwind_next (&__cancel_buf);				      \
+	/* NOTREACHED */						      \
+      }									      \
+									      \
+    __pthread_register_cancel_defer (&__cancel_buf);			      \
+    do {
+extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute;
+
+/* Remove a cleanup handler as pthread_cleanup_pop does, but also
+   restores the cancellation type that was in effect when the matching
+   pthread_cleanup_push_defer was called.  */
+#  define pthread_cleanup_pop_restore_np(execute) \
+      do { } while (0);/* Empty to allow label before pthread_cleanup_pop.  */\
+    } while (0);							      \
+    __pthread_unregister_cancel_restore (&__cancel_buf);		      \
+    if (execute)							      \
+      __cancel_routine (__cancel_arg);					      \
+  } while (0)
+extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf)
+  __cleanup_fct_attribute;
+# endif
+
+/* Internal interface to initiate cleanup.  */
+extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute __attribute__ ((__noreturn__))
+# ifndef SHARED
+     __attribute__ ((__weak__))
+# endif
+     ;
+#endif
+
+/* Function used in the macros.  */
+struct __jmp_buf_tag;
+extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROWNL;
+
+
+/* Mutex handling.  */
+
+/* Initialize a mutex.  */
+extern int pthread_mutex_init (pthread_mutex_t *__mutex,
+			       const pthread_mutexattr_t *__mutexattr)
+     __THROW __nonnull ((1));
+
+/* Destroy a mutex.  */
+extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
+     __THROW __nonnull ((1));
+
+/* Try locking a mutex.  */
+extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
+     __THROWNL __nonnull ((1));
+
+/* Lock a mutex.  */
+extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
+     __THROWNL __nonnull ((1));
+
+#ifdef __USE_XOPEN2K
+/* Wait until lock becomes available, or specified time passes. */
+extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
+				    const struct timespec *__restrict
+				    __abstime) __THROWNL __nonnull ((1, 2));
+#endif
+
+/* Unlock a mutex.  */
+extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
+     __THROWNL __nonnull ((1));
+
+
+/* Get the priority ceiling of MUTEX.  */
+extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
+					 __restrict __mutex,
+					 int *__restrict __prioceiling)
+     __THROW __nonnull ((1, 2));
+
+/* Set the priority ceiling of MUTEX to PRIOCEILING, return old
+   priority ceiling value in *OLD_CEILING.  */
+extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
+					 int __prioceiling,
+					 int *__restrict __old_ceiling)
+     __THROW __nonnull ((1, 3));
+
+
+#ifdef __USE_XOPEN2K8
+/* Declare the state protected by MUTEX as consistent.  */
+extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
+     __THROW __nonnull ((1));
+# ifdef __USE_GNU
+extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
+     __THROW __nonnull ((1));
+# endif
+#endif
+
+
+/* Functions for handling mutex attributes.  */
+
+/* Initialize mutex attribute object ATTR with default attributes
+   (kind is PTHREAD_MUTEX_TIMED_NP).  */
+extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Destroy mutex attribute object ATTR.  */
+extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Get the process-shared flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
+					 __restrict __attr,
+					 int *__restrict __pshared)
+     __THROW __nonnull ((1, 2));
+
+/* Set the process-shared flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
+					 int __pshared)
+     __THROW __nonnull ((1));
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+/* Return in *KIND the mutex kind attribute in *ATTR.  */
+extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
+				      __attr, int *__restrict __kind)
+     __THROW __nonnull ((1, 2));
+
+/* Set the mutex kind attribute in *ATTR to KIND (either PTHREAD_MUTEX_NORMAL,
+   PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_ERRORCHECK, or
+   PTHREAD_MUTEX_DEFAULT).  */
+extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
+     __THROW __nonnull ((1));
+#endif
+
+/* Return in *PROTOCOL the mutex protocol attribute in *ATTR.  */
+extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
+					  __restrict __attr,
+					  int *__restrict __protocol)
+     __THROW __nonnull ((1, 2));
+
+/* Set the mutex protocol attribute in *ATTR to PROTOCOL (either
+   PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, or PTHREAD_PRIO_PROTECT).  */
+extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
+					  int __protocol)
+     __THROW __nonnull ((1));
+
+/* Return in *PRIOCEILING the mutex prioceiling attribute in *ATTR.  */
+extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
+					     __restrict __attr,
+					     int *__restrict __prioceiling)
+     __THROW __nonnull ((1, 2));
+
+/* Set the mutex prioceiling attribute in *ATTR to PRIOCEILING.  */
+extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
+					     int __prioceiling)
+     __THROW __nonnull ((1));
+
+#ifdef __USE_XOPEN2K
+/* Get the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
+					int *__robustness)
+     __THROW __nonnull ((1, 2));
+# ifdef __USE_GNU
+extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr,
+					   int *__robustness)
+     __THROW __nonnull ((1, 2));
+# endif
+
+/* Set the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
+					int __robustness)
+     __THROW __nonnull ((1));
+# ifdef __USE_GNU
+extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
+					   int __robustness)
+     __THROW __nonnull ((1));
+# endif
+#endif
+
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K
+/* Functions for handling read-write locks.  */
+
+/* Initialize read-write lock RWLOCK using attributes ATTR, or use
+   the default values if later is NULL.  */
+extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
+				const pthread_rwlockattr_t *__restrict
+				__attr) __THROW __nonnull ((1));
+
+/* Destroy read-write lock RWLOCK.  */
+extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
+     __THROW __nonnull ((1));
+
+/* Acquire read lock for RWLOCK.  */
+extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
+     __THROWNL __nonnull ((1));
+
+/* Try to acquire read lock for RWLOCK.  */
+extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
+  __THROWNL __nonnull ((1));
+
+# ifdef __USE_XOPEN2K
+/* Try to acquire read lock for RWLOCK or return after specfied time.  */
+extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
+				       const struct timespec *__restrict
+				       __abstime) __THROWNL __nonnull ((1, 2));
+# endif
+
+/* Acquire write lock for RWLOCK.  */
+extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
+     __THROWNL __nonnull ((1));
+
+/* Try to acquire write lock for RWLOCK.  */
+extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
+     __THROWNL __nonnull ((1));
+
+# ifdef __USE_XOPEN2K
+/* Try to acquire write lock for RWLOCK or return after specfied time.  */
+extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
+				       const struct timespec *__restrict
+				       __abstime) __THROWNL __nonnull ((1, 2));
+# endif
+
+/* Unlock RWLOCK.  */
+extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
+     __THROWNL __nonnull ((1));
+
+
+/* Functions for handling read-write lock attributes.  */
+
+/* Initialize attribute object ATTR with default values.  */
+extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Destroy attribute object ATTR.  */
+extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Return current setting of process-shared attribute of ATTR in PSHARED.  */
+extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
+					  __restrict __attr,
+					  int *__restrict __pshared)
+     __THROW __nonnull ((1, 2));
+
+/* Set process-shared attribute of ATTR to PSHARED.  */
+extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
+					  int __pshared)
+     __THROW __nonnull ((1));
+
+/* Return current setting of reader/writer preference.  */
+extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
+					  __restrict __attr,
+					  int *__restrict __pref)
+     __THROW __nonnull ((1, 2));
+
+/* Set reader/write preference.  */
+extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
+					  int __pref) __THROW __nonnull ((1));
+#endif
+
+
+/* Functions for handling conditional variables.  */
+
+/* Initialize condition variable COND using attributes ATTR, or use
+   the default values if later is NULL.  */
+extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
+			      const pthread_condattr_t *__restrict __cond_attr)
+     __THROW __nonnull ((1));
+
+/* Destroy condition variable COND.  */
+extern int pthread_cond_destroy (pthread_cond_t *__cond)
+     __THROW __nonnull ((1));
+
+/* Wake up one thread waiting for condition variable COND.  */
+extern int pthread_cond_signal (pthread_cond_t *__cond)
+     __THROWNL __nonnull ((1));
+
+/* Wake up all threads waiting for condition variables COND.  */
+extern int pthread_cond_broadcast (pthread_cond_t *__cond)
+     __THROWNL __nonnull ((1));
+
+/* Wait for condition variable COND to be signaled or broadcast.
+   MUTEX is assumed to be locked before.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
+			      pthread_mutex_t *__restrict __mutex)
+     __nonnull ((1, 2));
+
+/* Wait for condition variable COND to be signaled or broadcast until
+   ABSTIME.  MUTEX is assumed to be locked before.  ABSTIME is an
+   absolute time specification; zero is the beginning of the epoch
+   (00:00:00 GMT, January 1, 1970).
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
+				   pthread_mutex_t *__restrict __mutex,
+				   const struct timespec *__restrict __abstime)
+     __nonnull ((1, 2, 3));
+
+/* Functions for handling condition variable attributes.  */
+
+/* Initialize condition variable attribute ATTR.  */
+extern int pthread_condattr_init (pthread_condattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Destroy condition variable attribute ATTR.  */
+extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Get the process-shared flag of the condition variable attribute ATTR.  */
+extern int pthread_condattr_getpshared (const pthread_condattr_t *
+					__restrict __attr,
+					int *__restrict __pshared)
+     __THROW __nonnull ((1, 2));
+
+/* Set the process-shared flag of the condition variable attribute ATTR.  */
+extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
+					int __pshared) __THROW __nonnull ((1));
+
+#ifdef __USE_XOPEN2K
+/* Get the clock selected for the condition variable attribute ATTR.  */
+extern int pthread_condattr_getclock (const pthread_condattr_t *
+				      __restrict __attr,
+				      __clockid_t *__restrict __clock_id)
+     __THROW __nonnull ((1, 2));
+
+/* Set the clock selected for the condition variable attribute ATTR.  */
+extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
+				      __clockid_t __clock_id)
+     __THROW __nonnull ((1));
+#endif
+
+
+#ifdef __USE_XOPEN2K
+/* Functions to handle spinlocks.  */
+
+/* Initialize the spinlock LOCK.  If PSHARED is nonzero the spinlock can
+   be shared between different processes.  */
+extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
+     __THROW __nonnull ((1));
+
+/* Destroy the spinlock LOCK.  */
+extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
+     __THROW __nonnull ((1));
+
+/* Wait until spinlock LOCK is retrieved.  */
+extern int pthread_spin_lock (pthread_spinlock_t *__lock)
+     __THROWNL __nonnull ((1));
+
+/* Try to lock spinlock LOCK.  */
+extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
+     __THROWNL __nonnull ((1));
+
+/* Release spinlock LOCK.  */
+extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
+     __THROWNL __nonnull ((1));
+
+
+/* Functions to handle barriers.  */
+
+/* Initialize BARRIER with the attributes in ATTR.  The barrier is
+   opened when COUNT waiters arrived.  */
+extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
+				 const pthread_barrierattr_t *__restrict
+				 __attr, unsigned int __count)
+     __THROW __nonnull ((1));
+
+/* Destroy a previously dynamically initialized barrier BARRIER.  */
+extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
+     __THROW __nonnull ((1));
+
+/* Wait on barrier BARRIER.  */
+extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
+     __THROWNL __nonnull ((1));
+
+
+/* Initialize barrier attribute ATTR.  */
+extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Destroy previously dynamically initialized barrier attribute ATTR.  */
+extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
+     __THROW __nonnull ((1));
+
+/* Get the process-shared flag of the barrier attribute ATTR.  */
+extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
+					   __restrict __attr,
+					   int *__restrict __pshared)
+     __THROW __nonnull ((1, 2));
+
+/* Set the process-shared flag of the barrier attribute ATTR.  */
+extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
+					   int __pshared)
+     __THROW __nonnull ((1));
+#endif
+
+
+/* Functions for handling thread-specific data.  */
+
+/* Create a key value identifying a location in the thread-specific
+   data area.  Each thread maintains a distinct thread-specific data
+   area.  DESTR_FUNCTION, if non-NULL, is called with the value
+   associated to that key when the key is destroyed.
+   DESTR_FUNCTION is not called if the value associated is NULL when
+   the key is destroyed.  */
+extern int pthread_key_create (pthread_key_t *__key,
+			       void (*__destr_function) (void *))
+     __THROW __nonnull ((1));
+
+/* Destroy KEY.  */
+extern int pthread_key_delete (pthread_key_t __key) __THROW;
+
+/* Return current value of the thread-specific data slot identified by KEY.  */
+extern void *pthread_getspecific (pthread_key_t __key) __THROW;
+
+/* Store POINTER in the thread-specific data slot identified by KEY. */
+extern int pthread_setspecific (pthread_key_t __key,
+				const void *__pointer) __THROW ;
+
+
+#ifdef __USE_XOPEN2K
+/* Get ID of CPU-time clock for thread THREAD_ID.  */
+extern int pthread_getcpuclockid (pthread_t __thread_id,
+				  __clockid_t *__clock_id)
+     __THROW __nonnull ((2));
+#endif
+
+
+/* Install handlers to be called when a new process is created with FORK.
+   The PREPARE handler is called in the parent process just before performing
+   FORK. The PARENT handler is called in the parent process just after FORK.
+   The CHILD handler is called in the child process.  Each of the three
+   handlers can be NULL, meaning that no handler needs to be called at that
+   point.
+   PTHREAD_ATFORK can be called several times, in which case the PREPARE
+   handlers are called in LIFO order (last added with PTHREAD_ATFORK,
+   first called before FORK), and the PARENT and CHILD handlers are called
+   in FIFO (first added, first called).  */
+
+extern int pthread_atfork (void (*__prepare) (void),
+			   void (*__parent) (void),
+			   void (*__child) (void)) __THROW;
+
+
+#ifdef __USE_EXTERN_INLINES
+/* Optimizations.  */
+__extern_inline int
+__NTH (pthread_equal (pthread_t __thread1, pthread_t __thread2))
+{
+  return __thread1 == __thread2;
+}
+#endif
+
+__END_DECLS
+
+#endif	/* pthread.h */
+
+#ifndef _PTHREAD_H_HPPA_
+#define _PTHREAD_H_HPPA_ 1
+
+/* The pthread_cond_t initializer is compatible only with NPTL. We do not
+   want to be forwards compatible, we eventually want to drop the code
+   that has to clear the old LT initializer.  */
+#undef PTHREAD_COND_INITIALIZER
+#define PTHREAD_COND_INITIALIZER { { 0, 0, 0, (void *) 0, 0, 0, 0, 0, 0 } }
+
+/* The pthread_mutex_t and pthread_rwlock_t initializers are compatible
+   only with NPTL. NPTL assumes pthread_rwlock_t is all zero.  */
+#undef PTHREAD_MUTEX_INITIALIZER
+#undef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+#undef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+#undef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+/* Mutex initializers.  */
+#define PTHREAD_MUTEX_INITIALIZER \
+  { { 0, 0, 0, 0, { 0, 0, 0, 0 }, 0, { 0 }, 0, 0 } }
+#ifdef __USE_GNU
+# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, { 0, 0, 0, 0 }, 0, { 0 }, 0, 0 } }
+# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, { 0, 0, 0, 0 }, 0, { 0 }, 0, 0 } }
+# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
+  { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, { 0, 0, 0, 0 }, 0, { 0 }, 0, 0 } }
+#endif
+
+#undef PTHREAD_RWLOCK_INITIALIZER
+#undef PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+/* Read-write lock initializers.  */
+#define PTHREAD_RWLOCK_INITIALIZER \
+  { { { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+#ifdef __USE_GNU
+# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
+  { { { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,\
+      0, 0, 0 } }
+#endif  /* Unix98 or XOpen2K */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthreadP.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthreadP.h
new file mode 100644
index 0000000000..744b5b090b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthreadP.h
@@ -0,0 +1,16 @@
+#include_next <pthreadP.h>
+#ifndef _PTHREADP_H_HPPA_
+#define _PTHREADP_H_HPPA_ 1
+
+/* Internal cond functions.  */
+extern int __pthread_cond_broadcast_internal (pthread_cond_t *cond);
+extern int __pthread_cond_destroy_internal (pthread_cond_t *cond);
+extern int __pthread_cond_init_internal (pthread_cond_t *cond,
+                                        const pthread_condattr_t *cond_attr);
+extern int __pthread_cond_signal_internal (pthread_cond_t *cond);
+extern int __pthread_cond_timedwait_internal (pthread_cond_t *cond,
+                                             pthread_mutex_t *mutex,
+                                             const struct timespec *abstime);
+extern int __pthread_cond_wait_internal (pthread_cond_t *cond,
+                                        pthread_mutex_t *mutex);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c
new file mode 100644
index 0000000000..a6f9f5d433
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@codesourcery.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 INCLUDED_SELF
+# define INCLUDED_SELF
+# include <pthread_cond_broadcast.c>
+#else
+# include <pthread.h>
+# include <pthreadP.h>
+# include <internaltypes.h>
+# include <shlib-compat.h>
+int
+__pthread_cond_broadcast (pthread_cond_t *cond)
+{
+  cond_compat_check_and_clear (cond);
+  return __pthread_cond_broadcast_internal (cond);
+}
+versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast,
+                  GLIBC_2_3_2);
+# undef versioned_symbol
+# define versioned_symbol(lib, local, symbol, version)
+# undef __pthread_cond_broadcast
+# define __pthread_cond_broadcast __pthread_cond_broadcast_internal
+# include_next <pthread_cond_broadcast.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c
new file mode 100644
index 0000000000..49af087bb4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@codesourcery.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 INCLUDED_SELF
+# define INCLUDED_SELF
+# include <pthread_cond_destroy.c>
+#else
+# include <pthread.h>
+# include <pthreadP.h>
+# include <internaltypes.h>
+# include <shlib-compat.h>
+int
+__pthread_cond_destroy (pthread_cond_t *cond)
+{
+  cond_compat_check_and_clear (cond);
+  return __pthread_cond_destroy_internal (cond);
+}
+versioned_symbol (libpthread, __pthread_cond_destroy, pthread_cond_destroy,
+                  GLIBC_2_3_2);
+# undef versioned_symbol
+# define versioned_symbol(lib, local, symbol, version)
+# undef __pthread_cond_destroy
+# define __pthread_cond_destroy __pthread_cond_destroy_internal
+# include_next <pthread_cond_destroy.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c
new file mode 100644
index 0000000000..ccb3de07ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@codesourcery.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 INCLUDED_SELF
+# define INCLUDED_SELF
+# include <pthread_cond_init.c>
+#else
+# include <pthread.h>
+# include <pthreadP.h>
+# include <internaltypes.h>
+# include <shlib-compat.h>
+int
+__pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr)
+{
+  cond_compat_clear (cond);
+  return __pthread_cond_init_internal (cond, cond_attr);
+}
+versioned_symbol (libpthread, __pthread_cond_init, pthread_cond_init,
+                  GLIBC_2_3_2);
+# undef versioned_symbol
+# define versioned_symbol(lib, local, symbol, version)
+# undef __pthread_cond_init
+# define __pthread_cond_init __pthread_cond_init_internal
+# include_next <pthread_cond_init.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c
new file mode 100644
index 0000000000..2bf32af933
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@codesourcery.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 INCLUDED_SELF
+# define INCLUDED_SELF
+# include <pthread_cond_signal.c>
+#else
+# include <pthread.h>
+# include <pthreadP.h>
+# include <internaltypes.h>
+# include <shlib-compat.h>
+int
+__pthread_cond_signal (pthread_cond_t *cond)
+{
+  cond_compat_check_and_clear (cond);
+  return __pthread_cond_signal_internal (cond);
+}
+versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal,
+                  GLIBC_2_3_2);
+# undef versioned_symbol
+# define versioned_symbol(lib, local, symbol, version)
+# undef __pthread_cond_signal
+# define __pthread_cond_signal __pthread_cond_signal_internal
+# include_next <pthread_cond_signal.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c
new file mode 100644
index 0000000000..1cc2fc15d4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Carlos O'Donell <carlos@codesourcery.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 INCLUDED_SELF
+# define INCLUDED_SELF
+# include <pthread_cond_wait.c>
+#else
+# include <pthread.h>
+# include <pthreadP.h>
+# include <internaltypes.h>
+# include <shlib-compat.h>
+int
+__pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex)
+{
+  cond_compat_check_and_clear (cond);
+  return __pthread_cond_wait_internal (cond, mutex);
+}
+versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+                  GLIBC_2_3_2);
+int
+__pthread_cond_timedwait (cond, mutex, abstime)
+     pthread_cond_t *cond;
+     pthread_mutex_t *mutex;
+     const struct timespec *abstime;
+{
+  cond_compat_check_and_clear (cond);
+  return __pthread_cond_timedwait_internal (cond, mutex, abstime);
+}
+versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
+                  GLIBC_2_3_2);
+# undef versioned_symbol
+# define versioned_symbol(lib, local, symbol, version)
+# undef __pthread_cond_wait
+# define __pthread_cond_wait __pthread_cond_wait_internal
+# undef __pthread_cond_timedwait
+# define __pthread_cond_timedwait __pthread_cond_timedwait_internal
+# include_next <pthread_cond_wait.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/setcontext.S
new file mode 100644
index 0000000000..3f4da7938f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/setcontext.S
@@ -0,0 +1,158 @@
+/* Install given context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Helge Deller <deller@gmx.de>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <libc-symbols.h>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__setcontext)
+	/* Prologue */
+	stwm	%r3, 64(%sp)
+#ifdef PIC
+	stw	%r19, -32(%sp)
+#endif
+
+	/* Save ucp.  */
+	copy	%r26, %r3
+
+.Lagain:
+	/* Set the current signal mask.  */
+	/* sigprocmask(SIG_BLOCK, &ucp->uc_sigmask, NULL);  */
+	copy	%r0, %r24
+	ldo	oSIGMASK(%r3), %r25
+	bl	sigprocmask, %r2
+	ldi	SIG_SETMASK, %r26
+
+	comib,<>,n 0,%ret0,.Lerror
+
+	/* Save %sp, %dp.  */
+	copy	%sp, %r4
+	copy	%dp, %r5
+	copy	%r19, %r6
+
+	/* Get the registers.  */
+	ldw	oR1(%r3), %r1
+	ldw	oR2(%r3), %r2
+	/* ldw	oR3(%r3), %r3 - used for ucp pointer.	*/
+	/* ldw	oR4(%r3), %r4 - used for original %sp.	*/
+	/* ldw	oR5(%r3), %r5 - used for %dp / %r27.	*/
+	/* ldw	oR6(%r3), %r6 - used for %r19.		*/
+	ldw	oR7(%r3), %r7
+	ldw	oR8(%r3), %r8
+	ldw	oR9(%r3), %r9
+	ldw	oR10(%r3), %r10
+	ldw	oR11(%r3), %r11
+	ldw	oR12(%r3), %r12
+	ldw	oR13(%r3), %r13
+	ldw	oR14(%r3), %r14
+	ldw	oR15(%r3), %r15
+	ldw	oR16(%r3), %r16
+	ldw	oR17(%r3), %r17
+	ldw	oR18(%r3), %r18
+	ldw	oR19(%r3), %r19
+	ldw	oR20(%r3), %r20
+	ldw	oR21(%r3), %r21
+	/* ldw	oR22(%r3), %r22 - dyncall arg.  */
+	ldw	oR23(%r3), %r23
+	ldw	oR24(%r3), %r24
+	ldw	oR25(%r3), %r25
+	ldw	oR26(%r3), %r26
+	ldw	oR27(%r3), %r27
+	ldw	oR28(%r3), %r28
+	ldw	oR29(%r3), %r29
+	ldw	oR30(%r3), %sp
+	/* ldw	oR31(%r3), %r31 - dyncall scratch register */
+
+	/* Restore floating-point registers.  */
+	ldo	 oFPREGS31(%r3), %r22
+	fldds	  0(%r22), %fr31
+	fldds,mb -8(%r22), %fr30
+	fldds,mb -8(%r22), %fr29
+	fldds,mb -8(%r22), %fr28
+	fldds,mb -8(%r22), %fr27
+	fldds,mb -8(%r22), %fr26
+	fldds,mb -8(%r22), %fr25
+	fldds,mb -8(%r22), %fr24
+	fldds,mb -8(%r22), %fr23
+	fldds,mb -8(%r22), %fr22
+	fldds,mb -8(%r22), %fr21
+	fldds,mb -8(%r22), %fr20
+	fldds,mb -8(%r22), %fr19
+	fldds,mb -8(%r22), %fr18
+	fldds,mb -8(%r22), %fr17
+	fldds,mb -8(%r22), %fr16
+	fldds,mb -8(%r22), %fr15
+	fldds,mb -8(%r22), %fr14
+	fldds,mb -8(%r22), %fr13
+	fldds,mb -8(%r22), %fr12
+	fldds,mb -8(%r22), %fr11
+	fldds,mb -8(%r22), %fr10
+	fldds,mb -8(%r22), %fr9
+	fldds,mb -8(%r22), %fr8
+	fldds,mb -8(%r22), %fr7
+	fldds,mb -8(%r22), %fr6
+	fldds,mb -8(%r22), %fr5
+	fldds,mb -8(%r22), %fr4
+	fldds,mb -8(%r22), %fr3
+	fldds,mb -8(%r22), %fr2
+	fldds,mb -8(%r22), %fr1
+	fldds,mb -8(%r22), %fr0
+
+	/* Do not load oSS_SP into %sp. The value of oSS_SP indicates
+	   the start of the user allocated stack, but not the sp that
+	   should be used by the new context. In fact makecontext
+	   will create a frame, and adjust sp as required. We do not
+	   support calling getcontext and modifying ss_sp without
+	   a call to makecontext to synchronize ss_sp into the machine
+	   context.  */
+
+	/* Call external function.  */
+	copy	%r2, %r22
+	bl	$$dyncall, %r31
+	copy	%r31, %r2
+
+	/* We return here. Get new ucp in %r3, reload %sp.  */
+	ldw	oUC_LINK(%r3), %r3
+	copy	%r4, %sp
+	copy	%r5, %dp
+	copy	%r6, %r19
+
+	/* Continue until ucp == NULL.  */
+	comib,<> 0,%r3,.Lagain
+	nop
+
+	/* No further context available. Exit now.  */
+	bl	HIDDEN_JUMPTARGET(exit), %r2
+	ldi	-1, %r26
+
+
+.Lerror:
+	/* Epilogue */
+	ldw	-84(%r30), %r2
+#ifdef PIC
+	ldw	-96(%r30), %r19
+#endif
+	bv	%r0(%r2)
+	ldwm	-64(%r30), %r3
+L(pseudo_end):
+PSEUDO_END(__setcontext)
+
+weak_alias(__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/shlib-versions
new file mode 100644
index 0000000000..3a2d496220
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/shlib-versions
@@ -0,0 +1,9 @@
+libm=6			GLIBC_2.2
+
+libc=6			GLIBC_2.2
+
+ld=ld.so.1		GLIBC_2.2
+
+libBrokenLocale=1	GLIBC_2.2
+
+libpthread=0		GLIBC_2.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/swapcontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/swapcontext.c
new file mode 100644
index 0000000000..c341f2d3a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/swapcontext.c
@@ -0,0 +1,42 @@
+/* Swap to new context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Helge Deller <deller@gmx.de>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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
+__swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
+{
+  /* Save the current machine context to oucp.  */
+  __getcontext (oucp);
+
+  /* mark sc_sar flag to skip the setcontext call on reactivation.  */
+  if (oucp->uc_mcontext.sc_sar == 0) {
+	oucp->uc_mcontext.sc_sar++;
+
+	/* Restore the machine context in ucp.  */
+	__setcontext (ucp);
+  }
+
+  return 0;
+}
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/procfs.h
new file mode 100644
index 0000000000..f0d53c4bc6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/procfs.h
@@ -0,0 +1,118 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+typedef unsigned long elf_greg_t;
+#define ELF_NGREG 80    /* We only need 64 at present, but leave space
+			                              for expansion. */
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+#define ELF_NFPREG 32
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
new file mode 100644
index 0000000000..982b4c44c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
@@ -0,0 +1,67 @@
+/* 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/>.  */
+
+/* Don't rely on this, the interface is currently messed up and may need to
+   be broken to be fixed.  */
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+#ifdef __USE_MISC
+/* Type for general register.  */
+typedef unsigned long int greg_t;
+
+/* Number of general registers.  */
+# define NGREG	80
+# define NFPREG	32
+
+/* Container for all general registers.  */
+typedef struct gregset
+  {
+    greg_t g_regs[32];
+    greg_t sr_regs[8];
+    greg_t cr_regs[24];
+    greg_t g_pad[16];
+  } gregset_t;
+
+/* Container for all FPU registers.  */
+typedef struct fpregset
+  {
+    double fp_dregs[32];
+  } fpregset_t;
+#endif
+
+/* Context to describe whole processor state.  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/user.h
new file mode 100644
index 0000000000..c871f1a03d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sys/user.h
@@ -0,0 +1 @@
+/* This file is not needed, but in practice gdb might try to include it.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscall.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscall.c
new file mode 100644
index 0000000000..da38c1147a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscall.c
@@ -0,0 +1,65 @@
+/* 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 <stdarg.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* HPPA implements syscall() in 'C'; the assembler version would
+   typically be in syscall.S. Also note that we have INLINE_SYSCALL,
+   INTERNAL_SYSCALL, and all the generated pure assembly syscall wrappers.
+   How often the function is used is unknown. */
+
+long int
+syscall (long int __sysno, ...)
+{
+  /* FIXME: Keep this matching INLINE_SYSCALL for hppa */
+  va_list args;
+  long int arg0, arg1, arg2, arg3, arg4, arg5;
+  long int __sys_res;
+
+  /* Load varargs */
+  va_start (args, __sysno);
+  arg0 = va_arg (args, long int);
+  arg1 = va_arg (args, long int);
+  arg2 = va_arg (args, long int);
+  arg3 = va_arg (args, long int);
+  arg4 = va_arg (args, long int);
+  arg5 = va_arg (args, long int);
+  va_end (args);
+
+  {
+    LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
+    register unsigned long int __res asm("r28");
+    PIC_REG_DEF
+    LOAD_REGS_6
+    asm volatile (SAVE_ASM_PIC
+		  "	ble  0x100(%%sr2, %%r0)	\n"
+		  "	copy %1, %%r20		\n"
+		  LOAD_ASM_PIC
+		  : "=r" (__res)
+		  : "r" (__sysno) PIC_REG_USE ASM_ARGS_6
+		  : "memory", CALL_CLOB_REGS CLOB_ARGS_6);
+    __sys_res = __res;
+  }
+  if ((unsigned long int) __sys_res >= (unsigned long int) -4095)
+    {
+      __set_errno (-__sys_res);
+      __sys_res = -1;
+    }
+  return __sys_res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscalls.list
new file mode 100644
index 0000000000..cd37573b89
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/syscalls.list
@@ -0,0 +1,16 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+# proper socket implementations:
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
+
+prlimit64	EXTRA	prlimit64	i:iipp	__prlimit64	prlimit64@@GLIBC_2.17
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	__fanotify_mark	fanotify_mark@@GLIBC_2.19
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
new file mode 100644
index 0000000000..5ea297267f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
@@ -0,0 +1,279 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# ifndef NO_ERROR
+#  define NO_ERROR -0x1000
+# endif
+
+/* The syscall cancellation mechanism requires userspace
+   assistance, the following code does roughly this:
+
+	do arguments (read arg5 and arg6 to registers)
+	setup frame
+
+	check if there are threads, yes jump to pseudo_cancel
+
+	unthreaded:
+		syscall
+		check syscall return (jump to pre_end)
+		set errno
+		set return to -1
+		(jump to pre_end)
+
+	pseudo_cancel:
+		cenable
+		syscall
+		cdisable
+		check syscall return (jump to pre_end)
+		set errno
+		set return to -1
+
+	pre_end
+		restore stack
+
+	It is expected that 'ret' and 'END' macros will
+	append an 'undo arguments' and 'return' to the
+	this PSEUDO macro. */
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+	ENTRY (__##syscall_name##_nocancel)				\
+	DOARGS_##args					ASM_LINE_SEP	\
+	stwm TREG, 64(%sp)				ASM_LINE_SEP	\
+	.cfi_offset TREG, 0				ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset 64			ASM_LINE_SEP	\
+	stw %sp, -4(%sp)				ASM_LINE_SEP	\
+	.cfi_offset 30, -4				ASM_LINE_SEP	\
+	stw %r19, -32(%sp)				ASM_LINE_SEP	\
+	.cfi_offset 19, -32				ASM_LINE_SEP	\
+	/* Save r19 */					ASM_LINE_SEP	\
+	SAVE_PIC(TREG)					ASM_LINE_SEP	\
+	/* Do syscall, delay loads # */			ASM_LINE_SEP	\
+	ble  0x100(%sr2,%r0)				ASM_LINE_SEP	\
+	ldi SYS_ify (syscall_name), %r20 /* delay */	ASM_LINE_SEP	\
+	ldi NO_ERROR,%r1				ASM_LINE_SEP	\
+	cmpb,>>=,n %r1,%ret0,L(pre_nc_end)		ASM_LINE_SEP	\
+	/* Restore r19 from TREG */			ASM_LINE_SEP	\
+	LOAD_PIC(TREG) /* delay */			ASM_LINE_SEP	\
+	SYSCALL_ERROR_HANDLER				ASM_LINE_SEP	\
+	/* Use TREG for temp storage */			ASM_LINE_SEP	\
+	copy %ret0, TREG /* delay */			ASM_LINE_SEP	\
+	/* OPTIMIZE: Don't reload r19 */		ASM_LINE_SEP	\
+	/* do a -1*syscall_ret0 */			ASM_LINE_SEP	\
+	sub %r0, TREG, TREG				ASM_LINE_SEP	\
+	/* Store into errno location */			ASM_LINE_SEP	\
+	stw TREG, 0(%sr0,%ret0)				ASM_LINE_SEP	\
+	/* return -1 as error */			ASM_LINE_SEP	\
+	ldi -1, %ret0					ASM_LINE_SEP	\
+L(pre_nc_end):						ASM_LINE_SEP	\
+	/* No need to LOAD_PIC */			ASM_LINE_SEP	\
+	/* Undo frame */				ASM_LINE_SEP	\
+	ldwm -64(%sp),TREG				ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset -64			ASM_LINE_SEP	\
+	/* Restore rp before exit */			ASM_LINE_SEP	\
+	ldw -20(%sp), %rp				ASM_LINE_SEP	\
+	.cfi_restore 2					ASM_LINE_SEP	\
+	ret						ASM_LINE_SEP	\
+	END(__##syscall_name##_nocancel)		ASM_LINE_SEP	\
+	/**********************************************/ASM_LINE_SEP	\
+	ENTRY (name)							\
+	DOARGS_##args					ASM_LINE_SEP	\
+	stwm TREG, 64(%sp)				ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset 64			ASM_LINE_SEP	\
+	stw %sp, -4(%sp)				ASM_LINE_SEP	\
+	.cfi_offset 30, -4				ASM_LINE_SEP	\
+	stw %r19, -32(%sp)				ASM_LINE_SEP	\
+	.cfi_offset 19, -32				ASM_LINE_SEP	\
+	/* Done setting up frame, continue... */	ASM_LINE_SEP	\
+	SINGLE_THREAD_P					ASM_LINE_SEP	\
+	cmpib,<>,n 0,%ret0,L(pseudo_cancel)		ASM_LINE_SEP	\
+L(unthreaded):						ASM_LINE_SEP	\
+	/* Save r19 */					ASM_LINE_SEP	\
+	SAVE_PIC(TREG)					ASM_LINE_SEP	\
+	/* Do syscall, delay loads # */			ASM_LINE_SEP	\
+	ble  0x100(%sr2,%r0)				ASM_LINE_SEP	\
+	ldi SYS_ify (syscall_name), %r20 /* delay */	ASM_LINE_SEP	\
+	ldi NO_ERROR,%r1				ASM_LINE_SEP	\
+	cmpb,>>=,n %r1,%ret0,L(pre_end)			ASM_LINE_SEP	\
+	/* Restore r19 from TREG */			ASM_LINE_SEP	\
+	LOAD_PIC(TREG) /* delay */			ASM_LINE_SEP	\
+	SYSCALL_ERROR_HANDLER				ASM_LINE_SEP	\
+	/* Use TREG for temp storage */			ASM_LINE_SEP	\
+	copy %ret0, TREG /* delay */			ASM_LINE_SEP	\
+	/* OPTIMIZE: Don't reload r19 */		ASM_LINE_SEP	\
+	/* do a -1*syscall_ret0 */			ASM_LINE_SEP	\
+	sub %r0, TREG, TREG				ASM_LINE_SEP	\
+	/* Store into errno location */			ASM_LINE_SEP	\
+	stw TREG, 0(%sr0,%ret0)				ASM_LINE_SEP	\
+	b L(pre_end)					ASM_LINE_SEP	\
+	/* return -1 as error */			ASM_LINE_SEP	\
+	ldi -1, %ret0 /* delay */			ASM_LINE_SEP	\
+L(pseudo_cancel):					ASM_LINE_SEP	\
+	PUSHARGS_##args /* Save args */			ASM_LINE_SEP	\
+	/* Save r19 into TREG */			ASM_LINE_SEP	\
+	CENABLE /* FUNC CALL */				ASM_LINE_SEP	\
+	SAVE_PIC(TREG) /* delay */			ASM_LINE_SEP	\
+	/* restore syscall args */			ASM_LINE_SEP	\
+	POPARGS_##args					ASM_LINE_SEP	\
+	/* save mask from cenable (use stub rp slot) */	ASM_LINE_SEP	\
+	stw %ret0, -24(%sp)				ASM_LINE_SEP	\
+	/* ... SYSCALL ... */				ASM_LINE_SEP	\
+	ble 0x100(%sr2,%r0)				ASM_LINE_SEP    \
+	ldi SYS_ify (syscall_name), %r20 /* delay */	ASM_LINE_SEP	\
+	/* ............... */				ASM_LINE_SEP	\
+	LOAD_PIC(TREG)					ASM_LINE_SEP	\
+	/* pass mask as arg0 to cdisable */		ASM_LINE_SEP	\
+	ldw -24(%sp), %r26				ASM_LINE_SEP	\
+	CDISABLE					ASM_LINE_SEP	\
+	stw %ret0, -24(%sp) /* delay */			ASM_LINE_SEP	\
+	/* Restore syscall return */			ASM_LINE_SEP	\
+	ldw -24(%sp), %ret0				ASM_LINE_SEP	\
+	/* compare error */				ASM_LINE_SEP	\
+	ldi NO_ERROR,%r1				ASM_LINE_SEP	\
+	/* branch if no error */			ASM_LINE_SEP	\
+	cmpb,>>=,n %r1,%ret0,L(pre_end)			ASM_LINE_SEP	\
+	LOAD_PIC(TREG)	/* cond. nullify */		ASM_LINE_SEP	\
+	copy %ret0, TREG /* save syscall return */	ASM_LINE_SEP	\
+	SYSCALL_ERROR_HANDLER				ASM_LINE_SEP	\
+	/* make syscall res value positive */		ASM_LINE_SEP	\
+	sub %r0, TREG, TREG	/* delay */		ASM_LINE_SEP	\
+	/* No need to LOAD_PIC */			ASM_LINE_SEP	\
+	/* store into errno location */			ASM_LINE_SEP	\
+	stw TREG, 0(%sr0,%ret0)				ASM_LINE_SEP	\
+	/* return -1 */					ASM_LINE_SEP	\
+	ldi -1, %ret0					ASM_LINE_SEP	\
+L(pre_end):						ASM_LINE_SEP	\
+	/* No need to LOAD_PIC */			ASM_LINE_SEP	\
+	/* Undo frame */				ASM_LINE_SEP	\
+	ldwm -64(%sp),TREG				ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset -64			ASM_LINE_SEP	\
+	/* Restore rp before exit */			ASM_LINE_SEP	\
+	ldw -20(%sp), %rp				ASM_LINE_SEP	\
+	.cfi_restore 2					ASM_LINE_SEP
+
+/* Save arguments into our frame */
+# define PUSHARGS_0	/* nothing to do */
+# define PUSHARGS_1	PUSHARGS_0 stw %r26, -36(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 26, -36			ASM_LINE_SEP
+# define PUSHARGS_2	PUSHARGS_1 stw %r25, -40(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 25, -40			ASM_LINE_SEP
+# define PUSHARGS_3	PUSHARGS_2 stw %r24, -44(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 24, -44			ASM_LINE_SEP
+# define PUSHARGS_4	PUSHARGS_3 stw %r23, -48(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 23, -48			ASM_LINE_SEP
+# define PUSHARGS_5	PUSHARGS_4 stw %r22, -52(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 22, -52			ASM_LINE_SEP
+# define PUSHARGS_6	PUSHARGS_5 stw %r21, -56(%sr0,%sp)	ASM_LINE_SEP	\
+			.cfi_offset 21, -56			ASM_LINE_SEP
+
+/* Bring them back from the stack */
+# define POPARGS_0	/* nothing to do */
+# define POPARGS_1	POPARGS_0 ldw -36(%sr0,%sp), %r26	ASM_LINE_SEP	\
+			.cfi_restore 26				ASM_LINE_SEP
+# define POPARGS_2	POPARGS_1 ldw -40(%sr0,%sp), %r25	ASM_LINE_SEP	\
+			.cfi_restore 25				ASM_LINE_SEP
+# define POPARGS_3	POPARGS_2 ldw -44(%sr0,%sp), %r24	ASM_LINE_SEP	\
+			.cfi_restore 24				ASM_LINE_SEP
+# define POPARGS_4	POPARGS_3 ldw -48(%sr0,%sp), %r23	ASM_LINE_SEP	\
+			.cfi_restore 23				ASM_LINE_SEP
+# define POPARGS_5	POPARGS_4 ldw -52(%sr0,%sp), %r22	ASM_LINE_SEP	\
+			.cfi_restore 22				ASM_LINE_SEP
+# define POPARGS_6	POPARGS_5 ldw -56(%sr0,%sp), %r21	ASM_LINE_SEP	\
+			.cfi_restore 21				ASM_LINE_SEP
+
+# if IS_IN (libpthread)
+#  ifdef PIC
+#   define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \
+			bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE .import __pthread_disable_asynccancel,code ASM_LINE_SEP \
+			bl __pthread_disable_asynccancel,%r2 ASM_LINE_SEP
+#  else
+#   define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \
+			bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE .import __pthread_disable_asynccancel,code ASM_LINE_SEP \
+			bl __pthread_disable_asynccancel,%r2 ASM_LINE_SEP
+#  endif
+# elif IS_IN (libc)
+#  ifdef PIC
+#   define CENABLE .import __libc_enable_asynccancel,code ASM_LINE_SEP \
+			bl __libc_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE	.import __libc_disable_asynccancel,code ASM_LINE_SEP \
+			bl __libc_disable_asynccancel,%r2 ASM_LINE_SEP
+#  else
+#   define CENABLE .import __libc_enable_asynccancel,code ASM_LINE_SEP \
+			bl __libc_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE	.import __libc_disable_asynccancel,code ASM_LINE_SEP \
+			bl __libc_disable_asynccancel,%r2 ASM_LINE_SEP
+#  endif
+# elif IS_IN (librt)
+#  ifdef PIC
+#   define CENABLE .import __librt_enable_asynccancel,code ASM_LINE_SEP \
+			bl __librt_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE .import __librt_disable_asynccancel,code ASM_LINE_SEP \
+			bl __librt_disable_asynccancel,%r2 ASM_LINE_SEP
+#  else
+#   define CENABLE .import __librt_enable_asynccancel,code ASM_LINE_SEP \
+			bl __librt_enable_asynccancel,%r2 ASM_LINE_SEP
+#   define CDISABLE .import __librt_disable_asynccancel,code ASM_LINE_SEP \
+			bl __librt_disable_asynccancel,%r2 ASM_LINE_SEP
+#  endif
+# else
+#  error Unsupported library
+# endif
+
+# if IS_IN (libpthread)
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define __local_multiple_threads __librt_multiple_threads
+# else
+#  error Unsupported library
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+# else
+/* Read the value of header.multiple_threads from the thread pointer */
+#  define SINGLE_THREAD_P							\
+	mfctl %cr27, %ret0					ASM_LINE_SEP	\
+	ldw MULTIPLE_THREADS_THREAD_OFFSET(%sr0,%ret0),%ret0	ASM_LINE_SEP
+# endif
+#elif !defined __ASSEMBLER__
+
+/* This code should never be used but we define it anyhow.  */
+# define SINGLE_THREAD_P (1)
+# define NO_CANCELLATION 1
+
+#endif
+/* IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) */
+
+#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/hppa/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.c
new file mode 100644
index 0000000000..1e7c19343e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.c
@@ -0,0 +1,29 @@
+/* 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 <stdarg.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  */
+int
+__syscall_error (int err_no)
+{
+  __set_errno (err_no);
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.h
new file mode 100644
index 0000000000..d8dd0431a4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/sysdep.h
@@ -0,0 +1,512 @@
+/* Assembler macros for PA-RISC.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
+   Linux/PA-RISC changes by Philipp Rumpf, <prumpf@tux.org>, March 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_HPPA_SYSDEP_H
+#define _LINUX_HPPA_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/hppa/sysdep.h>
+
+/* Defines RTLD_PRIVATE_ERRNO.  */
+#include <dl-sysdep.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+#undef ASM_LINE_SEP
+#define ASM_LINE_SEP !
+
+#undef SYS_ify
+#define SYS_ify(syscall_name)	(__NR_##syscall_name)
+
+/* The vfork, fork, and clone syscalls clobber r19
+ * and r21. We list r21 as either clobbered or as an
+ * input to a 6-argument syscall. We must save and
+ * restore r19 in both PIC and non-PIC cases.
+ */
+/* WARNING: TREG must be a callee saves register so
+   that it doesn't have to be restored after a call
+   to another function */
+#define TREG 4
+#define SAVE_PIC(SREG) \
+	copy %r19, SREG ASM_LINE_SEP	\
+	.cfi_register 19, SREG
+#define LOAD_PIC(LREG) \
+	copy LREG , %r19 ASM_LINE_SEP	\
+	.cfi_restore 19
+/* Inline assembly defines */
+#define TREG_ASM "%r4" /* Cant clobber r3, it holds framemarker */
+#define SAVE_ASM_PIC	"       copy %%r19, %" TREG_ASM "\n"
+#define LOAD_ASM_PIC	"       copy %" TREG_ASM ", %%r19\n"
+#define CLOB_TREG	TREG_ASM ,
+#define PIC_REG_DEF	register unsigned long __r19 asm("r19");
+#define PIC_REG_USE	, "r" (__r19)
+
+#ifdef __ASSEMBLER__
+
+/* Syntactic details of assembler.  */
+
+#define ALIGNARG(log2) log2
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+/* ELF-like local names start with `.L'.  */
+#undef L
+#define L(name)	.L##name
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in %eax
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can safely
+   test with -4095.  */
+
+/* We don't want the label for the error handle to be global when we define
+   it here.  */
+/*#ifdef PIC
+# define SYSCALL_ERROR_LABEL 0f
+#else
+# define SYSCALL_ERROR_LABEL syscall_error
+#endif*/
+
+/* Argument manipulation from the stack for preparing to
+   make a syscall */
+
+#define DOARGS_0 /* nothing */
+#define DOARGS_1 /* nothing */
+#define DOARGS_2 /* nothing */
+#define DOARGS_3 /* nothing */
+#define DOARGS_4 /* nothing */
+#define DOARGS_5 ldw -52(%sp), %r22		ASM_LINE_SEP
+#define DOARGS_6 DOARGS_5 ldw -56(%sp), %r21	ASM_LINE_SEP
+
+#define UNDOARGS_0 /* nothing */
+#define UNDOARGS_1 /* nothing */
+#define UNDOARGS_2 /* nothing */
+#define UNDOARGS_3 /* nothing */
+#define UNDOARGS_4 /* nothing */
+#define UNDOARGS_5 /* nothing */
+#define UNDOARGS_6 /* nothing */
+
+/* Define an entry point visible from C.
+
+   There is currently a bug in gdb which prevents us from specifying
+   incomplete stabs information.  Fake some entries here which specify
+   the current source file.  */
+#undef ENTRY
+#define	ENTRY(name)							\
+	.text						ASM_LINE_SEP	\
+	.align ALIGNARG(4)				ASM_LINE_SEP	\
+	.export C_SYMBOL_NAME(name)			ASM_LINE_SEP	\
+	.type	C_SYMBOL_NAME(name),@function		ASM_LINE_SEP	\
+	cfi_startproc					ASM_LINE_SEP	\
+	C_LABEL(name)					ASM_LINE_SEP	\
+	.PROC						ASM_LINE_SEP	\
+	.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3	ASM_LINE_SEP	\
+	.ENTRY						ASM_LINE_SEP	\
+	/* SAVE_RP says we do */			ASM_LINE_SEP	\
+	stw %rp, -20(%sr0,%sp)				ASM_LINE_SEP	\
+	.cfi_offset 2, -20				ASM_LINE_SEP	\
+	/*FIXME: Call mcount? (carefull with stack!) */
+
+/* Some syscall wrappers do not call other functions, and
+   hence are classified as leaf, so add NO_CALLS for gdb */
+#define	ENTRY_LEAF(name)						\
+	.text						ASM_LINE_SEP	\
+	.align ALIGNARG(4)				ASM_LINE_SEP	\
+	.export C_SYMBOL_NAME(name)			ASM_LINE_SEP	\
+	.type	C_SYMBOL_NAME(name),@function		ASM_LINE_SEP	\
+	cfi_startproc					ASM_LINE_SEP	\
+	C_LABEL(name)					ASM_LINE_SEP	\
+	.PROC						ASM_LINE_SEP	\
+	.CALLINFO FRAME=64,NO_CALLS,SAVE_RP,ENTRY_GR=3	ASM_LINE_SEP	\
+	.ENTRY						ASM_LINE_SEP	\
+	/* SAVE_RP says we do */			ASM_LINE_SEP	\
+	stw %rp, -20(%sr0,%sp)				ASM_LINE_SEP	\
+	.cfi_offset 2, -20				ASM_LINE_SEP	\
+	/*FIXME: Call mcount? (carefull with stack!) */
+
+#undef	END
+#define END(name)							\
+	.EXIT						ASM_LINE_SEP	\
+	.PROCEND					ASM_LINE_SEP	\
+	cfi_endproc					ASM_LINE_SEP	\
+.size	C_SYMBOL_NAME(name), .-C_SYMBOL_NAME(name)	ASM_LINE_SEP
+
+/* If compiled for profiling, call `mcount' at the start
+   of each function. No, don't bother.  gcc will put the
+   call in for us.  */
+#define CALL_MCOUNT		/* Do nothing.  */
+
+/* syscall wrappers consist of
+	#include <sysdep.h>
+	PSEUDO(...)
+	ret
+	PSEUDO_END(...)
+
+   which means
+	ENTRY(name)
+	DO_CALL(...)
+	bv,n 0(2)
+*/
+
+#undef PSEUDO
+#define	PSEUDO(name, syscall_name, args)			\
+  ENTRY (name)					ASM_LINE_SEP	\
+  /* If necc. load args from stack */		ASM_LINE_SEP	\
+  DOARGS_##args					ASM_LINE_SEP	\
+  DO_CALL (syscall_name, args)			ASM_LINE_SEP	\
+  UNDOARGS_##args				ASM_LINE_SEP
+
+#define ret \
+  /* Return value set by ERRNO code */		ASM_LINE_SEP	\
+  bv,n 0(2)					ASM_LINE_SEP
+
+#undef	PSEUDO_END
+#define	PSEUDO_END(name)					\
+  END (name)
+
+/* We don't set the errno on the return from the syscall */
+#define	PSEUDO_NOERRNO(name, syscall_name, args)		\
+  ENTRY_LEAF (name)				ASM_LINE_SEP	\
+  DOARGS_##args					ASM_LINE_SEP	\
+  DO_CALL_NOERRNO (syscall_name, args)		ASM_LINE_SEP	\
+  UNDOARGS_##args				ASM_LINE_SEP
+
+#define ret_NOERRNO ret
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name)				\
+  END (name)
+
+/* This has to return the error value */
+#undef  PSEUDO_ERRVAL
+#define PSEUDO_ERRVAL(name, syscall_name, args)			\
+  ENTRY_LEAF (name)				ASM_LINE_SEP	\
+  DOARGS_##args					ASM_LINE_SEP	\
+  DO_CALL_ERRVAL (syscall_name, args)		ASM_LINE_SEP	\
+  UNDOARGS_##args				ASM_LINE_SEP
+
+#define ret_ERRVAL ret
+
+#undef	PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name)					\
+	END(name)
+
+#undef JUMPTARGET
+#define JUMPTARGET(name)	name
+#define SYSCALL_PIC_SETUP	/* Nothing.  */
+
+
+/* FIXME: This comment is not true.
+ * All the syscall assembly macros rely on finding the appropriate
+   SYSCALL_ERROR_LABEL or rather HANDLER. */
+
+/* int * __errno_location(void) so you have to store your value
+   into the return address! */
+#define DEFAULT_SYSCALL_ERROR_HANDLER			\
+	.import __errno_location,code	ASM_LINE_SEP	\
+	/* branch to errno handler */	ASM_LINE_SEP	\
+	bl __errno_location,%rp		ASM_LINE_SEP
+
+/* Here are the myriad of configuration options that the above can
+   work for... what we've done is provide the framework for future
+   changes if required to each section */
+
+#ifdef PIC
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER
+# else /* !RTLD_PRIVATE_ERRNO */
+#  if defined _LIBC_REENTRANT
+#   define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER
+#  else /* !_LIBC_REENTRANT */
+#   define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER
+#  endif /* _LIBC_REENTRANT */
+# endif /* RTLD_PRIVATE_ERRNO */
+#else
+# ifndef _LIBC_REENTRANT
+#  define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER
+# else
+#  define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER
+# endif
+#endif
+
+
+/* Linux takes system call arguments in registers:
+	syscall number	gr20
+	arg 1		gr26
+	arg 2		gr25
+	arg 3		gr24
+	arg 4		gr23
+	arg 5		gr22
+	arg 6		gr21
+
+   The compiler calls us by the C convention:
+	syscall number	in the DO_CALL macro
+	arg 1		gr26
+	arg 2		gr25
+	arg 3		gr24
+	arg 4		gr23
+	arg 5		-52(sp)
+	arg 6		-56(sp)
+
+   gr22 and gr21 are caller-saves, so we can just load the arguments
+   there and generally be happy. */
+
+/* the cmpb...no_error code below inside DO_CALL
+ * is intended to mimic the if (__sys_res...)
+ * code inside INLINE_SYSCALL
+ */
+#define NO_ERROR -0x1000
+
+#undef	DO_CALL
+#define DO_CALL(syscall_name, args)				\
+	/* Create a frame */			ASM_LINE_SEP	\
+	stwm TREG, 64(%sp)			ASM_LINE_SEP	\
+	.cfi_offset TREG, 0			ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset 64		ASM_LINE_SEP	\
+	stw %sp, -4(%sp)			ASM_LINE_SEP	\
+	.cfi_offset 30, -4			ASM_LINE_SEP	\
+	stw %r19, -32(%sp)			ASM_LINE_SEP	\
+	.cfi_offset 19, -32			ASM_LINE_SEP	\
+	/* Save r19 */				ASM_LINE_SEP	\
+	SAVE_PIC(TREG)				ASM_LINE_SEP	\
+	/* Do syscall, delay loads # */		ASM_LINE_SEP	\
+	ble  0x100(%sr2,%r0)			ASM_LINE_SEP	\
+	ldi SYS_ify (syscall_name), %r20	ASM_LINE_SEP	\
+	ldi NO_ERROR,%r1			ASM_LINE_SEP	\
+	cmpb,>>=,n %r1,%ret0,L(pre_end)		ASM_LINE_SEP	\
+	/* Restore r19 from TREG */		ASM_LINE_SEP	\
+	LOAD_PIC(TREG) /* delay */		ASM_LINE_SEP	\
+	SYSCALL_ERROR_HANDLER			ASM_LINE_SEP	\
+	/* Use TREG for temp storage */		ASM_LINE_SEP	\
+	copy %ret0, TREG /* delay */		ASM_LINE_SEP	\
+	/* OPTIMIZE: Don't reload r19 */	ASM_LINE_SEP	\
+	/* do a -1*syscall_ret0 */		ASM_LINE_SEP	\
+	sub %r0, TREG, TREG			ASM_LINE_SEP	\
+	/* Store into errno location */		ASM_LINE_SEP	\
+	stw TREG, 0(%sr0,%ret0)			ASM_LINE_SEP	\
+	/* return -1 as error */		ASM_LINE_SEP	\
+	ldo -1(%r0), %ret0			ASM_LINE_SEP	\
+L(pre_end):					ASM_LINE_SEP	\
+	/* Restore our frame, restoring TREG */	ASM_LINE_SEP	\
+	ldwm -64(%sp), TREG			ASM_LINE_SEP	\
+	.cfi_adjust_cfa_offset -64		ASM_LINE_SEP	\
+	/* Restore return pointer */		ASM_LINE_SEP	\
+	ldw -20(%sp),%rp			ASM_LINE_SEP	\
+	.cfi_restore 2				ASM_LINE_SEP
+
+/* We do nothing with the return, except hand it back to someone else */
+#undef  DO_CALL_NOERRNO
+#define DO_CALL_NOERRNO(syscall_name, args)			\
+	/* No need to store r19 */		ASM_LINE_SEP	\
+	ble  0x100(%sr2,%r0)                    ASM_LINE_SEP    \
+	ldi SYS_ify (syscall_name), %r20        ASM_LINE_SEP    \
+	/* Caller will restore r19 */		ASM_LINE_SEP
+
+/* Here, we return the ERRVAL in assembly, note we don't call the
+   error handler function, but we do 'negate' the return _IF_
+   it's an error. Not sure if this is the right semantic. */
+
+#undef	DO_CALL_ERRVAL
+#define DO_CALL_ERRVAL(syscall_name, args)			\
+	/* No need to store r19 */		ASM_LINE_SEP	\
+	ble  0x100(%sr2,%r0)			ASM_LINE_SEP	\
+	ldi SYS_ify (syscall_name), %r20	ASM_LINE_SEP	\
+	/* Caller will restore r19 */		ASM_LINE_SEP	\
+	ldi NO_ERROR,%r1			ASM_LINE_SEP	\
+	cmpb,>>=,n %r1,%ret0,0f			ASM_LINE_SEP	\
+	sub %r0, %ret0, %ret0			ASM_LINE_SEP	\
+0:						ASM_LINE_SEP
+
+
+#else
+
+/* GCC has to be warned that a syscall may clobber all the ABI
+   registers listed as "caller-saves", see page 8, Table 2
+   in section 2.2.6 of the PA-RISC RUN-TIME architecture
+   document. However! r28 is the result and will conflict with
+   the clobber list so it is left out. Also the input arguments
+   registers r20 -> r26 will conflict with the list so they
+   are treated specially. Although r19 is clobbered by the syscall
+   we cannot say this because it would violate ABI, thus we say
+   TREG is clobbered and use that register to save/restore r19
+   across the syscall. */
+
+#define CALL_CLOB_REGS	"%r1", "%r2", CLOB_TREG \
+			"%r20", "%r29", "%r31"
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+({									\
+    long __sys_res = INTERNAL_SYSCALL (name, , nr, args);		\
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (__sys_res, )))	\
+      {									\
+	__set_errno (INTERNAL_SYSCALL_ERRNO (__sys_res, ));		\
+	__sys_res = -1;							\
+      }									\
+    __sys_res;								\
+})
+
+/* INTERNAL_SYSCALL_DECL - Allows us to setup some function static
+   value to use within the context of the syscall
+   INTERNAL_SYSCALL_ERROR_P - Returns 0 if it wasn't an error, 1 otherwise
+   You are allowed to use the syscall result (val) and the DECL error
+   variable to determine what went wrong.
+   INTERLAL_SYSCALL_ERRNO - Munges the val/err pair into the error number.
+   In our case we just flip the sign. */
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+	((val < 0) && (val > -4095))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
+
+/* Similar to INLINE_SYSCALL but we don't set errno */
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)			\
+({									\
+	long __sys_res;							\
+	{								\
+		LOAD_ARGS_##nr(args)					\
+		register unsigned long __res asm("r28");		\
+		PIC_REG_DEF						\
+		LOAD_REGS_##nr						\
+		/* FIXME: HACK save/load r19 around syscall */		\
+		asm volatile(						\
+			SAVE_ASM_PIC					\
+			"	ble  0x100(%%sr2, %%r0)\n"		\
+			"	ldi %1, %%r20\n"			\
+			LOAD_ASM_PIC					\
+			: "=r" (__res)					\
+			: "i" (SYS_ify(name)) PIC_REG_USE ASM_ARGS_##nr	\
+			: "memory", CALL_CLOB_REGS CLOB_ARGS_##nr	\
+		);							\
+		__sys_res = (long)__res;				\
+	}								\
+	__sys_res;							\
+ })
+
+
+/* The _NCS variant allows non-constant syscall numbers.  */
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...)			\
+({									\
+	long __sys_res;							\
+	{								\
+		LOAD_ARGS_##nr(args)					\
+		register unsigned long __res asm("r28");		\
+		PIC_REG_DEF						\
+		LOAD_REGS_##nr						\
+		/* FIXME: HACK save/load r19 around syscall */		\
+		asm volatile(						\
+			SAVE_ASM_PIC					\
+			"	ble  0x100(%%sr2, %%r0)\n"		\
+			"	copy %1, %%r20\n"			\
+			LOAD_ASM_PIC					\
+			: "=r" (__res)					\
+			: "r" (name) PIC_REG_USE ASM_ARGS_##nr		\
+			: "memory", CALL_CLOB_REGS CLOB_ARGS_##nr	\
+		);							\
+		__sys_res = (long)__res;				\
+	}								\
+	__sys_res;							\
+ })
+
+#define LOAD_ARGS_0()
+#define LOAD_REGS_0
+#define LOAD_ARGS_1(a1)							\
+  register unsigned long __x26 = (unsigned long)(a1);			\
+  LOAD_ARGS_0()
+#define LOAD_REGS_1							\
+  register unsigned long __r26 __asm__("r26") = __x26;			\
+  LOAD_REGS_0
+#define LOAD_ARGS_2(a1,a2)						\
+  register unsigned long __x25 = (unsigned long)(a2);			\
+  LOAD_ARGS_1(a1)
+#define LOAD_REGS_2							\
+  register unsigned long __r25 __asm__("r25") = __x25;			\
+  LOAD_REGS_1
+#define LOAD_ARGS_3(a1,a2,a3)						\
+  register unsigned long __x24 = (unsigned long)(a3);			\
+  LOAD_ARGS_2(a1,a2)
+#define LOAD_REGS_3							\
+  register unsigned long __r24 __asm__("r24") = __x24;			\
+  LOAD_REGS_2
+#define LOAD_ARGS_4(a1,a2,a3,a4)					\
+  register unsigned long __x23 = (unsigned long)(a4);			\
+  LOAD_ARGS_3(a1,a2,a3)
+#define LOAD_REGS_4							\
+  register unsigned long __r23 __asm__("r23") = __x23;			\
+  LOAD_REGS_3
+#define LOAD_ARGS_5(a1,a2,a3,a4,a5)					\
+  register unsigned long __x22 = (unsigned long)(a5);			\
+  LOAD_ARGS_4(a1,a2,a3,a4)
+#define LOAD_REGS_5							\
+  register unsigned long __r22 __asm__("r22") = __x22;			\
+  LOAD_REGS_4
+#define LOAD_ARGS_6(a1,a2,a3,a4,a5,a6)					\
+  register unsigned long __x21 = (unsigned long)(a6);			\
+  LOAD_ARGS_5(a1,a2,a3,a4,a5)
+#define LOAD_REGS_6							\
+  register unsigned long __r21 __asm__("r21") = __x21;			\
+  LOAD_REGS_5
+
+/* Even with zero args we use r20 for the syscall number */
+#define ASM_ARGS_0
+#define ASM_ARGS_1 ASM_ARGS_0, "r" (__r26)
+#define ASM_ARGS_2 ASM_ARGS_1, "r" (__r25)
+#define ASM_ARGS_3 ASM_ARGS_2, "r" (__r24)
+#define ASM_ARGS_4 ASM_ARGS_3, "r" (__r23)
+#define ASM_ARGS_5 ASM_ARGS_4, "r" (__r22)
+#define ASM_ARGS_6 ASM_ARGS_5, "r" (__r21)
+
+/* The registers not listed as inputs but clobbered */
+#define CLOB_ARGS_6
+#define CLOB_ARGS_5 CLOB_ARGS_6, "%r21"
+#define CLOB_ARGS_4 CLOB_ARGS_5, "%r22"
+#define CLOB_ARGS_3 CLOB_ARGS_4, "%r23"
+#define CLOB_ARGS_2 CLOB_ARGS_3, "%r24"
+#define CLOB_ARGS_1 CLOB_ARGS_2, "%r25"
+#define CLOB_ARGS_0 CLOB_ARGS_1, "%r26"
+
+#endif	/* __ASSEMBLER__ */
+
+/* Pointer mangling is not yet supported for HPPA.  */
+#define PTR_MANGLE(var) (void) (var)
+#define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* _LINUX_HPPA_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
new file mode 100644
index 0000000000..ee33029a07
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
@@ -0,0 +1,59 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+#define mreg(reg)		mcontext (sc_gr[reg])
+
+oUC_FLAGS	ucontext (uc_flags)
+oUC_LINK	ucontext (uc_link)
+oSS_SP		ucontext (uc_stack.ss_sp)
+oSS_FLAGS	ucontext (uc_stack.ss_flags)
+oSS_SIZE	ucontext (uc_stack.ss_size)
+oSC_FLAGS	mcontext (sc_flags)
+oR0		mreg (0)
+oR1		mreg (1)
+oR2		mreg (2)
+oR3		mreg (3)
+oR4		mreg (4)
+oR5		mreg (5)
+oR6		mreg (6)
+oR7		mreg (7)
+oR8		mreg (8)
+oR9		mreg (9)
+oR10		mreg (10)
+oR11		mreg (11)
+oR12		mreg (12)
+oR13		mreg (13)
+oR14		mreg (14)
+oR15		mreg (15)
+oR16		mreg (16)
+oR17		mreg (17)
+oR18		mreg (18)
+oR19		mreg (19)
+oR20		mreg (20)
+oR21		mreg (21)
+oR22		mreg (22)
+oR23		mreg (23)
+oR24		mreg (24)
+oR25		mreg (25)
+oR26		mreg (26)
+oR27		mreg (27)
+oR28		mreg (28)
+oR29		mreg (29)
+oR30		mreg (30)
+oR31		mreg (31)
+oFPREGS0	mcontext (sc_fr[0])
+oFPREGS31	mcontext (sc_fr[31])
+oIASQ0		mcontext (sc_iasq[0])
+oIASQ1		mcontext (sc_iasq[1])
+oIAOQ0		mcontext (sc_iaoq[0])
+oIAOQ1		mcontext (sc_iaoq[1])
+oSAR		mcontext (sc_sar)
+oSIGMASK	ucontext (uc_sigmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/umount.c
new file mode 100644
index 0000000000..208fbec994
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/umount.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/mips/mips64/umount.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/utimes.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/utimes.c
new file mode 100644
index 0000000000..63e0c8c9cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/utimes.c
@@ -0,0 +1,30 @@
+/* Implement utimes for hppa.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* hppa has the utimensat syscall in all supported kernel versions but
+   gained the utimes syscall later, so use the linux-generic
+   implementation of utimes in terms of the utimensat syscall unless
+   the utimes syscall is known to be available.  */
+
+#include <kernel-features.h>
+
+#ifdef __ASSUME_UTIMES
+# include <sysdeps/unix/sysv/linux/utimes.c>
+#else
+# include <sysdeps/unix/sysv/linux/generic/utimes.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/hppa/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/hppa/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Implies
new file mode 100644
index 0000000000..4bf5f8b520
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Implies
@@ -0,0 +1,2 @@
+unix/sysv/linux/x86
+i386/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Makefile
new file mode 100644
index 0000000000..4080b8c966
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Makefile
@@ -0,0 +1,46 @@
+# The default ABI is 32.
+default-abi := 32
+
+ifeq ($(subdir),misc)
+sysdep_routines += ioperm iopl vm86
+endif
+
+ifeq ($(subdir),elf)
+sysdep-dl-routines += libc-do-syscall
+sysdep-others += lddlibc4
+install-bin += lddlibc4
+endif
+
+ifeq ($(subdir),io)
+sysdep_routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-sysdep_routines += libc-do-syscall
+libpthread-shared-only-routines += libc-do-syscall
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),csu)
+sysdep-dl-routines += sysdep
+ifeq (yes,$(build-shared))
+sysdep_routines += divdi3
+shared-only-routines += divdi3
+CPPFLAGS-divdi3.c = -Din_divdi3_c
+endif
+endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
+endif
+
+ifeq ($(subdir),rt)
+# pull in __syscall_error routine
+librt-routines += sysdep
+librt-shared-only-routines += sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Versions
new file mode 100644
index 0000000000..f3544acb75
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/Versions
@@ -0,0 +1,51 @@
+libc {
+  GLIBC_2.0 {
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+
+    ioperm; iopl;
+
+    vm86;
+  }
+  GLIBC_2.1 {
+    modify_ldt;
+  }
+  GLIBC_2.2 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # a*
+    alphasort64;
+
+    # g*
+    glob64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+
+    # v*
+    versionsort64;
+  }
+  GLIBC_2.3.3 {
+    # p*
+    posix_fadvise64; posix_fallocate64;
+  }
+  GLIBC_2.3.4 {
+    # v*
+    vm86;
+  }
+  GLIBC_2.11 {
+    # f*
+    fallocate64;
+  }
+  GLIBC_PRIVATE {
+    __modify_ldt;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
new file mode 100644
index 0000000000..d46ea84e30
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
@@ -0,0 +1,109 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <jmpbuf-offsets.h>
+#include <asm-syntax.h>
+#include <stap-probe.h>
+
+
+	.section .rodata.str1.1,"aMS",@progbits,1
+	.type	longjmp_msg,@object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size	longjmp_msg, .-longjmp_msg
+
+
+#ifdef PIC
+# define CALL_FAIL	movl	%ebx, %ecx;				      \
+			cfi_register(%ebx,%ecx);			      \
+			LOAD_PIC_REG (bx);				      \
+			leal	longjmp_msg@GOTOFF(%ebx), %eax;		      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail)
+#else
+# define CALL_FAIL	movl	$longjmp_msg, %eax;			      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail)
+#endif
+
+
+	.text
+ENTRY (____longjmp_chk)
+	movl	4(%esp), %ecx	/* User's jmp_buf in %ecx.  */
+
+	/* Save the return address now.  */
+	movl	(JB_PC*4)(%ecx), %edx
+	/* Get the stack pointer.  */
+	movl	(JB_SP*4)(%ecx), %edi
+	cfi_undefined(%edi)
+	PTR_DEMANGLE (%edx)
+	PTR_DEMANGLE (%edi)
+
+	cmpl	%edi, %esp
+	jbe	.Lok
+
+	subl	$12, %esp
+	cfi_adjust_cfa_offset(12)
+	xorl	%ebx, %ebx
+	movl	%esp, %ecx
+	movl	$__NR_sigaltstack, %eax
+	ENTER_KERNEL
+	/* Without working sigaltstack we cannot perform the test.  */
+	test	%eax, %eax
+	jne	.Lok2
+	testl	$1, 4(%esp)
+	jz	.Lfail
+
+	movl	(%esp), %eax
+	addl	8(%esp), %eax
+	subl	%edi, %eax
+	cmpl	8(%esp), %eax
+	jae	.Lok2
+
+.Lfail:	CALL_FAIL
+
+.Lok2:	addl	$12, %esp
+	cfi_adjust_cfa_offset(-12)
+	movl	4(%esp), %ecx
+
+.Lok:
+	LIBC_PROBE (longjmp, 3, 4@%ecx, -4@8(%esp), 4@%edx)
+	/* We add unwind information for the target here.  */
+	cfi_def_cfa(%ecx, 0)
+	cfi_register(%eip, %edx)
+	cfi_register(%esp, %edi)
+	cfi_offset(%ebx, JB_BX*4)
+	cfi_offset(%esi, JB_SI*4)
+	cfi_offset(%edi, JB_DI*4)
+	cfi_offset(%ebp, JB_BP*4)
+
+	movl	8(%esp), %eax	/* Second argument is return value.  */
+	movl	%edi, %esp
+
+	/* Restore registers.  */
+	movl	(JB_BX*4)(%ecx), %ebx
+	movl	(JB_SI*4)(%ecx), %esi
+	movl	(JB_DI*4)(%ecx), %edi
+	movl	(JB_BP*4)(%ecx), %ebp
+	cfi_restore(%ebx)
+	cfi_restore(%esi)
+	cfi_restore(%edi)
+	cfi_restore(%ebp)
+
+	/* Jump to saved PC.  */
+	LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%eax, 4@%edx)
+	jmp	*%edx
+END (____longjmp_chk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/_exit.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/_exit.S
new file mode 100644
index 0000000000..0ba2231998
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/_exit.S
@@ -0,0 +1,44 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+	.type	_exit,@function
+	.global	_exit
+_exit:
+	movl	4(%esp), %ebx
+
+	/* Try the new syscall first.  */
+#ifdef __NR_exit_group
+	movl	$__NR_exit_group, %eax
+	ENTER_KERNEL
+#endif
+
+	/* Not available.  Now the old one.  */
+	movl	$__NR_exit, %eax
+	/* Don't bother using ENTER_KERNEL here.  If the exit_group
+	   syscall is not available AT_SYSINFO isn't either.  */
+	int	$0x80
+
+	/* This must not fail.  Be sure we don't return.  */
+	hlt
+	.size	_exit,.-_exit
+
+libc_hidden_def (_exit)
+rtld_hidden_def (_exit)
+weak_alias (_exit, _Exit)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/alphasort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/alphasort64.c
new file mode 100644
index 0000000000..d5fd47a9ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/alphasort64.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dirent.h>
+#include <string.h>
+
+int
+__alphasort64 (const struct dirent64 **a, const struct dirent64 **b)
+{
+  return strcoll ((*a)->d_name, (*b)->d_name);
+}
+
+#include <shlib-compat.h>
+
+versioned_symbol (libc, __alphasort64, alphasort64, GLIBC_2_2);
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+int
+__old_alphasort64 (const struct __old_dirent64 **a,
+		   const struct __old_dirent64 **b);
+
+int
+attribute_compat_text_section
+__old_alphasort64 (const struct __old_dirent64 **a,
+		   const struct __old_dirent64 **b)
+{
+  return strcoll ((*a)->d_name, (*b)->d_name);
+}
+
+compat_symbol (libc, __old_alphasort64, alphasort64, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/arch-fork.h
new file mode 100644
index 0000000000..9a2465b58e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/arch-fork.h
@@ -0,0 +1,27 @@
+/* Internal definitions for thread-friendly fork implementation.  Linux/i386.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						      \
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
+		  NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/brk.c
new file mode 100644
index 0000000000..25ab1015d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/brk.c
@@ -0,0 +1,41 @@
+/* brk system call for Linux/i386.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux ELF dynamic
+   linker.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  void *newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
+  __curbrk = newbrk;
+  if (newbrk < addr)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOMEM);
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/i386/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/clone.S
new file mode 100644
index 0000000000..a4ba3e20ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/clone.S
@@ -0,0 +1,124 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <asm-syntax.h>
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     pid_t *ptid, struct user_desc *tls, pid_t *ctid); */
+
+#define PARMS	4		/* no space for saved regs */
+#define FUNC	PARMS
+#define STACK	FUNC+4
+#define FLAGS	STACK+4
+#define ARG	FLAGS+4
+#define PTID	ARG+4
+#define TLS	PTID+4
+#define CTID	TLS+4
+
+#define __NR_clone 120
+#define SYS_clone 120
+
+#define CLONE_VM	0x00000100
+
+        .text
+ENTRY (__clone)
+	/* Sanity check arguments.  */
+	movl	$-EINVAL,%eax
+	movl	FUNC(%esp),%ecx		/* no NULL function pointers */
+	testl	%ecx,%ecx
+	jz	SYSCALL_ERROR_LABEL
+	movl	STACK(%esp),%ecx	/* no NULL stack pointers */
+	testl	%ecx,%ecx
+	jz	SYSCALL_ERROR_LABEL
+
+	/* Insert the argument onto the new stack.  Make sure the new
+	   thread is started with an alignment of (mod 16).  */
+	andl	$0xfffffff0, %ecx
+	subl	$28,%ecx
+	movl	ARG(%esp),%eax		/* no negative argument counts */
+	movl	%eax,12(%ecx)
+
+	/* Save the function pointer as the zeroth argument.
+	   It will be popped off in the child in the ebx frobbing below.  */
+	movl	FUNC(%esp),%eax
+	movl	%eax,8(%ecx)
+	/* Don't leak any information.  */
+	movl	$0,4(%ecx)
+
+	/* Do the system call */
+	pushl	%ebx
+	cfi_adjust_cfa_offset (4)
+	pushl	%esi
+	cfi_adjust_cfa_offset (4)
+	pushl	%edi
+	cfi_adjust_cfa_offset (4)
+
+	movl	TLS+12(%esp),%esi
+	cfi_rel_offset (esi, 4)
+	movl	PTID+12(%esp),%edx
+	movl	FLAGS+12(%esp),%ebx
+	cfi_rel_offset (ebx, 8)
+	movl	CTID+12(%esp),%edi
+	cfi_rel_offset (edi, 0)
+	movl	$SYS_ify(clone),%eax
+
+	/* Remember the flag value.  */
+	movl	%ebx, (%ecx)
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
+	int	$0x80
+	popl	%edi
+	popl	%esi
+	popl	%ebx
+
+	test	%eax,%eax
+	jl	SYSCALL_ERROR_LABEL
+	jz	L(thread_start)
+
+	ret
+
+L(thread_start):
+	cfi_startproc;
+	/* Clearing frame pointer is insufficient, use CFI.  */
+	cfi_undefined (eip);
+	/* Note: %esi is zero.  */
+	movl	%esi,%ebp	/* terminate the stack frame */
+	call	*%ebx
+#ifdef PIC
+	call	L(here)
+L(here):
+	popl	%ebx
+	addl	$_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ebx
+#endif
+	movl	%eax, %ebx
+	movl	$SYS_ify(exit), %eax
+	ENTER_KERNEL
+
+PSEUDO_END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure b/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure
new file mode 100644
index 0000000000..0327590486
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure
@@ -0,0 +1,44 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/i386.
+
+# Check if CFLAGS allows compiler to use ebp register in inline assembly.
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler flags allows ebp in inline assembly" >&5
+$as_echo_n "checking if compiler flags allows ebp in inline assembly... " >&6; }
+if ${libc_cv_can_use_register_asm_ebp+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+    void foo (int i)
+    {
+      register int reg asm ("ebp") = i;
+      asm ("# %0" : : "r" (reg));
+    }
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_cv_can_use_register_asm_ebp=yes
+else
+  libc_cv_can_use_register_asm_ebp=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_can_use_register_asm_ebp" >&5
+$as_echo "$libc_cv_can_use_register_asm_ebp" >&6; }
+if test $libc_cv_can_use_register_asm_ebp = yes; then
+  $as_echo "#define CAN_USE_REGISTER_ASM_EBP 1" >>confdefs.h
+
+fi
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure.ac
new file mode 100644
index 0000000000..9e980784bb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/configure.ac
@@ -0,0 +1,22 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/i386.
+
+# Check if CFLAGS allows compiler to use ebp register in inline assembly.
+AC_CACHE_CHECK([if compiler flags allows ebp in inline assembly],
+                libc_cv_can_use_register_asm_ebp, [
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([
+    void foo (int i)
+    {
+      register int reg asm ("ebp") = i;
+      asm ("# %0" : : "r" (reg));
+    }])],
+  [libc_cv_can_use_register_asm_ebp=yes],
+  [libc_cv_can_use_register_asm_ebp=no])
+])
+if test $libc_cv_can_use_register_asm_ebp = yes; then
+  AC_DEFINE(CAN_USE_REGISTER_ASM_EBP)
+fi
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-librecon.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-librecon.h
new file mode 100644
index 0000000000..5f91009a4c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-librecon.h
@@ -0,0 +1,62 @@
+/* Optional code to distinguish library flavours.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_LIBRECON_H
+
+#include <sysdeps/unix/sysv/linux/dl-librecon.h>
+
+#define DISTINGUISH_LIB_VERSIONS \
+  do									      \
+    {									      \
+      /* We have to find out whether the binary is linked against	      \
+	 libc 5 or glibc.  We do this by looking at all the DT_NEEDED	      \
+	 entries.  If one is libc.so.5 this is a libc 5 linked binary.  */    \
+      if (main_map->l_info[DT_NEEDED])					      \
+	{								      \
+	  /* We have dependencies.  */					      \
+	  const ElfW(Dyn) *d;						      \
+	  const char *strtab;						      \
+									      \
+	  strtab = (const char *) D_PTR (main_map, l_info[DT_STRTAB]);	      \
+									      \
+	  for (d = main_map->l_ld; d->d_tag != DT_NULL; ++d)		      \
+	    if (d->d_tag == DT_NEEDED					      \
+		&& strcmp (strtab + d->d_un.d_val, "libc.so.5") == 0)	      \
+	      break;							      \
+									      \
+	  /* We print a `5' or `6' depending on the outcome.  */	      \
+	  _dl_printf (d->d_tag != DT_NULL ? "5\n" : "6\n");		      \
+	}								      \
+    }									      \
+  while (0)
+
+/* Recognizing extra environment variables.  */
+#define EXTRA_LD_ENVVARS \
+  case 15:								      \
+    if (memcmp (envline, "LIBRARY_VERSION", 15) == 0)			      \
+      GLRO(dl_correct_cache_id) = envline[16] == '5' ? 2 : 3;		      \
+    break;								      \
+
+/* Extra unsecure variables.  The names are all stuffed in a single
+   string which means they have to be terminated with a '\0' explicitly.  */
+#define EXTRA_UNSECURE_ENVVARS \
+  "LD_AOUT_LIBRARY_PATH\0"						      \
+  "LD_AOUT_PRELOAD\0"
+
+#endif /* dl-librecon.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
new file mode 100644
index 0000000000..c590896ddf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
@@ -0,0 +1,47 @@
+/* Linux/i386 version of processor capability information handling macros.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_I386_PROCINFO_H
+#define _DL_I386_PROCINFO_H	1
+#include <sysdeps/x86/dl-procinfo.h>
+
+#undef _dl_procinfo
+static inline int
+__attribute__ ((unused))
+_dl_procinfo (unsigned int type, unsigned long int word)
+{
+  /* This table should match the information from arch/i386/kernel/setup.c
+     in the kernel sources.  */
+  int i;
+
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
+  _dl_printf ("AT_HWCAP:   ");
+
+  for (i = 0; i < 32; ++i)
+    if (word & (1 << i))
+      _dl_printf (" %s", GLRO(dl_x86_cap_flags)[i]);
+
+  _dl_printf ("\n");
+
+  return 0;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
new file mode 100644
index 0000000000..8a3af5e27b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -0,0 +1,46 @@
+/* System-specific settings for dynamic linker code.  i386 version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_I386_DL_SYSDEP_H
+
+#include_next <dl-sysdep.h>
+
+/* Traditionally system calls have been made using int $0x80.  A
+   second method was introduced which, if possible, will use the
+   sysenter/syscall instructions.  To signal the presence and where to
+   find the code the kernel passes an AT_SYSINFO value in the
+   auxiliary vector to the application.  */
+#define NEED_DL_SYSINFO	1
+
+#ifndef __ASSEMBLER__
+extern void _dl_sysinfo_int80 (void) attribute_hidden;
+# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
+# define DL_SYSINFO_IMPLEMENTATION \
+  asm (".text\n\t"							      \
+       ".type _dl_sysinfo_int80,@function\n\t"				      \
+       ".hidden _dl_sysinfo_int80\n"					      \
+       CFI_STARTPROC "\n"						      \
+       "_dl_sysinfo_int80:\n\t"						      \
+       "int $0x80;\n\t"							      \
+       "ret;\n\t"							      \
+       CFI_ENDPROC "\n"							      \
+       ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t"		      \
+       ".previous");
+#endif
+
+#endif	/* dl-sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fcntl.c
new file mode 100644
index 0000000000..b0a5783a8a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fcntl.c
@@ -0,0 +1,61 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <sysdep-cancel.h>	/* Must come before <fcntl.h>.  */
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sys/syscall.h>
+
+#ifndef NO_CANCELLATION
+int
+__fcntl_nocancel (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
+}
+#endif /* NO_CANCELLATION */
+
+
+int
+__libc_fcntl (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  if ((cmd != F_SETLKW) && (cmd != F_SETLKW64))
+    return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
+
+  return SYSCALL_CANCEL (fcntl64, fd, cmd, arg);
+}
+libc_hidden_def (__libc_fcntl)
+
+weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
+weak_alias (__libc_fcntl, fcntl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstat.c
new file mode 100644
index 0000000000..c4cdbf54c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstat.c
@@ -0,0 +1,61 @@
+/* fxstat using old-style Unix fstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __fxstat64 __fxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file FD in BUF.  */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+  int result;
+
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (fstat, 2, fd, buf);
+
+  {
+    struct stat64 buf64;
+
+    INTERNAL_SYSCALL_DECL (err);
+    result = INTERNAL_SYSCALL (fstat64, err, 2, fd, &buf64);
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+									err));
+    else
+      return __xstat32_conv (vers, &buf64, buf);
+  }
+}
+
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+#if XSTAT_IS_XSTAT64
+#undef __fxstat64
+strong_alias (__fxstat, __fxstat64);
+hidden_ver (__fxstat, __fxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstatat.c
new file mode 100644
index 0000000000..7980c9bbe0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/fxstatat.c
@@ -0,0 +1,56 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if fxstatat == fxstatat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __fxstatat64 __fxstatat64_disable
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+
+/* Get information about the file NAME relative to FD in ST.  */
+int
+__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
+{
+  int result;
+  INTERNAL_SYSCALL_DECL (err);
+  struct stat64 st64;
+
+  result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, &st64, flag);
+  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+								      err));
+  else
+    return __xstat32_conv (vers, &st64, st);
+}
+libc_hidden_def (__fxstatat)
+#if XSTAT_IS_XSTAT64
+# undef __fxstatat64
+strong_alias (__fxstatat, __fxstatat64);
+libc_hidden_ver (__fxstatat, __fxstatat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
new file mode 100644
index 0000000000..88e14b5f04
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
@@ -0,0 +1,88 @@
+/* Get frequency of the system processor.  i386/Linux version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+
+hp_timing_t
+__get_clockfreq (void)
+{
+  /* We read the information from the /proc filesystem.  It contains at
+     least one line like
+	cpu MHz         : 497.840237
+     or also
+	cpu MHz         : 497.841
+     We search for this line and convert the number in an integer.  */
+  static hp_timing_t result;
+  int fd;
+
+  /* If this function was called before, we know the result.  */
+  if (result != 0)
+    return result;
+
+  fd = __open ("/proc/cpuinfo", O_RDONLY);
+  if (__glibc_likely (fd != -1))
+    {
+      /* XXX AFAIK the /proc filesystem can generate "files" only up
+         to a size of 4096 bytes.  */
+      char buf[4096];
+      ssize_t n;
+
+      n = __read (fd, buf, sizeof buf);
+      if (__builtin_expect (n, 1) > 0)
+	{
+	  char *mhz = memmem (buf, n, "cpu MHz", 7);
+
+	  if (__glibc_likely (mhz != NULL))
+	    {
+	      char *endp = buf + n;
+	      int seen_decpoint = 0;
+	      int ndigits = 0;
+
+	      /* Search for the beginning of the string.  */
+	      while (mhz < endp && (*mhz < '0' || *mhz > '9') && *mhz != '\n')
+		++mhz;
+
+	      while (mhz < endp && *mhz != '\n')
+		{
+		  if (*mhz >= '0' && *mhz <= '9')
+		    {
+		      result *= 10;
+		      result += *mhz - '0';
+		      if (seen_decpoint)
+			++ndigits;
+		    }
+		  else if (*mhz == '.')
+		    seen_decpoint = 1;
+
+		  ++mhz;
+		}
+
+	      /* Compensate for missing digits at the end.  */
+	      while (ndigits++ < 6)
+		result *= 10;
+	    }
+	}
+
+      __close (fd);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getcontext.S
new file mode 100644
index 0000000000..591c3885a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getcontext.S
@@ -0,0 +1,83 @@
+/* Save current context.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__getcontext)
+	/* Load address of the context data structure.  */
+	movl	4(%esp), %eax
+
+	/* Return value of getcontext.  EAX is the only register whose
+	   value is not preserved.  */
+	movl	$0, oEAX(%eax)
+
+	/* Save the 32-bit register values and the return address.  */
+	movl	%ecx, oECX(%eax)
+	movl	%edx, oEDX(%eax)
+	movl	%edi, oEDI(%eax)
+	movl	%esi, oESI(%eax)
+	movl	%ebp, oEBP(%eax)
+	movl	(%esp), %ecx
+	movl	%ecx, oEIP(%eax)
+	leal	4(%esp), %ecx		/* Exclude the return address.  */
+	movl	%ecx, oESP(%eax)
+	movl	%ebx, oEBX(%eax)
+
+	/* Save the FS segment register.  We don't touch the GS register
+	   since it is used for threads.  */
+	xorl	%edx, %edx
+	movw	%fs, %dx
+	movl	%edx, oFS(%eax)
+
+	/* We have separate floating-point register content memory on the
+	   stack.  We use the __fpregs_mem block in the context.  Set the
+	   links up correctly.  */
+	leal	oFPREGSMEM(%eax), %ecx
+	movl	%ecx, oFPREGS(%eax)
+	/* Save the floating-point context.  */
+	fnstenv	(%ecx)
+	/* And load it right back since the processor changes the mask.
+	   Intel thought this opcode to be used in interrupt handlers which
+	   would block all exceptions.  */
+	fldenv	(%ecx)
+
+	/* Save the current signal mask.  */
+	pushl	%ebx
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (ebx, 0)
+	leal	oSIGMASK(%eax), %edx
+	xorl	%ecx, %ecx
+	movl	$SIG_BLOCK, %ebx
+	movl	$__NR_sigprocmask, %eax
+	ENTER_KERNEL
+	popl	%ebx
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (ebx)
+	cmpl	$-4095, %eax		/* Check %eax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* All done, return 0 for success.  */
+	xorl	%eax, %eax
+	ret
+PSEUDO_END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getdents64.c
new file mode 100644
index 0000000000..e8b257f059
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getdents64.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+
+#include <sysdeps/unix/sysv/linux/getdents.c>
+
+#include <shlib-compat.h>
+
+#undef __READDIR
+#undef __GETDENTS
+#undef DIRENT_TYPE
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+#define __GETDENTS __old_getdents64
+#define DIRENT_TYPE struct __old_dirent64
+#define kernel_dirent old_kernel_dirent
+#define kernel_dirent64 old_kernel_dirent64
+
+#include <sysdeps/unix/sysv/linux/getdents.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/getmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getmsg.c
new file mode 100644
index 0000000000..5bf1e255c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/getmsg.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_getpmsg
+int
+getmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *flagsp)
+{
+  return INLINE_SYSCALL (getpmsg, 5, fildes, ctlptr, dataptr, NULL, flagsp);
+}
+#else
+# include <streams/getmsg.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/gettimeofday.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/gettimeofday.c
new file mode 100644
index 0000000000..b6116e91ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/gettimeofday.c
@@ -0,0 +1,35 @@
+/* gettimeofday - get the time.  Linux/i386 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# define __gettimeofday __redirect___gettimeofday
+#endif
+
+#include <sys/time.h>
+
+#ifdef SHARED
+# undef __gettimeofday
+# define __gettimeofday_type __redirect___gettimeofday
+
+# undef libc_hidden_def
+# define libc_hidden_def(name) \
+  __hidden_ver1 (__gettimeofday_syscall, __GI___gettimeofday, \
+	       __gettimeofday_syscall);
+#endif
+
+#include <sysdeps/unix/sysv/linux/x86/gettimeofday.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/glob64.c
new file mode 100644
index 0000000000..f68195137e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/glob64.c
@@ -0,0 +1,76 @@
+/* Two glob variants with 64-bit support, for dirent64 and __olddirent64.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dirent.h>
+#include <glob.h>
+#include <sys/stat.h>
+
+#define dirent dirent64
+#define __readdir(dirp) __readdir64 (dirp)
+
+#define glob_t glob64_t
+#define glob(pattern, flags, errfunc, pglob) \
+  __glob64 (pattern, flags, errfunc, pglob)
+#define globfree(pglob) globfree64 (pglob)
+
+#undef stat
+#define stat stat64
+#undef __stat
+#define __stat(file, buf) __xstat64 (_STAT_VER, file, buf)
+
+#define NO_GLOB_PATTERN_P 1
+
+#define COMPILE_GLOB64	1
+
+#include <posix/glob.c>
+
+#include "shlib-compat.h"
+
+libc_hidden_def (globfree64)
+
+versioned_symbol (libc, __glob64, glob64, GLIBC_2_2);
+libc_hidden_ver (__glob64, glob64)
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+int __old_glob64 (const char *__pattern, int __flags,
+		  int (*__errfunc) (const char *, int),
+		  glob64_t *__pglob);
+
+#undef dirent
+#define dirent __old_dirent64
+#undef GL_READDIR
+# define GL_READDIR(pglob, stream) \
+  ((struct __old_dirent64 *) (pglob)->gl_readdir (stream))
+#undef __readdir
+#define __readdir(dirp) __old_readdir64 (dirp)
+#undef glob
+#define glob(pattern, flags, errfunc, pglob) \
+  __old_glob64 (pattern, flags, errfunc, pglob)
+#define convert_dirent __old_convert_dirent
+#define glob_in_dir __old_glob_in_dir
+#define GLOB_ATTRIBUTE attribute_compat_text_section
+
+#define GLOB_ONLY_P 1
+
+#include <posix/glob.c>
+
+compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/Implies
new file mode 100644
index 0000000000..8948a800bb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/Implies
@@ -0,0 +1 @@
+i386/i686/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
new file mode 100644
index 0000000000..ad90853864
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
@@ -0,0 +1,29 @@
+/* System-specific settings for dynamic linker code.  IA-32 version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_I686_DL_SYSDEP_H
+#define _LINUX_I686_DL_SYSDEP_H	1
+
+/* The i386 file does most of the work.  */
+#include_next <dl-sysdep.h>
+
+/* Actually use the vDSO entry point for syscalls.
+   i386/dl-sysdep.h arranges to support it, but not use it.  */
+#define USE_DL_SYSINFO	1
+
+#endif	/* dl-sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/i786/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i786/Implies
new file mode 100644
index 0000000000..7cb7d9a678
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/i786/Implies
@@ -0,0 +1,2 @@
+# The PPro and PII cores are mostly the same.
+unix/sysv/linux/i386/i686
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/init-first.c
new file mode 100644
index 0000000000..bbbecdd41f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/init-first.c
@@ -0,0 +1,50 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/i386.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <time.h>
+# include <sysdep.h>
+# include <dl-vdso.h>
+# include <sysdep-vdso.h>
+
+long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *)
+  attribute_hidden;
+
+static long int
+clock_gettime_syscall (clockid_t id, struct timespec *tp)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (clock_gettime, err, 2, id, tp);
+}
+
+static inline void
+__vdso_platform_setup (void)
+{
+  PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
+
+  void *p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
+  if (p == NULL)
+    p = clock_gettime_syscall;
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+}
+
+# define VDSO_SETUP __vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/kernel-features.h
new file mode 100644
index 0000000000..c6eb20f360
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/kernel-features.h
@@ -0,0 +1,50 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  i386 version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* i386 uses socketcall.  */
+#define __ASSUME_SOCKETCALL		1
+
+/* Direct socketcalls available with kernel 4.3.  */
+#if __LINUX_KERNEL_VERSION >= 0x040300
+# define __ASSUME_SOCKET_SYSCALL             1
+# define __ASSUME_SOCKETPAIR_SYSCALL         1
+# define __ASSUME_BIND_SYSCALL               1
+# define __ASSUME_LISTEN_SYSCALL             1
+# define __ASSUME_GETSOCKOPT_SYSCALL         1
+# define __ASSUME_SETSOCKOPT_SYSCALL         1
+# define __ASSUME_GETSOCKNAME_SYSCALL        1
+# define __ASSUME_GETPEERNAME_SYSCALL        1
+# define __ASSUME_SHUTDOWN_SYSCALL           1
+#endif
+
+#include_next <kernel-features.h>
+
+#undef __ASSUME_ACCEPT_SYSCALL
+
+#if __LINUX_KERNEL_VERSION < 0x040300
+# undef __ASSUME_ACCEPT4_SYSCALL
+# undef __ASSUME_SENDMSG_SYSCALL
+# undef __ASSUME_RECVMSG_SYSCALL
+# undef __ASSUME_CONNECT_SYSCALL
+# undef __ASSUME_RECVFROM_SYSCALL
+# undef __ASSUME_SENDTO_SYSCALL
+#endif
+
+/* i686 only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ld.abilist
new file mode 100644
index 0000000000..ddf9e78ec2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ld.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x4
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 ___tls_get_addr F
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ldconfig.h
new file mode 100644
index 0000000000..7112cb275d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ldconfig.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux.so.1", FLAG_ELF_LIBC5 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.5", FLAG_ELF_LIBC5 },	\
+  { "libm.so.5", FLAG_ELF_LIBC5 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/libc-do-syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S
new file mode 100644
index 0000000000..f706c6da57
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S
@@ -0,0 +1,53 @@
+/* Out-of-line syscall stub for six-argument syscalls from C.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#ifndef OPTIMIZE_FOR_GCC_5
+
+/* %eax, %ecx, %edx and %esi contain the values expected by the kernel.
+   %edi points to a structure with the values of %ebx, %edi and %ebp.  */
+
+	.hidden __libc_do_syscall
+
+ENTRY (__libc_do_syscall)
+	pushl	%ebx
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (ebx, 0)
+	pushl	%edi
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (edi, 0)
+	pushl	%ebp
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (ebp, 0)
+	movl	0(%edi), %ebx
+	movl	8(%edi), %ebp
+	movl	4(%edi), %edi
+	ENTER_KERNEL
+	popl	%ebp
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (ebp)
+	popl	%edi
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (edi)
+	popl	%ebx
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (ebx)
+	ret
+END (__libc_do_syscall)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S
new file mode 100644
index 0000000000..1e5e150aa7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S
@@ -0,0 +1,19 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "lowlevellock.S"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc.abilist
new file mode 100644
index 0000000000..2ff1998ac9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -0,0 +1,2333 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divdi3 F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x2
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __moddi3 F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __udivdi3 F
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __umoddi3 F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 ioperm F
+GLIBC_2.0 iopl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 mcount F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vm86 F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0x98
+GLIBC_2.1 _IO_2_1_stdin_ D 0x98
+GLIBC_2.1 _IO_2_1_stdout_ D 0x98
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __signbitl F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1f4
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 chown F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 modify_ldt F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1f4
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __memcpy_by2 F
+GLIBC_2.1.1 __memcpy_by4 F
+GLIBC_2.1.1 __memcpy_c F
+GLIBC_2.1.1 __memcpy_g F
+GLIBC_2.1.1 __mempcpy_by2 F
+GLIBC_2.1.1 __mempcpy_by4 F
+GLIBC_2.1.1 __mempcpy_byn F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __memset_cc F
+GLIBC_2.1.1 __memset_ccn_by2 F
+GLIBC_2.1.1 __memset_ccn_by4 F
+GLIBC_2.1.1 __memset_cg F
+GLIBC_2.1.1 __memset_gcn_by2 F
+GLIBC_2.1.1 __memset_gcn_by4 F
+GLIBC_2.1.1 __memset_gg F
+GLIBC_2.1.1 __stpcpy_g F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcat_c F
+GLIBC_2.1.1 __strcat_g F
+GLIBC_2.1.1 __strchr_c F
+GLIBC_2.1.1 __strchr_g F
+GLIBC_2.1.1 __strchrnul_c F
+GLIBC_2.1.1 __strchrnul_g F
+GLIBC_2.1.1 __strcmp_gg F
+GLIBC_2.1.1 __strcpy_g F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strcspn_cg F
+GLIBC_2.1.1 __strcspn_g F
+GLIBC_2.1.1 __strlen_g F
+GLIBC_2.1.1 __strncat_g F
+GLIBC_2.1.1 __strncmp_g F
+GLIBC_2.1.1 __strncpy_by2 F
+GLIBC_2.1.1 __strncpy_by4 F
+GLIBC_2.1.1 __strncpy_byn F
+GLIBC_2.1.1 __strncpy_gg F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strpbrk_cg F
+GLIBC_2.1.1 __strpbrk_g F
+GLIBC_2.1.1 __strrchr_c F
+GLIBC_2.1.1 __strrchr_g F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strspn_cg F
+GLIBC_2.1.1 __strspn_g F
+GLIBC_2.1.1 __strstr_cg F
+GLIBC_2.1.1 __strstr_g F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 __fentry__ F
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 alphasort64 F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 vm86 F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __fgets_chk F
+GLIBC_2.4 __fgets_unlocked_chk F
+GLIBC_2.4 __fgetws_chk F
+GLIBC_2.4 __fgetws_unlocked_chk F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdomainname_chk F
+GLIBC_2.4 __getgroups_chk F
+GLIBC_2.4 __gethostname_chk F
+GLIBC_2.4 __getlogin_r_chk F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsncat_chk F
+GLIBC_2.4 __wcsncpy_chk F
+GLIBC_2.4 __wcsnrtombs_chk F
+GLIBC_2.4 __wcsrtombs_chk F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 eaccess F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.5 GLIBC_2.5 A
+GLIBC_2.5 __readlinkat_chk F
+GLIBC_2.5 inet6_opt_append F
+GLIBC_2.5 inet6_opt_find F
+GLIBC_2.5 inet6_opt_finish F
+GLIBC_2.5 inet6_opt_get_val F
+GLIBC_2.5 inet6_opt_init F
+GLIBC_2.5 inet6_opt_next F
+GLIBC_2.5 inet6_opt_set_val F
+GLIBC_2.5 inet6_rth_add F
+GLIBC_2.5 inet6_rth_getaddr F
+GLIBC_2.5 inet6_rth_init F
+GLIBC_2.5 inet6_rth_reverse F
+GLIBC_2.5 inet6_rth_segments F
+GLIBC_2.5 inet6_rth_space F
+GLIBC_2.5 splice F
+GLIBC_2.5 tee F
+GLIBC_2.5 vmsplice F
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 __sched_cpucount F
+GLIBC_2.6 epoll_pwait F
+GLIBC_2.6 futimens F
+GLIBC_2.6 sched_getcpu F
+GLIBC_2.6 strerror_l F
+GLIBC_2.6 sync_file_range F
+GLIBC_2.6 utimensat F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __fread_chk F
+GLIBC_2.7 __fread_unlocked_chk F
+GLIBC_2.7 __isoc99_fscanf F
+GLIBC_2.7 __isoc99_fwscanf F
+GLIBC_2.7 __isoc99_scanf F
+GLIBC_2.7 __isoc99_sscanf F
+GLIBC_2.7 __isoc99_swscanf F
+GLIBC_2.7 __isoc99_vfscanf F
+GLIBC_2.7 __isoc99_vfwscanf F
+GLIBC_2.7 __isoc99_vscanf F
+GLIBC_2.7 __isoc99_vsscanf F
+GLIBC_2.7 __isoc99_vswscanf F
+GLIBC_2.7 __isoc99_vwscanf F
+GLIBC_2.7 __isoc99_wscanf F
+GLIBC_2.7 __open64_2 F
+GLIBC_2.7 __open_2 F
+GLIBC_2.7 __openat64_2 F
+GLIBC_2.7 __openat_2 F
+GLIBC_2.7 __sched_cpualloc F
+GLIBC_2.7 __sched_cpufree F
+GLIBC_2.7 eventfd F
+GLIBC_2.7 eventfd_read F
+GLIBC_2.7 eventfd_write F
+GLIBC_2.7 mkostemp F
+GLIBC_2.7 mkostemp64 F
+GLIBC_2.7 signalfd F
+GLIBC_2.8 GLIBC_2.8 A
+GLIBC_2.8 __asprintf_chk F
+GLIBC_2.8 __dprintf_chk F
+GLIBC_2.8 __obstack_printf_chk F
+GLIBC_2.8 __obstack_vprintf_chk F
+GLIBC_2.8 __vasprintf_chk F
+GLIBC_2.8 __vdprintf_chk F
+GLIBC_2.8 qsort_r F
+GLIBC_2.8 timerfd_create F
+GLIBC_2.8 timerfd_gettime F
+GLIBC_2.8 timerfd_settime F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 dup3 F
+GLIBC_2.9 epoll_create1 F
+GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 pipe2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libm.abilist
new file mode 100644
index 0000000000..761e4420f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -0,0 +1,476 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __fpclassifyl F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __signbitl F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 exp2l F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __expl F
+GLIBC_2.2 __expm1l F
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libpthread.abilist
new file mode 100644
index 0000000000..8f9c3254be
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -0,0 +1,257 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 pthread_attr_getaffinity_np F
+GLIBC_2.3.4 pthread_attr_setaffinity_np F
+GLIBC_2.3.4 pthread_getaffinity_np F
+GLIBC_2.3.4 pthread_setaffinity_np F
+GLIBC_2.3.4 pthread_setschedprio F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/i386/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/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/i386/lll_timedlock_wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c
new file mode 100644
index 0000000000..f6875b8f89
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c
@@ -0,0 +1 @@
+/* __lll_timedlock_wait is in lowlevellock.S.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c
new file mode 100644
index 0000000000..43900c6294
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c
@@ -0,0 +1 @@
+/* __lll_timedwait_tid is in lowlevellock.S.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/i386/localplt.data
new file mode 100644
index 0000000000..8ea4333846
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/localplt.data
@@ -0,0 +1,18 @@
+# Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT
+# relocation with R_386_GLOB_DAT relocation against the same symbol.
+libc.so: _Unwind_Find_FDE + REL R_386_GLOB_DAT
+libc.so: calloc + REL R_386_GLOB_DAT
+libc.so: free + REL R_386_GLOB_DAT
+libc.so: malloc + REL R_386_GLOB_DAT
+libc.so: memalign + REL R_386_GLOB_DAT
+libc.so: realloc + REL R_386_GLOB_DAT
+libm.so: matherr + REL R_386_GLOB_DAT
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc + REL R_386_GLOB_DAT
+ld.so: calloc + REL R_386_GLOB_DAT
+ld.so: realloc + REL R_386_GLOB_DAT
+ld.so: free + REL R_386_GLOB_DAT
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error + REL R_386_GLOB_DAT
+ld.so: _dl_catch_error + REL R_386_GLOB_DAT
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lockf64.c
new file mode 100644
index 0000000000..23b99f8f22
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lockf64.c
@@ -0,0 +1,70 @@
+/* Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <sysdep.h>
+
+/* lockf is a simplified interface to fcntl's locking facilities.  */
+
+int
+lockf64 (int fd, int cmd, off64_t len64)
+{
+  struct flock64 fl64;
+  int cmd64;
+  int result;
+
+  memset ((char *) &fl64, '\0', sizeof (fl64));
+  fl64.l_whence = SEEK_CUR;
+  fl64.l_start = 0;
+  fl64.l_len = len64;
+
+  switch (cmd)
+    {
+    case F_TEST:
+      /* Test the lock: return 0 if FD is unlocked or locked by this process;
+	 return -1, set errno to EACCES, if another process holds the lock.  */
+      fl64.l_type = F_RDLCK;
+      INTERNAL_SYSCALL_DECL (err);
+      result = INTERNAL_SYSCALL (fcntl64, err, 3, fd, F_GETLK64, &fl64);
+      if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+	return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+									  err));
+      if (fl64.l_type == F_UNLCK || fl64.l_pid == __getpid ())
+        return 0;
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EACCES);
+    case F_ULOCK:
+      fl64.l_type = F_UNLCK;
+      cmd64 = F_SETLK64;
+      break;
+    case F_LOCK:
+      fl64.l_type = F_WRLCK;
+      cmd64 = F_SETLKW64;
+      break;
+    case F_TLOCK:
+      fl64.l_type = F_WRLCK;
+      cmd64 = F_SETLK64;
+      break;
+
+    default:
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+    }
+  return INLINE_SYSCALL (fcntl64, 3, fd, cmd64, &fl64);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.S
new file mode 100644
index 0000000000..8fcca5be99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.S
@@ -0,0 +1,466 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <pthread-errnos.h>
+#include <kernel-features.h>
+#include <lowlevellock.h>
+
+#include <stap-probe.h>
+
+	.text
+
+#ifdef __ASSUME_PRIVATE_FUTEX
+# define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_PRIVATE_FUTEX_WAKE(reg) \
+	movl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_FUTEX_WAIT(reg) \
+	xorl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$(FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME), reg
+# define LOAD_FUTEX_WAKE(reg) \
+	xorl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
+#else
+# if FUTEX_WAIT == 0
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	%gs:PRIVATE_FUTEX, reg
+# else
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	%gs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT, reg
+# endif
+# define LOAD_PRIVATE_FUTEX_WAKE(reg) \
+	movl	%gs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAKE, reg
+# if FUTEX_WAIT == 0
+#  define LOAD_FUTEX_WAIT(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%gs:PRIVATE_FUTEX, reg
+# else
+#  define LOAD_FUTEX_WAIT(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%gs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT, reg
+# endif
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%gs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg
+# define LOAD_FUTEX_WAKE(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%gs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAKE, reg
+#endif
+
+	.globl	__lll_lock_wait_private
+	.type	__lll_lock_wait_private,@function
+	.hidden	__lll_lock_wait_private
+	.align	16
+__lll_lock_wait_private:
+	cfi_startproc
+	pushl	%edx
+	cfi_adjust_cfa_offset(4)
+	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edx, -8)
+	cfi_offset(%ebx, -12)
+	cfi_offset(%esi, -16)
+
+	movl	$2, %edx
+	movl	%ecx, %ebx
+	xorl	%esi, %esi	/* No timeout.  */
+	LOAD_PRIVATE_FUTEX_WAIT (%ecx)
+
+	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
+	jne 2f
+
+1:	LIBC_PROBE (lll_lock_wait_private, 1, %ebx)
+	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+2:	movl	%edx, %eax
+	xchgl	%eax, (%ebx)	/* NB:	 lock is implied */
+
+	testl	%eax, %eax
+	jnz	1b
+
+	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
+	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	popl	%edx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edx)
+	ret
+	cfi_endproc
+	.size	__lll_lock_wait_private,.-__lll_lock_wait_private
+
+#if !IS_IN (libc)
+	.globl	__lll_lock_wait
+	.type	__lll_lock_wait,@function
+	.hidden	__lll_lock_wait
+	.align	16
+__lll_lock_wait:
+	cfi_startproc
+	pushl	%edx
+	cfi_adjust_cfa_offset(4)
+	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%edx, -8)
+	cfi_offset(%ebx, -12)
+	cfi_offset(%esi, -16)
+
+	movl	%edx, %ebx
+	movl	$2, %edx
+	xorl	%esi, %esi	/* No timeout.  */
+	LOAD_FUTEX_WAIT (%ecx)
+
+	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
+	jne 2f
+
+1:	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+2:	movl	%edx, %eax
+	xchgl	%eax, (%ebx)	/* NB:	 lock is implied */
+
+	testl	%eax, %eax
+	jnz	1b
+
+	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
+	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	popl	%edx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edx)
+	ret
+	cfi_endproc
+	.size	__lll_lock_wait,.-__lll_lock_wait
+
+	/*      %ecx: futex
+		%esi: flags
+		%edx: timeout
+		%eax: futex value
+	*/
+	.globl	__lll_timedlock_wait
+	.type	__lll_timedlock_wait,@function
+	.hidden	__lll_timedlock_wait
+	.align	16
+__lll_timedlock_wait:
+	cfi_startproc
+	pushl	%ebp
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset(%ebp, 0)
+	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset(%ebx, 0)
+
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+#  ifdef PIC
+	LOAD_PIC_REG (bx)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%ebx)
+#  else
+	cmpl	$0, __have_futex_clock_realtime
+#  endif
+	je	.Lreltmo
+# endif
+
+	cmpl	$0, (%edx)
+	js	8f
+
+	movl	%ecx, %ebx
+	movl	%esi, %ecx
+	movl	%edx, %esi
+	movl	$0xffffffff, %ebp
+	LOAD_FUTEX_WAIT_ABS (%ecx)
+
+	movl	$2, %edx
+	cmpl	%edx, %eax
+	jne	2f
+
+1:	movl	$SYS_futex, %eax
+	movl	$2, %edx
+	ENTER_KERNEL
+
+2:	xchgl	%edx, (%ebx)	/* NB:   lock is implied */
+
+	testl	%edx, %edx
+	jz	3f
+
+	cmpl	$-ETIMEDOUT, %eax
+	je	4f
+	cmpl	$-EINVAL, %eax
+	jne	1b
+4:	movl	%eax, %edx
+	negl	%edx
+
+3:	movl	%edx, %eax
+7:	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	popl	%ebp
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebp)
+	ret
+
+8:	movl	$ETIMEDOUT, %eax
+	jmp	7b
+
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+.Lreltmo:
+	/* Check for a valid timeout value.  */
+	cmpl	$1000000000, 4(%edx)
+	jae	3f
+
+	pushl	%esi
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset(%esi, 0)
+	pushl	%edi
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset(%edi, 0)
+
+	/* Stack frame for the timespec and timeval structs.  */
+	subl	$8, %esp
+	cfi_adjust_cfa_offset(8)
+
+	movl	%ecx, %ebp
+	movl	%edx, %edi
+
+	movl	$2, %edx
+	xchgl	%edx, (%ebp)
+
+	test	%edx, %edx
+	je	6f
+
+1:
+	/* Get current time.  */
+	movl	%esp, %ebx
+	xorl	%ecx, %ecx
+	movl	$__NR_gettimeofday, %eax
+	ENTER_KERNEL
+
+	/* Compute relative timeout.  */
+	movl	4(%esp), %eax
+	movl	$1000, %edx
+	mul	%edx		/* Milli seconds to nano seconds.  */
+	movl	(%edi), %ecx
+	movl	4(%edi), %edx
+	subl	(%esp), %ecx
+	subl	%eax, %edx
+	jns	4f
+	addl	$1000000000, %edx
+	subl	$1, %ecx
+4:	testl	%ecx, %ecx
+	js	2f		/* Time is already up.  */
+
+	/* Store relative timeout.  */
+	movl	%ecx, (%esp)
+	movl	%edx, 4(%esp)
+
+	/* Futex call.  */
+	movl	%ebp, %ebx
+	movl	$2, %edx
+	movl	%esp, %esi
+	movl	16(%esp), %ecx
+	LOAD_FUTEX_WAIT (%ecx)
+	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+	/* NB: %edx == 2 */
+	xchgl	%edx, (%ebp)
+
+	testl	%edx, %edx
+	je	6f
+
+	cmpl	$-ETIMEDOUT, %eax
+	jne	1b
+2:	movl	$ETIMEDOUT, %edx
+
+6:	addl	$8, %esp
+	cfi_adjust_cfa_offset(-8)
+	popl	%edi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edi)
+	popl	%esi
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%esi)
+7:	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	popl	%ebp
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebp)
+	movl	%edx, %eax
+	ret
+
+3:	movl	$EINVAL, %edx
+	jmp	7b
+# endif
+	cfi_endproc
+	.size	__lll_timedlock_wait,.-__lll_timedlock_wait
+#endif
+
+	.globl	__lll_unlock_wake_private
+	.type	__lll_unlock_wake_private,@function
+	.hidden	__lll_unlock_wake_private
+	.align	16
+__lll_unlock_wake_private:
+	cfi_startproc
+	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	pushl	%ecx
+	cfi_adjust_cfa_offset(4)
+	pushl	%edx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx, -8)
+	cfi_offset(%ecx, -12)
+	cfi_offset(%edx, -16)
+
+	movl	%eax, %ebx
+	movl	$0, (%eax)
+	LOAD_PRIVATE_FUTEX_WAKE (%ecx)
+	movl	$1, %edx	/* Wake one thread.  */
+	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+	popl	%edx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edx)
+	popl	%ecx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ecx)
+	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	ret
+	cfi_endproc
+	.size	__lll_unlock_wake_private,.-__lll_unlock_wake_private
+
+#if !IS_IN (libc)
+	.globl	__lll_unlock_wake
+	.type	__lll_unlock_wake,@function
+	.hidden	__lll_unlock_wake
+	.align	16
+__lll_unlock_wake:
+	cfi_startproc
+	pushl	%ebx
+	cfi_adjust_cfa_offset(4)
+	pushl	%ecx
+	cfi_adjust_cfa_offset(4)
+	pushl	%edx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(%ebx, -8)
+	cfi_offset(%ecx, -12)
+	cfi_offset(%edx, -16)
+
+	movl	%eax, %ebx
+	movl	$0, (%eax)
+	LOAD_FUTEX_WAKE (%ecx)
+	movl	$1, %edx	/* Wake one thread.  */
+	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+	popl	%edx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%edx)
+	popl	%ecx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ecx)
+	popl	%ebx
+	cfi_adjust_cfa_offset(-4)
+	cfi_restore(%ebx)
+	ret
+	cfi_endproc
+	.size	__lll_unlock_wake,.-__lll_unlock_wake
+
+	.globl	__lll_timedwait_tid
+	.type	__lll_timedwait_tid,@function
+	.hidden	__lll_timedwait_tid
+	.align	16
+__lll_timedwait_tid:
+	pushl	%edi
+	pushl	%esi
+	pushl	%ebx
+	pushl	%ebp
+
+	movl	%eax, %ebp
+	movl	%edx, %edi
+	subl	$8, %esp
+
+	/* Get current time.  */
+2:	movl	%esp, %ebx
+	xorl	%ecx, %ecx
+	movl	$__NR_gettimeofday, %eax
+	ENTER_KERNEL
+
+	/* Compute relative timeout.  */
+	movl	4(%esp), %eax
+	movl	$1000, %edx
+	mul	%edx		/* Milli seconds to nano seconds.  */
+	movl	(%edi), %ecx
+	movl	4(%edi), %edx
+	subl	(%esp), %ecx
+	subl	%eax, %edx
+	jns	5f
+	addl	$1000000000, %edx
+	subl	$1, %ecx
+5:	testl	%ecx, %ecx
+	js	6f		/* Time is already up.  */
+
+	movl	%ecx, (%esp)	/* Store relative timeout.  */
+	movl	%edx, 4(%esp)
+
+	movl	(%ebp), %edx
+	testl	%edx, %edx
+	jz	4f
+
+	movl	%esp, %esi
+	/* XXX The kernel so far uses global futex for the wakeup at
+	   all times.  */
+	xorl	%ecx, %ecx	/* movl $FUTEX_WAIT, %ecx */
+	movl	%ebp, %ebx
+	movl	$SYS_futex, %eax
+	ENTER_KERNEL
+
+	cmpl	$0, (%ebx)
+	jne	1f
+4:	xorl	%eax, %eax
+
+3:	addl	$8, %esp
+	popl	%ebp
+	popl	%ebx
+	popl	%esi
+	popl	%edi
+	ret
+
+1:	cmpl	$-ETIMEDOUT, %eax
+	jne	2b
+6:	movl	$ETIMEDOUT, %eax
+	jmp	3b
+	.size	__lll_timedwait_tid,.-__lll_timedwait_tid
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.h
new file mode 100644
index 0000000000..197bb1fcd9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lowlevellock.h
@@ -0,0 +1,267 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LOWLEVELLOCK_H
+#define _LOWLEVELLOCK_H	1
+
+#include <stap-probe.h>
+
+#ifndef __ASSEMBLER__
+# include <time.h>
+# include <sys/param.h>
+# include <bits/pthreadtypes.h>
+# include <kernel-features.h>
+# include <tcb-offsets.h>
+
+# ifndef LOCK_INSTR
+#  ifdef UP
+#   define LOCK_INSTR	/* nothing */
+#  else
+#   define LOCK_INSTR "lock;"
+#  endif
+# endif
+#else
+# ifndef LOCK
+#  ifdef UP
+#   define LOCK
+#  else
+#   define LOCK lock
+#  endif
+# endif
+#endif
+
+#include <lowlevellock-futex.h>
+
+/* XXX Remove when no assembler code uses futexes anymore.  */
+#define SYS_futex		__NR_futex
+
+#ifndef __ASSEMBLER__
+
+/* Initializer for compatibility lock.  */
+#define LLL_LOCK_INITIALIZER		(0)
+#define LLL_LOCK_INITIALIZER_LOCKED	(1)
+#define LLL_LOCK_INITIALIZER_WAITERS	(2)
+
+
+/* NB: in the lll_trylock macro we simply return the value in %eax
+   after the cmpxchg instruction.  In case the operation succeded this
+   value is zero.  In case the operation failed, the cmpxchg instruction
+   has loaded the current value of the memory work which is guaranteed
+   to be nonzero.  */
+#if !IS_IN (libc) || defined UP
+# define __lll_trylock_asm LOCK_INSTR "cmpxchgl %2, %1"
+#else
+# define __lll_trylock_asm "cmpl $0, %%gs:%P5\n\t" \
+			   "je 0f\n\t"					      \
+			   "lock\n"					      \
+			   "0:\tcmpxchgl %2, %1"
+#endif
+
+#define lll_trylock(futex) \
+  ({ int ret;								      \
+     __asm __volatile (__lll_trylock_asm				      \
+		       : "=a" (ret), "=m" (futex)			      \
+		       : "r" (LLL_LOCK_INITIALIZER_LOCKED), "m" (futex),      \
+			 "0" (LLL_LOCK_INITIALIZER),			      \
+			 "i" (MULTIPLE_THREADS_OFFSET)			      \
+		       : "memory");					      \
+     ret; })
+
+
+#define lll_cond_trylock(futex) \
+  ({ int ret;								      \
+     __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1"			      \
+		       : "=a" (ret), "=m" (futex)			      \
+		       : "r" (LLL_LOCK_INITIALIZER_WAITERS),		      \
+			 "m" (futex), "0" (LLL_LOCK_INITIALIZER)	      \
+		       : "memory");					      \
+     ret; })
+
+#if !IS_IN (libc) || defined UP
+# define __lll_lock_asm_start LOCK_INSTR "cmpxchgl %1, %2\n\t"
+#else
+# define __lll_lock_asm_start "cmpl $0, %%gs:%P6\n\t"			      \
+			      "je 0f\n\t"				      \
+			      "lock\n"					      \
+			      "0:\tcmpxchgl %1, %2\n\t"
+#endif
+
+#define lll_lock(futex, private) \
+  (void)								      \
+    ({ int ignore1, ignore2;						      \
+       if (__builtin_constant_p (private) && (private) == LLL_PRIVATE)	      \
+	 __asm __volatile (__lll_lock_asm_start				      \
+			   "jz 18f\n\t"				      \
+			   "1:\tleal %2, %%ecx\n"			      \
+			   "2:\tcall __lll_lock_wait_private\n" 	      \
+			   "18:"					      \
+			   : "=a" (ignore1), "=c" (ignore2), "=m" (futex)     \
+			   : "0" (0), "1" (1), "m" (futex),		      \
+			     "i" (MULTIPLE_THREADS_OFFSET)		      \
+			   : "memory");					      \
+       else								      \
+	 {								      \
+	   int ignore3;							      \
+	   __asm __volatile (__lll_lock_asm_start			      \
+			     "jz 18f\n\t"			 	      \
+			     "1:\tleal %2, %%edx\n"			      \
+			     "0:\tmovl %8, %%ecx\n"			      \
+			     "2:\tcall __lll_lock_wait\n"		      \
+			     "18:"					      \
+			     : "=a" (ignore1), "=c" (ignore2),		      \
+			       "=m" (futex), "=&d" (ignore3) 		      \
+			     : "1" (1), "m" (futex),			      \
+			       "i" (MULTIPLE_THREADS_OFFSET), "0" (0),	      \
+			       "g" ((int) (private))			      \
+			     : "memory");				      \
+	 }								      \
+    })
+
+
+/* Special version of lll_lock which causes the unlock function to
+   always wakeup waiters.  */
+#define lll_cond_lock(futex, private) \
+  (void)								      \
+    ({ int ignore1, ignore2, ignore3;					      \
+       __asm __volatile (LOCK_INSTR "cmpxchgl %1, %2\n\t"		      \
+			 "jz 18f\n\t"					      \
+			 "1:\tleal %2, %%edx\n"				      \
+			 "0:\tmovl %7, %%ecx\n"				      \
+			 "2:\tcall __lll_lock_wait\n"			      \
+			 "18:"						      \
+			 : "=a" (ignore1), "=c" (ignore2), "=m" (futex),      \
+			   "=&d" (ignore3)				      \
+			 : "0" (0), "1" (2), "m" (futex), "g" ((int) (private))\
+			 : "memory");					      \
+    })
+
+
+#define lll_timedlock(futex, timeout, private) \
+  ({ int result, ignore1, ignore2, ignore3;				      \
+     __asm __volatile (LOCK_INSTR "cmpxchgl %1, %3\n\t"			      \
+		       "jz 18f\n\t"					      \
+		       "1:\tleal %3, %%ecx\n"				      \
+		       "0:\tmovl %8, %%edx\n"				      \
+		       "2:\tcall __lll_timedlock_wait\n"		      \
+		       "18:"						      \
+		       : "=a" (result), "=c" (ignore1), "=&d" (ignore2),      \
+			 "=m" (futex), "=S" (ignore3)			      \
+		       : "0" (0), "1" (1), "m" (futex), "m" (timeout),	      \
+			 "4" ((int) (private))				      \
+		       : "memory");					      \
+     result; })
+
+extern int __lll_timedlock_elision (int *futex, short *adapt_count,
+					 const struct timespec *timeout,
+					 int private) attribute_hidden;
+
+#define lll_timedlock_elision(futex, adapt_count, timeout, private)	\
+  __lll_timedlock_elision(&(futex), &(adapt_count), timeout, private)
+
+#if !IS_IN (libc) || defined UP
+# define __lll_unlock_asm LOCK_INSTR "subl $1, %0\n\t"
+#else
+# define __lll_unlock_asm "cmpl $0, %%gs:%P3\n\t"			      \
+			  "je 0f\n\t"					      \
+			  "lock\n"					      \
+			  "0:\tsubl $1,%0\n\t"
+#endif
+
+#define lll_unlock(futex, private) \
+  (void)								      \
+    ({ int ignore;							      \
+       if (__builtin_constant_p (private) && (private) == LLL_PRIVATE)	      \
+	 __asm __volatile (__lll_unlock_asm				      \
+			   "je 18f\n\t"					      \
+			   "1:\tleal %0, %%eax\n"			      \
+			   "2:\tcall __lll_unlock_wake_private\n"	      \
+			   "18:"					      \
+			   : "=m" (futex), "=&a" (ignore)		      \
+			   : "m" (futex), "i" (MULTIPLE_THREADS_OFFSET)	      \
+			   : "memory");					      \
+       else								      \
+	 {								      \
+	   int ignore2;							      \
+	   __asm __volatile (__lll_unlock_asm				      \
+			     "je 18f\n\t"				      \
+			     "1:\tleal %0, %%eax\n"			      \
+			     "0:\tmovl %5, %%ecx\n"			      \
+			     "2:\tcall __lll_unlock_wake\n"		      \
+			     "18:"					      \
+			     : "=m" (futex), "=&a" (ignore), "=&c" (ignore2)  \
+			     : "i" (MULTIPLE_THREADS_OFFSET), "m" (futex),    \
+			       "g" ((int) (private))			      \
+			     : "memory");				      \
+	 }								      \
+    })
+
+
+#define lll_islocked(futex) \
+  (futex != LLL_LOCK_INITIALIZER)
+
+/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
+   wake-up when the clone terminates.  The memory location contains the
+   thread ID while the clone is running and is reset to zero by the kernel
+   afterwards.  The kernel up to version 3.16.3 does not use the private futex
+   operations for futex wake-up when the clone terminates.  */
+#define lll_wait_tid(tid) \
+  do {					\
+    __typeof (tid) __tid;		\
+    while ((__tid = (tid)) != 0)	\
+      lll_futex_wait (&(tid), __tid, LLL_SHARED);\
+  } while (0)
+
+extern int __lll_timedwait_tid (int *tid, const struct timespec *abstime)
+     __attribute__ ((regparm (2))) attribute_hidden;
+
+/* As lll_wait_tid, but with a timeout.  If the timeout occurs then return
+   ETIMEDOUT.  If ABSTIME is invalid, return EINVAL.
+   XXX Note that this differs from the generic version in that we do the
+   error checking here and not in __lll_timedwait_tid.  */
+#define lll_timedwait_tid(tid, abstime) \
+  ({									      \
+    int __result = 0;							      \
+    if ((tid) != 0)							      \
+      {									      \
+	if ((abstime)->tv_nsec < 0 || (abstime)->tv_nsec >= 1000000000)	      \
+	  __result = EINVAL;						      \
+	else								      \
+	  __result = __lll_timedwait_tid (&(tid), (abstime));		      \
+      }									      \
+    __result; })
+
+
+extern int __lll_lock_elision (int *futex, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_unlock_elision(int *lock, int private)
+  attribute_hidden;
+
+extern int __lll_trylock_elision(int *lock, short *adapt_count)
+  attribute_hidden;
+
+#define lll_lock_elision(futex, adapt_count, private) \
+  __lll_lock_elision (&(futex), &(adapt_count), private)
+#define lll_unlock_elision(futex, adapt_count, private) \
+  __lll_unlock_elision (&(futex), private)
+#define lll_trylock_elision(futex, adapt_count) \
+  __lll_trylock_elision(&(futex), &(adapt_count))
+
+#endif  /* !__ASSEMBLER__ */
+
+#endif	/* lowlevellock.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lxstat.c
new file mode 100644
index 0000000000..fc9d2f234a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/lxstat.c
@@ -0,0 +1,62 @@
+/* lxstat using old-style Unix lstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  int result;
+
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (lstat, 2, name, buf);
+
+  {
+    struct stat64 buf64;
+
+    INTERNAL_SYSCALL_DECL (err);
+    result = INTERNAL_SYSCALL (lstat64, err, 2, name, &buf64);
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+									err));
+    else
+      return __xstat32_conv (vers, &buf64, buf);
+  }
+}
+
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+#if XSTAT_IS_XSTAT64
+#undef __lxstat64
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/makecontext.S
new file mode 100644
index 0000000000..6d396dd328
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/makecontext.S
@@ -0,0 +1,120 @@
+/* Create new context.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__makecontext)
+	movl	4(%esp), %eax
+
+	/* Load the address of the function we are supposed to run.  */
+	movl	8(%esp), %ecx
+
+	/* Compute the address of the stack.  The information comes from
+	   to us_stack element.  */
+	movl	oSS_SP(%eax), %edx
+	movl	%ecx, oEIP(%eax)
+	addl	oSS_SIZE(%eax), %edx
+
+	/* Remember the number of parameters for the exit handler since
+	   it has to remove them.  We store the number in the EBX register
+	   which the function we will call must preserve.  */
+	movl	12(%esp), %ecx
+	movl	%ecx, oEBX(%eax)
+
+	/* Make room on the new stack for the parameters.
+	   Room for the arguments, return address (== L(exitcode)) and
+	   oLINK pointer is needed.  One of the pointer sizes is subtracted
+	   after aligning the stack.  */
+	negl	%ecx
+	leal	-4(%edx,%ecx,4), %edx
+	negl	%ecx
+
+	/* Align the stack.  */
+	andl	$0xfffffff0, %edx
+	subl	$4, %edx
+
+	/* Store the future stack pointer.  */
+	movl	%edx, oESP(%eax)
+
+	/* Put the next context on the new stack (from the uc_link
+	   element).  */
+	movl	oLINK(%eax), %eax
+	movl	%eax, 4(%edx,%ecx,4)
+
+	/* Copy all the parameters.  */
+	jecxz	2f
+1:	movl	12(%esp,%ecx,4), %eax
+	movl	%eax, (%edx,%ecx,4)
+	decl	%ecx
+	jnz	1b
+2:
+
+	/* If the function we call returns we must continue with the
+	   context which is given in the uc_link element.  To do this
+	   set the return address for the function the user provides
+	   to a little bit of helper code which does the magic (see
+	   below).  */
+#ifdef PIC
+	call	1f
+	cfi_adjust_cfa_offset (4)
+1:	popl	%ecx
+	cfi_adjust_cfa_offset (-4)
+	addl	$L(exitcode)-1b, %ecx
+	movl	%ecx, (%edx)
+#else
+	movl	$L(exitcode), (%edx)
+#endif
+	/* We need to terminate the FDE here instead of after ret because
+	   the unwinder looks at ra-1 for unwind information.  */
+	cfi_endproc
+
+	/* 'makecontext' returns no value.  */
+	ret
+
+	/* This is the helper code which gets called if a function which
+	   is registered with 'makecontext' returns.  In this case we
+	   have to install the context listed in the uc_link element of
+	   the context 'makecontext' manipulated at the time of the
+	   'makecontext' call.  If the pointer is NULL the process must
+	   terminate.  */
+L(exitcode):
+	/* This removes the parameters passed to the function given to
+	   'makecontext' from the stack.  EBX contains the number of
+	   parameters (see above).  */
+	leal	(%esp,%ebx,4), %esp
+
+	cmpl	$0, (%esp)		/* Check the next context.  */
+	je	2f			/* If it is zero exit.  */
+
+	call	HIDDEN_JUMPTARGET(__setcontext)
+	/* If this returns (which can happen if the syscall fails) we'll
+	   exit the program with the return error value (-1).  */
+
+	movl	%eax, (%esp)
+2:	call	HIDDEN_JUMPTARGET(exit)
+	/* The 'exit' call should never return.  In case it does cause
+	   the process to terminate.  */
+	hlt
+	cfi_startproc
+END(__makecontext)
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/olddirent.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/olddirent.h
new file mode 100644
index 0000000000..413f78d108
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/olddirent.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __OLD_DIRENT_H
+#define __OLD_DIRENT_H 1
+
+#include <dirent.h>
+
+struct __old_dirent64
+  {
+    __ino_t d_ino;
+    __off64_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+
+/* Now define the internal interfaces.  */
+extern struct __old_dirent64 *__old_readdir64 (DIR *__dirp);
+extern int __old_readdir64_r (DIR *__dirp, struct __old_dirent64 *__entry,
+			  struct __old_dirent64 **__result);
+extern __ssize_t __old_getdents64 (int __fd, char *__buf, size_t __nbytes)
+	internal_function;
+int __old_scandir64 (const char * __dir,
+		     struct __old_dirent64 *** __namelist,
+		     int (*__selector) (const struct __old_dirent64 *),
+		     int (*__cmp) (const struct __old_dirent64 **,
+				   const struct __old_dirent64 **));
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/profil-counter.h
new file mode 100644
index 0000000000..3e7f75d525
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/profil-counter.h
@@ -0,0 +1,31 @@
+/* Low-level statistical profiling support function.  Linux/i386 version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigcontextinfo.h>
+
+static void
+__profil_counter (int signo, const SIGCONTEXT scp)
+{
+  profil_count ((void *) GET_PC (scp));
+
+  /* This is a hack to prevent the compiler from implementing the
+     above function call as a sibcall.  The sibcall would overwrite
+     the signal context.  */
+  asm volatile ("");
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/putmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/putmsg.c
new file mode 100644
index 0000000000..7270eb07ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/putmsg.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_putpmsg
+int
+putmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr,
+	int flags)
+{
+  return INLINE_SYSCALL (putpmsg, 5, fildes, ctlptr, dataptr, -1, flags);
+}
+#else
+# include <streams/putmsg.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64.c
new file mode 100644
index 0000000000..f80b6a7ba2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define __READDIR __readdir64
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+
+#include <sysdeps/posix/readdir.c>
+
+#include <shlib-compat.h>
+
+#undef __READDIR
+#undef __GETDENTS
+#undef DIRENT_TYPE
+
+versioned_symbol (libc, __readdir64, readdir64, GLIBC_2_2);
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+#define __READDIR attribute_compat_text_section __old_readdir64
+#define __GETDENTS __old_getdents64
+#define DIRENT_TYPE struct __old_dirent64
+
+#include <sysdeps/posix/readdir.c>
+
+compat_symbol (libc, __old_readdir64, readdir64, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64_r.c
new file mode 100644
index 0000000000..344fd53d02
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readdir64_r.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define __READDIR_R __readdir64_r
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+
+#include <sysdeps/posix/readdir_r.c>
+
+#undef __READDIR_R
+#undef __GETDENTS
+#undef DIRENT_TYPE
+
+#include <shlib-compat.h>
+
+versioned_symbol (libc, __readdir64_r, readdir64_r, GLIBC_2_2);
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+#define __READDIR_R attribute_compat_text_section __old_readdir64_r
+#define __GETDENTS __old_getdents64
+#define DIRENT_TYPE struct __old_dirent64
+
+#include <sysdeps/posix/readdir_r.c>
+
+compat_symbol (libc, __old_readdir64_r, readdir64_r, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readelflib.c
new file mode 100644
index 0000000000..5312007eb1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/readelflib.c
@@ -0,0 +1,93 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 1999 and
+		  Jakub Jelinek <jakub@redhat.com>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret, file_flag = 0;
+
+  switch (elf_header->e_machine)
+    {
+    case EM_X86_64:
+      if (elf_header->e_ident[EI_CLASS] == ELFCLASS64)
+	/* X86-64 64bit libraries are always libc.so.6+.  */
+	file_flag = FLAG_X8664_LIB64|FLAG_ELF_LIBC6;
+      else
+	/* X32 libraries are always libc.so.6+.  */
+	file_flag = FLAG_X8664_LIBX32|FLAG_ELF_LIBC6;
+      break;
+#ifndef SKIP_EM_IA_64
+    case EM_IA_64:
+      if (elf_header->e_ident[EI_CLASS] == ELFCLASS64)
+	{
+	  /* IA64 64bit libraries are always libc.so.6+.  */
+	  file_flag = FLAG_IA64_LIB64|FLAG_ELF_LIBC6;
+	  break;
+	}
+      goto failed;
+#endif
+    case EM_386:
+      if (elf_header->e_ident[EI_CLASS] == ELFCLASS32)
+	break;
+      /* Fall through.  */
+    default:
+#ifndef SKIP_EM_IA_64
+failed:
+#endif
+      error (0, 0, _("%s is for unknown machine %d.\n"),
+	     file_name, elf_header->e_machine);
+      return 1;
+    }
+
+  if (elf_header->e_ident[EI_CLASS] == ELFCLASS32)
+    ret = process_elf32_file (file_name, lib, flag, osversion, soname,
+			      file_contents, file_length);
+  else
+    ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+			      file_contents, file_length);
+
+  if (!ret && file_flag)
+    *flag = file_flag;
+
+  return ret;
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/register-dump.h
new file mode 100644
index 0000000000..0ca0866d47
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/register-dump.h
@@ -0,0 +1,255 @@
+/* Dump registers.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ EAX: XXXXXXXX   EBX: XXXXXXXX   ECX: XXXXXXXX   EDX: XXXXXXXX
+ ESI: XXXXXXXX   EDI: XXXXXXXX   EBP: XXXXXXXX   ESP: XXXXXXXX
+
+ EIP: XXXXXXXX   EFLAGS: XXXXXXXX
+
+ CS:  XXXX   DS: XXXX   ES: XXXX   FS: XXXX   GS: XXXX   SS: XXXX
+
+ Trap:  XXXXXXXX   Error: XXXXXXXX   OldMask: XXXXXXXX
+ ESP/SIGNAL: XXXXXXXX   CR2: XXXXXXXX
+
+ FPUCW: XXXXXXXX   FPUSW: XXXXXXXX   TAG: XXXXXXXX
+ IPOFF: XXXXXXXX   CSSEL: XXXX   DATAOFF: XXXXXXXX   DATASEL: XXXX
+
+ ST(0) XXXX XXXXXXXXXXXXXXXX   ST(1) XXXX XXXXXXXXXXXXXXXX
+ ST(2) XXXX XXXXXXXXXXXXXXXX   ST(3) XXXX XXXXXXXXXXXXXXXX
+ ST(4) XXXX XXXXXXXXXXXXXXXX   ST(5) XXXX XXXXXXXXXXXXXXXX
+ ST(6) XXXX XXXXXXXXXXXXXXXX   ST(7) XXXX XXXXXXXXXXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[21][8];
+  char fpregs[31][8];
+  struct iovec iov[97];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->eax, regs[0], 8);
+  hexvalue (ctx->ebx, regs[1], 8);
+  hexvalue (ctx->ecx, regs[2], 8);
+  hexvalue (ctx->edx, regs[3], 8);
+  hexvalue (ctx->esi, regs[4], 8);
+  hexvalue (ctx->edi, regs[5], 8);
+  hexvalue (ctx->ebp, regs[6], 8);
+  hexvalue (ctx->esp, regs[7], 8);
+  hexvalue (ctx->eip, regs[8], 8);
+  hexvalue (ctx->eflags, regs[9], 8);
+  hexvalue (ctx->cs, regs[10], 4);
+  hexvalue (ctx->ds, regs[11], 4);
+  hexvalue (ctx->es, regs[12], 4);
+  hexvalue (ctx->fs, regs[13], 4);
+  hexvalue (ctx->gs, regs[14], 4);
+  hexvalue (ctx->ss, regs[15], 4);
+  hexvalue (ctx->trapno, regs[16], 8);
+  hexvalue (ctx->err, regs[17], 8);
+  hexvalue (ctx->oldmask, regs[18], 8);
+  hexvalue (ctx->esp_at_signal, regs[19], 8);
+  hexvalue (ctx->cr2, regs[20], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n EAX: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("   EBX: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("   ECX: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("   EDX: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n ESI: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("   EDI: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("   EBP: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("   ESP: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n\n EIP: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("   EFLAGS: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("\n\n CS: ");
+  ADD_MEM (regs[10], 4);
+  ADD_STRING ("   DS: ");
+  ADD_MEM (regs[11], 4);
+  ADD_STRING ("   ES: ");
+  ADD_MEM (regs[12], 4);
+  ADD_STRING ("   FS: ");
+  ADD_MEM (regs[13], 4);
+  ADD_STRING ("   GS: ");
+  ADD_MEM (regs[14], 4);
+  ADD_STRING ("   SS: ");
+  ADD_MEM (regs[15], 4);
+  ADD_STRING ("\n\n Trap: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING ("   Error: ");
+  ADD_MEM (regs[17], 8);
+  ADD_STRING ("   OldMask: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("\n ESP/signal: ");
+  ADD_MEM (regs[19], 8);
+  ADD_STRING ("   CR2: ");
+  ADD_MEM (regs[20], 8);
+
+  if (ctx->fpstate != NULL)
+    {
+
+      /* Generate output for the FPU control/status registers.  */
+      hexvalue (ctx->fpstate->cw, fpregs[0], 8);
+      hexvalue (ctx->fpstate->sw, fpregs[1], 8);
+      hexvalue (ctx->fpstate->tag, fpregs[2], 8);
+      hexvalue (ctx->fpstate->ipoff, fpregs[3], 8);
+      hexvalue (ctx->fpstate->cssel, fpregs[4], 4);
+      hexvalue (ctx->fpstate->dataoff, fpregs[5], 8);
+      hexvalue (ctx->fpstate->datasel, fpregs[6], 4);
+
+      ADD_STRING ("\n\n FPUCW: ");
+      ADD_MEM (fpregs[0], 8);
+      ADD_STRING ("   FPUSW: ");
+      ADD_MEM (fpregs[1], 8);
+      ADD_STRING ("   TAG: ");
+      ADD_MEM (fpregs[2], 8);
+      ADD_STRING ("\n IPOFF: ");
+      ADD_MEM (fpregs[3], 8);
+      ADD_STRING ("   CSSEL: ");
+      ADD_MEM (fpregs[4], 4);
+      ADD_STRING ("   DATAOFF: ");
+      ADD_MEM (fpregs[5], 8);
+      ADD_STRING ("   DATASEL: ");
+      ADD_MEM (fpregs[6], 4);
+
+      /* Now the real FPU registers.  */
+      hexvalue (ctx->fpstate->_st[0].exponent, fpregs[7], 8);
+      hexvalue (ctx->fpstate->_st[0].significand[3] << 16
+		| ctx->fpstate->_st[0].significand[2], fpregs[8], 8);
+      hexvalue (ctx->fpstate->_st[0].significand[1] << 16
+		| ctx->fpstate->_st[0].significand[0], fpregs[9], 8);
+      hexvalue (ctx->fpstate->_st[1].exponent, fpregs[10], 8);
+      hexvalue (ctx->fpstate->_st[1].significand[3] << 16
+		| ctx->fpstate->_st[1].significand[2], fpregs[11], 8);
+      hexvalue (ctx->fpstate->_st[1].significand[1] << 16
+		| ctx->fpstate->_st[1].significand[0], fpregs[12], 8);
+      hexvalue (ctx->fpstate->_st[2].exponent, fpregs[13], 8);
+      hexvalue (ctx->fpstate->_st[2].significand[3] << 16
+		| ctx->fpstate->_st[2].significand[2], fpregs[14], 8);
+      hexvalue (ctx->fpstate->_st[2].significand[1] << 16
+		| ctx->fpstate->_st[2].significand[0], fpregs[15], 8);
+      hexvalue (ctx->fpstate->_st[3].exponent, fpregs[16], 8);
+      hexvalue (ctx->fpstate->_st[3].significand[3] << 16
+		| ctx->fpstate->_st[3].significand[2], fpregs[17], 8);
+      hexvalue (ctx->fpstate->_st[3].significand[1] << 16
+		| ctx->fpstate->_st[3].significand[0], fpregs[18], 8);
+      hexvalue (ctx->fpstate->_st[4].exponent, fpregs[19], 8);
+      hexvalue (ctx->fpstate->_st[4].significand[3] << 16
+		| ctx->fpstate->_st[4].significand[2], fpregs[20], 8);
+      hexvalue (ctx->fpstate->_st[4].significand[1] << 16
+		| ctx->fpstate->_st[4].significand[0], fpregs[21], 8);
+      hexvalue (ctx->fpstate->_st[5].exponent, fpregs[22], 8);
+      hexvalue (ctx->fpstate->_st[5].significand[3] << 16
+		| ctx->fpstate->_st[5].significand[2], fpregs[23], 8);
+      hexvalue (ctx->fpstate->_st[5].significand[1] << 16
+		| ctx->fpstate->_st[5].significand[0], fpregs[24], 8);
+      hexvalue (ctx->fpstate->_st[6].exponent, fpregs[25], 8);
+      hexvalue (ctx->fpstate->_st[6].significand[3] << 16
+		| ctx->fpstate->_st[6].significand[2], fpregs[26], 8);
+      hexvalue (ctx->fpstate->_st[6].significand[1] << 16
+		| ctx->fpstate->_st[6].significand[0], fpregs[27], 8);
+      hexvalue (ctx->fpstate->_st[7].exponent, fpregs[28], 8);
+      hexvalue (ctx->fpstate->_st[7].significand[3] << 16
+		| ctx->fpstate->_st[7].significand[2], fpregs[29], 8);
+      hexvalue (ctx->fpstate->_st[7].significand[1] << 16
+		| ctx->fpstate->_st[7].significand[0], fpregs[30], 8);
+
+      ADD_STRING ("\n\n ST(0) ");
+      ADD_MEM (fpregs[7], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[8], 8);
+      ADD_MEM (fpregs[9], 8);
+      ADD_STRING ("   ST(1) ");
+      ADD_MEM (fpregs[10], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[11], 8);
+      ADD_MEM (fpregs[12], 8);
+      ADD_STRING ("\n ST(2) ");
+      ADD_MEM (fpregs[13], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[14], 8);
+      ADD_MEM (fpregs[15], 8);
+      ADD_STRING ("   ST(3) ");
+      ADD_MEM (fpregs[16], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[17], 8);
+      ADD_MEM (fpregs[18], 8);
+      ADD_STRING ("\n ST(4) ");
+      ADD_MEM (fpregs[19], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[20], 8);
+      ADD_MEM (fpregs[21], 8);
+      ADD_STRING ("   ST(5) ");
+      ADD_MEM (fpregs[22], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[23], 8);
+      ADD_MEM (fpregs[24], 8);
+      ADD_STRING ("\n ST(6) ");
+      ADD_MEM (fpregs[25], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[26], 8);
+      ADD_MEM (fpregs[27], 8);
+      ADD_STRING ("   ST(7) ");
+      ADD_MEM (fpregs[28], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[29], 8);
+      ADD_MEM (fpregs[30], 8);
+    }
+
+  ADD_STRING ("\n");
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, &ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/scandir64.c
new file mode 100644
index 0000000000..5089a2f1a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/scandir64.c
@@ -0,0 +1,136 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dirent.h>
+
+#define SCANDIR		__scandir64
+#define SCANDIR_TAIL	__scandir64_tail
+#define DIRENT_TYPE	struct dirent64
+
+#include <dirent/scandir.c>
+
+#undef	SCANDIR
+#undef	SCANDIR_TAIL
+#undef	DIRENT_TYPE
+
+#include <shlib-compat.h>
+
+versioned_symbol (libc, __scandir64, scandir64, GLIBC_2_2);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
+# include <string.h>
+# include <errno.h>
+# include "olddirent.h"
+
+int
+__old_scandir64 (const char *dir, struct __old_dirent64 ***namelist,
+		 int (*select) (const struct __old_dirent64 *),
+		 int (*cmp) (const struct __old_dirent64 **,
+			     const struct __old_dirent64 **))
+{
+  DIR *dp = __opendir (dir);
+  struct __old_dirent64 **v = NULL;
+  size_t vsize = 0;
+  struct scandir_cancel_struct c;
+  struct __old_dirent64 *d;
+  int save;
+
+  if (dp == NULL)
+    return -1;
+
+  save = errno;
+  __set_errno (0);
+
+  c.dp = dp;
+  c.v = NULL;
+  c.cnt = 0;
+  __libc_cleanup_push (__scandir_cancel_handler, &c);
+
+  while ((d = __old_readdir64 (dp)) != NULL)
+    {
+      int use_it = select == NULL;
+
+      if (! use_it)
+	{
+	  use_it = select (d);
+	  /* The select function might have changed errno.  It was
+	     zero before and it need to be again to make the latter
+	     tests work.  */
+	  __set_errno (0);
+	}
+
+      if (use_it)
+	{
+	  struct __old_dirent64 *vnew;
+	  size_t dsize;
+
+	  /* Ignore errors from select or readdir */
+	  __set_errno (0);
+
+	  if (__glibc_unlikely (c.cnt == vsize))
+	    {
+	      struct __old_dirent64 **new;
+	      if (vsize == 0)
+		vsize = 10;
+	      else
+		vsize *= 2;
+	      new = (struct __old_dirent64 **) realloc (v,
+							vsize * sizeof (*v));
+	      if (new == NULL)
+		break;
+	      v = new;
+	      c.v = (void *) v;
+	    }
+
+	  dsize = &d->d_name[_D_ALLOC_NAMLEN (d)] - (char *) d;
+	  vnew = (struct __old_dirent64 *) malloc (dsize);
+	  if (vnew == NULL)
+	    break;
+
+	  v[c.cnt++] = (struct __old_dirent64 *) memcpy (vnew, d, dsize);
+	}
+    }
+
+  if (__builtin_expect (errno, 0) != 0)
+    {
+      save = errno;
+
+      while (c.cnt > 0)
+	free (v[--c.cnt]);
+      free (v);
+      c.cnt = -1;
+    }
+  else
+    {
+      /* Sort the list if we have a comparison function to sort with.  */
+      if (cmp != NULL)
+	qsort (v, c.cnt, sizeof (*v),
+	       (int (*) (const void *, const void *)) cmp);
+
+      *namelist = v;
+    }
+
+  __libc_cleanup_pop (0);
+
+  (void) __closedir (dp);
+  __set_errno (save);
+
+  return c.cnt;
+}
+compat_symbol (libc, __old_scandir64, scandir64, GLIBC_2_1);
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/setcontext.S
new file mode 100644
index 0000000000..c6fa618a01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/setcontext.S
@@ -0,0 +1,96 @@
+/* Install given context.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__setcontext)
+	/* Load address of the context data structure.  */
+	movl	4(%esp), %eax
+
+	/* Get the current signal mask.  Note that we preserve EBX in case
+	   the system call fails and we return from the function with an
+	   error.  */
+	pushl	%ebx
+	cfi_adjust_cfa_offset (4)
+	xorl	%edx, %edx
+	leal	oSIGMASK(%eax), %ecx
+	movl	$SIG_SETMASK, %ebx
+	cfi_rel_offset (ebx, 0)
+	movl	$__NR_sigprocmask, %eax
+	ENTER_KERNEL
+	popl	%ebx
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (ebx)
+	cmpl	$-4095, %eax		/* Check %eax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* EAX was modified, reload it.  */
+	movl	4(%esp), %eax
+
+	/* Restore the floating-point context.  Not the registers, only the
+	   rest.  */
+	movl	oFPREGS(%eax), %ecx
+	fldenv	(%ecx)
+
+	/* Restore the FS segment register.  We don't touch the GS register
+	   since it is used for threads.  */
+	movl	oFS(%eax), %ecx
+	movw	%cx, %fs
+
+	/* Fetch the address to return to.  */
+	movl	oEIP(%eax), %ecx
+
+	/* Load the new stack pointer.  */
+	cfi_def_cfa (eax, 0)
+	cfi_offset (edi, oEDI)
+	cfi_offset (esi, oESI)
+	cfi_offset (ebp, oEBP)
+	cfi_offset (ebx, oEBX)
+	cfi_offset (edx, oEDX)
+	cfi_offset (ecx, oECX)
+	movl	oESP(%eax), %esp
+
+	/* Push the return address on the new stack so we can return there.  */
+	pushl	%ecx
+
+	/* Load the values of all the 32-bit registers (except ESP).
+	   Since we are loading from EAX, it must be last.  */
+	movl	oEDI(%eax), %edi
+	movl	oESI(%eax), %esi
+	movl	oEBP(%eax), %ebp
+	movl	oEBX(%eax), %ebx
+	movl	oEDX(%eax), %edx
+	movl	oECX(%eax), %ecx
+	movl	oEAX(%eax), %eax
+
+	/* End FDE here, we fall into another context.  */
+	cfi_endproc
+	cfi_startproc
+
+	/* The following 'ret' will pop the address of the code and jump
+	   to it.  */
+
+	ret
+PSEUDO_END(__setcontext)
+libc_hidden_def (__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/i386/shlib-versions
new file mode 100644
index 0000000000..ca5d15b1df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/shlib-versions
@@ -0,0 +1 @@
+ld=ld-linux.so.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigaction.c
new file mode 100644
index 0000000000..0cc9d67ad9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigaction.c
@@ -0,0 +1,129 @@
+/* POSIX.1 `sigaction' call for Linux/i386.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+#include <stddef.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <ldsodefs.h>
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+/* We do not globally define the SA_RESTORER flag so do it here.  */
+#define SA_RESTORER 0x04000000
+
+
+/* Using the hidden attribute here does not change the code but it
+   helps to avoid warnings.  */
+#ifdef __NR_rt_sigaction
+extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
+#endif
+extern void restore (void) asm ("__restore") attribute_hidden;
+
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+
+  struct kernel_sigaction kact, koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      kact.sa_flags = act->sa_flags;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+
+      if (GLRO(dl_sysinfo_dso) == NULL)
+	{
+	  kact.sa_flags |= SA_RESTORER;
+
+	  kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
+			      ? &restore_rt : &restore);
+	}
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  INTERNAL_SYSCALL_DECL (err);
+  result = INTERNAL_SYSCALL (rt_sigaction, err, 4,
+			     sig, act ? &kact : NULL,
+			     oact ? &koact : NULL, _NSIG / 8);
+  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+     return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+								       err));
+  else if (oact && result >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+      oact->sa_flags = koact.sa_flags;
+      oact->sa_restorer = koact.sa_restorer;
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
+
+/* NOTE: Please think twice before making any changes to the bits of
+   code below.  GDB needs some intimate knowledge about it to
+   recognize them as signal trampolines, and make backtraces through
+   signal handlers work right.  Important are both the names
+   (__restore and __restore_rt) and the exact instruction sequence.
+   If you ever feel the need to make any changes, please notify the
+   appropriate GDB maintainer.  */
+
+#define RESTORE(name, syscall) RESTORE2 (name, syscall)
+#define RESTORE2(name, syscall) \
+asm						\
+  (						\
+   ".text\n"					\
+   "	.align 16\n"				\
+   "__" #name ":\n"				\
+   "	movl $" #syscall ", %eax\n"		\
+   "	int  $0x80"				\
+   );
+
+#ifdef __NR_rt_sigaction
+/* The return code for realtime-signals.  */
+RESTORE (restore_rt, __NR_rt_sigreturn)
+#endif
+
+/* For the boring old signals.  */
+#undef RESTORE2
+#define RESTORE2(name, syscall) \
+asm						\
+  (						\
+   ".text\n"					\
+   "	.align 8\n"				\
+   "__" #name ":\n"				\
+   "	popl %eax\n"				\
+   "	movl $" #syscall ", %eax\n"		\
+   "	int  $0x80"				\
+   );
+
+RESTORE (restore, __NR_sigreturn)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
new file mode 100644
index 0000000000..7e2764eb65
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
@@ -0,0 +1,50 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SIGCONTEXT struct sigcontext
+#define SIGCONTEXT_EXTRA_ARGS
+#define GET_PC(ctx)	((void *) ctx.eip)
+#define GET_FRAME(ctx)	((void *) ctx.ebp)
+#define GET_STACK(ctx)	((void *) ctx.esp_at_signal)
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+do {									      \
+  int __tmp1, __tmp2, __tmp3, __tmp4;					      \
+  __asm __volatile ("movl\t%%esp, %%edi\n\t"				      \
+		    "andl\t$-16, %%esp\n\t"				      \
+		    "subl\t%8, %%esp\n\t"				      \
+		    "movl\t%%edi, %c8-4(%%esp)\n\t"			      \
+		    "movl\t%1, 0(%%esp)\n\t"				      \
+		    "leal\t4(%%esp), %%edi\n\t"				      \
+		    "cld\n\t"						      \
+		    "rep\tmovsl\n\t"					      \
+		    "call\t*%0\n\t"					      \
+		    "cld\n\t"						      \
+		    "movl\t%9, %%ecx\n\t"				      \
+		    "subl\t%%edi, %%esi\n\t"				      \
+		    "leal\t4(%%esp,%%esi,1), %%edi\n\t"			      \
+		    "leal\t4(%%esp), %%esi\n\t"				      \
+		    "rep\tmovsl\n\t"					      \
+		    "movl\t%c8-4(%%esp), %%esp\n\t"			      \
+		    : "=a" (__tmp1), "=d" (__tmp2), "=S" (__tmp3),	      \
+		      "=c" (__tmp4)					      \
+		    : "0" (handler), "1" (signo), "2" (&ctx),		      \
+		      "3" (sizeof (struct sigcontext) / 4),		      \
+		      "n" ((sizeof (struct sigcontext) + 19) & ~15),	      \
+		      "i" (sizeof (struct sigcontext) / 4)		      \
+		    : "cc", "edi");					      \
+} while (0)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/smp.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/smp.h
new file mode 100644
index 0000000000..7d1a7f201b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/smp.h
@@ -0,0 +1,55 @@
+/* Determine whether the host has multiple processors.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/utsname.h>
+#include <not-cancel.h>
+
+/* Test whether the machine has more than one processor.  This is not the
+   best test but good enough.  More complicated tests would require `malloc'
+   which is not available at that time.  */
+static inline int
+is_smp_system (void)
+{
+  union
+  {
+    struct utsname uts;
+    char buf[512];
+  } u;
+  char *cp;
+
+  /* Try reading the number using `sysctl' first.  */
+  if (uname (&u.uts) == 0)
+    cp = u.uts.version;
+  else
+    {
+      /* This was not successful.  Now try reading the /proc filesystem.  */
+      int fd = open_not_cancel_2 ("/proc/sys/kernel/version", O_RDONLY);
+      if (__builtin_expect (fd, 0) == -1
+	  || read_not_cancel (fd, u.buf, sizeof (u.buf)) <= 0)
+	/* This also didn't work.  We give up and say it's a UP machine.  */
+	u.buf[0] = '\0';
+
+      close_not_cancel_no_status (fd);
+      cp = u.buf;
+    }
+
+  return strstr (cp, "SMP") != NULL;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/swapcontext.S
new file mode 100644
index 0000000000..cfdb1f0ad1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/swapcontext.S
@@ -0,0 +1,109 @@
+/* Save current context and install the given one.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__swapcontext)
+	/* Load address of the context data structure we save in.  */
+	movl	4(%esp), %eax
+
+	/* Return value of swapcontext.  EAX is the only register whose
+	   value is not preserved.  */
+	movl	$0, oEAX(%eax)
+
+	/* Save the 32-bit register values and the return address.  */
+	movl	%ecx, oECX(%eax)
+	movl	%edx, oEDX(%eax)
+	movl	%edi, oEDI(%eax)
+	movl	%esi, oESI(%eax)
+	movl	%ebp, oEBP(%eax)
+	movl	(%esp), %ecx
+	movl	%ecx, oEIP(%eax)
+	leal	4(%esp), %ecx
+	movl	%ecx, oESP(%eax)
+	movl	%ebx, oEBX(%eax)
+
+	/* Save the FS segment register.  */
+	xorl	%edx, %edx
+	movw	%fs, %dx
+	movl	%edx, oFS(%eax)
+
+	/* We have separate floating-point register content memory on the
+	   stack.  We use the __fpregs_mem block in the context.  Set the
+	   links up correctly.  */
+	leal	oFPREGSMEM(%eax), %ecx
+	movl	%ecx, oFPREGS(%eax)
+	/* Save the floating-point context.  */
+	fnstenv	(%ecx)
+
+	/* Load address of the context data structure we have to load.  */
+	movl	8(%esp), %ecx
+
+	/* Save the current signal mask and install the new one.  */
+	pushl	%ebx
+	leal	oSIGMASK(%eax), %edx
+	leal	oSIGMASK(%ecx), %ecx
+	movl	$SIG_SETMASK, %ebx
+	movl	$__NR_sigprocmask, %eax
+	ENTER_KERNEL
+	popl	%ebx
+	cmpl	$-4095, %eax		/* Check %eax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* EAX was modified, reload it.  */
+	movl	8(%esp), %eax
+
+	/* Restore the floating-point context.  Not the registers, only the
+	   rest.  */
+	movl	oFPREGS(%eax), %ecx
+	fldenv	(%ecx)
+
+	/* Restore the FS segment register.  We don't touch the GS register
+	   since it is used for threads.  */
+	movl	oFS(%eax), %edx
+	movw	%dx, %fs
+
+	/* Fetch the address to return to.  */
+	movl	oEIP(%eax), %ecx
+
+	/* Load the new stack pointer.  */
+	movl	oESP(%eax), %esp
+
+	/* Push the return address on the new stack so we can return there.  */
+	pushl	%ecx
+
+	/* Load the values of all the 32-bit registers (except ESP).
+	   Since we are loading from EAX, it must be last.  */
+	movl	oEDI(%eax), %edi
+	movl	oESI(%eax), %esi
+	movl	oEBP(%eax), %ebp
+	movl	oEBX(%eax), %ebx
+	movl	oEDX(%eax), %edx
+	movl	oECX(%eax), %ecx
+	movl	oEAX(%eax), %eax
+
+	/* The following 'ret' will pop the address of the code and jump
+	   to it.  */
+	ret
+PSEUDO_END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscall.S
new file mode 100644
index 0000000000..9d2f176ad4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscall.S
@@ -0,0 +1,35 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Please consult the file sysdeps/unix/sysv/linux/i386/sysdep.h for
+   more information about the value -4095 used below.*/
+
+	.text
+ENTRY (syscall)
+
+	PUSHARGS_6		/* Save register contents.  */
+	_DOARGS_6(44)		/* Load arguments.  */
+	movl 20(%esp), %eax	/* Load syscall number into %eax.  */
+	ENTER_KERNEL		/* Do the system call.  */
+	POPARGS_6		/* Restore register contents.  */
+	cmpl $-4095, %eax	/* Check %eax for error.  */
+	jae SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+	ret			/* Return to caller.  */
+
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscalls.list
new file mode 100644
index 0000000000..58020dfae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/syscalls.list
@@ -0,0 +1,26 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown@@GLIBC_2.1
+lchown		-	lchown32	i:sii	__lchown	lchown@@GLIBC_2.0 chown@GLIBC_2.0
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
+getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
+vm86old		EXTRA	vm86old		i:p	__vm86old	vm86@GLIBC_2.0
+vm86		-	vm86		i:ip	__vm86		vm86@@GLIBC_2.3.4
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
+
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
new file mode 100644
index 0000000000..ebf601918f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -0,0 +1,153 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    cmpl $0, %gs:MULTIPLE_THREADS_OFFSET;				      \
+    jne L(pseudo_cancel);						      \
+  .type __##syscall_name##_nocancel,@function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    DO_CALL (syscall_name, args);					      \
+    cmpl $-4095, %eax;							      \
+    jae SYSCALL_ERROR_LABEL;						      \
+    ret;								      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  L(pseudo_cancel):							      \
+    CENABLE								      \
+    SAVE_OLDTYPE_##args							      \
+    PUSHCARGS_##args							      \
+    DOCARGS_##args							      \
+    movl $SYS_ify (syscall_name), %eax;					      \
+    ENTER_KERNEL;							      \
+    POPCARGS_##args;							      \
+    POPSTATE_##args							      \
+    cmpl $-4095, %eax;							      \
+    jae SYSCALL_ERROR_LABEL
+
+# define SAVE_OLDTYPE_0	movl %eax, %ecx;
+# define SAVE_OLDTYPE_1	SAVE_OLDTYPE_0
+# define SAVE_OLDTYPE_2	pushl %eax; cfi_adjust_cfa_offset (4);
+# define SAVE_OLDTYPE_3	SAVE_OLDTYPE_2
+# define SAVE_OLDTYPE_4	SAVE_OLDTYPE_2
+# define SAVE_OLDTYPE_5	SAVE_OLDTYPE_2
+# define SAVE_OLDTYPE_6	SAVE_OLDTYPE_2
+
+# define PUSHCARGS_0	/* No arguments to push.  */
+# define DOCARGS_0	/* No arguments to frob.  */
+# define POPCARGS_0	/* No arguments to pop.  */
+# define _PUSHCARGS_0	/* No arguments to push.  */
+# define _POPCARGS_0	/* No arguments to pop.  */
+
+# define PUSHCARGS_1	movl %ebx, %edx; cfi_register (ebx, edx); PUSHCARGS_0
+# define DOCARGS_1	_DOARGS_1 (4)
+# define POPCARGS_1	POPCARGS_0; movl %edx, %ebx; cfi_restore (ebx);
+# define _PUSHCARGS_1	pushl %ebx; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (ebx, 0); _PUSHCARGS_0
+# define _POPCARGS_1	_POPCARGS_0; popl %ebx; \
+			cfi_adjust_cfa_offset (-4); cfi_restore (ebx);
+
+# define PUSHCARGS_2	PUSHCARGS_1
+# define DOCARGS_2	_DOARGS_2 (12)
+# define POPCARGS_2	POPCARGS_1
+# define _PUSHCARGS_2	_PUSHCARGS_1
+# define _POPCARGS_2	_POPCARGS_1
+
+# define PUSHCARGS_3	_PUSHCARGS_2
+# define DOCARGS_3	_DOARGS_3 (20)
+# define POPCARGS_3	_POPCARGS_3
+# define _PUSHCARGS_3	_PUSHCARGS_2
+# define _POPCARGS_3	_POPCARGS_2
+
+# define PUSHCARGS_4	_PUSHCARGS_4
+# define DOCARGS_4	_DOARGS_4 (28)
+# define POPCARGS_4	_POPCARGS_4
+# define _PUSHCARGS_4	pushl %esi; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (esi, 0); _PUSHCARGS_3
+# define _POPCARGS_4	_POPCARGS_3; popl %esi; \
+			cfi_adjust_cfa_offset (-4); cfi_restore (esi);
+
+# define PUSHCARGS_5	_PUSHCARGS_5
+# define DOCARGS_5	_DOARGS_5 (36)
+# define POPCARGS_5	_POPCARGS_5
+# define _PUSHCARGS_5	pushl %edi; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (edi, 0); _PUSHCARGS_4
+# define _POPCARGS_5	_POPCARGS_4; popl %edi; \
+			cfi_adjust_cfa_offset (-4); cfi_restore (edi);
+
+# define PUSHCARGS_6	_PUSHCARGS_6
+# define DOCARGS_6	_DOARGS_6 (44)
+# define POPCARGS_6	_POPCARGS_6
+# define _PUSHCARGS_6	pushl %ebp; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (ebp, 0); _PUSHCARGS_5
+# define _POPCARGS_6	_POPCARGS_5; popl %ebp; \
+			cfi_adjust_cfa_offset (-4); cfi_restore (ebp);
+
+# if IS_IN (libpthread)
+#  define CENABLE	call __pthread_enable_asynccancel;
+#  define CDISABLE	call __pthread_disable_asynccancel
+# elif IS_IN (libc)
+#  define CENABLE	call __libc_enable_asynccancel;
+#  define CDISABLE	call __libc_disable_asynccancel
+# elif IS_IN (librt)
+#  define CENABLE	call __librt_enable_asynccancel;
+#  define CDISABLE	call __librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+# define POPSTATE_0 \
+ pushl %eax; cfi_adjust_cfa_offset (4); movl %ecx, %eax; \
+ CDISABLE; popl %eax; cfi_adjust_cfa_offset (-4);
+# define POPSTATE_1	POPSTATE_0
+# define POPSTATE_2	xchgl (%esp), %eax; CDISABLE; popl %eax; \
+			cfi_adjust_cfa_offset (-4);
+# define POPSTATE_3	POPSTATE_2
+# define POPSTATE_4	POPSTATE_3
+# define POPSTATE_5	POPSTATE_4
+# define POPSTATE_6	POPSTATE_5
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P cmpl $0, %gs:MULTIPLE_THREADS_OFFSET
+# endif
+
+#elif !defined __ASSEMBLER__
+
+# define SINGLE_THREAD_P (1)
+# define NO_CANCELLATION 1
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.c
new file mode 100644
index 0000000000..7d65ad3518
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sysdep.h>
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  ERROR is the negative error number
+   returned from the x86 kernel.  */
+int
+__attribute__ ((__regparm__ (1)))
+__syscall_error (int error)
+{
+  __set_errno (-error);
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.h
new file mode 100644
index 0000000000..449b23e49b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -0,0 +1,657 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_I386_SYSDEP_H
+#define _LINUX_I386_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/i386/sysdep.h>
+/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO.  */
+#include <dl-sysdep.h>
+#include <tls.h>
+
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#if defined USE_DL_SYSINFO \
+    && (IS_IN (libc) || IS_IN (libpthread))
+# define I386_USE_SYSENTER	1
+#else
+# undef I386_USE_SYSENTER
+#endif
+
+/* Since GCC 5 and above can properly spill %ebx with PIC when needed,
+   we can inline syscalls with 6 arguments if GCC 5 or above is used
+   to compile glibc.  Disable GCC 5 optimization when compiling for
+   profiling or when -fno-omit-frame-pointer is used since asm ("ebp")
+   can't be used to put the 6th argument in %ebp for syscall.  */
+#if __GNUC_PREREQ (5,0) && !defined PROF && CAN_USE_REGISTER_ASM_EBP
+# define OPTIMIZE_FOR_GCC_5
+#endif
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in %eax
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can savely
+   test with -4095.  */
+
+/* We don't want the label for the error handle to be global when we define
+   it here.  */
+#define SYSCALL_ERROR_LABEL __syscall_error
+
+#undef	PSEUDO
+#define	PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    cmpl $-4095, %eax;							      \
+    jae SYSCALL_ERROR_LABEL
+
+#undef	PSEUDO_END
+#define	PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER							      \
+  END (name)
+
+#undef	PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args)
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
+#define ret_NOERRNO ret
+
+/* The function has to return the error code.  */
+#undef	PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    negl %eax
+
+#undef	PSEUDO_END_ERRVAL
+#define	PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+#define ret_ERRVAL ret
+
+#define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.c is used.  */
+
+/* The original calling convention for system calls on Linux/i386 is
+   to use int $0x80.  */
+#ifdef I386_USE_SYSENTER
+# ifdef SHARED
+#  define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
+# else
+#  define ENTER_KERNEL call *_dl_sysinfo
+# endif
+#else
+# define ENTER_KERNEL int $0x80
+#endif
+
+/* Linux takes system call arguments in registers:
+
+	syscall number	%eax	     call-clobbered
+	arg 1		%ebx	     call-saved
+	arg 2		%ecx	     call-clobbered
+	arg 3		%edx	     call-clobbered
+	arg 4		%esi	     call-saved
+	arg 5		%edi	     call-saved
+	arg 6		%ebp	     call-saved
+
+   The stack layout upon entering the function is:
+
+	24(%esp)	Arg# 6
+	20(%esp)	Arg# 5
+	16(%esp)	Arg# 4
+	12(%esp)	Arg# 3
+	 8(%esp)	Arg# 2
+	 4(%esp)	Arg# 1
+	  (%esp)	Return address
+
+   (Of course a function with say 3 arguments does not have entries for
+   arguments 4, 5, and 6.)
+
+   The following code tries hard to be optimal.  A general assumption
+   (which is true according to the data books I have) is that
+
+	2 * xchg	is more expensive than	pushl + movl + popl
+
+   Beside this a neat trick is used.  The calling conventions for Linux
+   tell that among the registers used for parameters %ecx and %edx need
+   not be saved.  Beside this we may clobber this registers even when
+   they are not used for parameter passing.
+
+   As a result one can see below that we save the content of the %ebx
+   register in the %edx register when we have less than 3 arguments
+   (2 * movl is less expensive than pushl + popl).
+
+   Second unlike for the other registers we don't save the content of
+   %ecx and %edx when we have more than 1 and 2 registers resp.
+
+   The code below might look a bit long but we have to take care for
+   the pipelined processors (i586).  Here the `pushl' and `popl'
+   instructions are marked as NP (not pairable) but the exception is
+   two consecutive of these instruction.  This gives no penalty on
+   other processors though.  */
+
+#undef	DO_CALL
+#define DO_CALL(syscall_name, args)			      		      \
+    PUSHARGS_##args							      \
+    DOARGS_##args							      \
+    movl $SYS_ify (syscall_name), %eax;					      \
+    ENTER_KERNEL							      \
+    POPARGS_##args
+
+#define PUSHARGS_0	/* No arguments to push.  */
+#define	DOARGS_0	/* No arguments to frob.  */
+#define	POPARGS_0	/* No arguments to pop.  */
+#define	_PUSHARGS_0	/* No arguments to push.  */
+#define _DOARGS_0(n)	/* No arguments to frob.  */
+#define	_POPARGS_0	/* No arguments to pop.  */
+
+#define PUSHARGS_1	movl %ebx, %edx; L(SAVEBX1): PUSHARGS_0
+#define	DOARGS_1	_DOARGS_1 (4)
+#define	POPARGS_1	POPARGS_0; movl %edx, %ebx; L(RESTBX1):
+#define	_PUSHARGS_1	pushl %ebx; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (ebx, 0); L(PUSHBX1): _PUSHARGS_0
+#define _DOARGS_1(n)	movl n(%esp), %ebx; _DOARGS_0(n-4)
+#define	_POPARGS_1	_POPARGS_0; popl %ebx; cfi_adjust_cfa_offset (-4); \
+			cfi_restore (ebx); L(POPBX1):
+
+#define PUSHARGS_2	PUSHARGS_1
+#define	DOARGS_2	_DOARGS_2 (8)
+#define	POPARGS_2	POPARGS_1
+#define _PUSHARGS_2	_PUSHARGS_1
+#define	_DOARGS_2(n)	movl n(%esp), %ecx; _DOARGS_1 (n-4)
+#define	_POPARGS_2	_POPARGS_1
+
+#define PUSHARGS_3	_PUSHARGS_2
+#define DOARGS_3	_DOARGS_3 (16)
+#define POPARGS_3	_POPARGS_3
+#define _PUSHARGS_3	_PUSHARGS_2
+#define _DOARGS_3(n)	movl n(%esp), %edx; _DOARGS_2 (n-4)
+#define _POPARGS_3	_POPARGS_2
+
+#define PUSHARGS_4	_PUSHARGS_4
+#define DOARGS_4	_DOARGS_4 (24)
+#define POPARGS_4	_POPARGS_4
+#define _PUSHARGS_4	pushl %esi; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (esi, 0); L(PUSHSI1): _PUSHARGS_3
+#define _DOARGS_4(n)	movl n(%esp), %esi; _DOARGS_3 (n-4)
+#define _POPARGS_4	_POPARGS_3; popl %esi; cfi_adjust_cfa_offset (-4); \
+			cfi_restore (esi); L(POPSI1):
+
+#define PUSHARGS_5	_PUSHARGS_5
+#define DOARGS_5	_DOARGS_5 (32)
+#define POPARGS_5	_POPARGS_5
+#define _PUSHARGS_5	pushl %edi; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (edi, 0); L(PUSHDI1): _PUSHARGS_4
+#define _DOARGS_5(n)	movl n(%esp), %edi; _DOARGS_4 (n-4)
+#define _POPARGS_5	_POPARGS_4; popl %edi; cfi_adjust_cfa_offset (-4); \
+			cfi_restore (edi); L(POPDI1):
+
+#define PUSHARGS_6	_PUSHARGS_6
+#define DOARGS_6	_DOARGS_6 (40)
+#define POPARGS_6	_POPARGS_6
+#define _PUSHARGS_6	pushl %ebp; cfi_adjust_cfa_offset (4); \
+			cfi_rel_offset (ebp, 0); L(PUSHBP1): _PUSHARGS_5
+#define _DOARGS_6(n)	movl n(%esp), %ebp; _DOARGS_5 (n-4)
+#define _POPARGS_6	_POPARGS_5; popl %ebp; cfi_adjust_cfa_offset (-4); \
+			cfi_restore (ebp); L(POPBP1):
+
+#else	/* !__ASSEMBLER__ */
+
+extern int __syscall_error (int)
+  attribute_hidden __attribute__ ((__regparm__ (1)));
+
+#ifndef OPTIMIZE_FOR_GCC_5
+/* We need some help from the assembler to generate optimal code.  We
+   define some macros here which later will be used.  */
+asm (".L__X'%ebx = 1\n\t"
+     ".L__X'%ecx = 2\n\t"
+     ".L__X'%edx = 2\n\t"
+     ".L__X'%eax = 3\n\t"
+     ".L__X'%esi = 3\n\t"
+     ".L__X'%edi = 3\n\t"
+     ".L__X'%ebp = 3\n\t"
+     ".L__X'%esp = 3\n\t"
+     ".macro bpushl name reg\n\t"
+     ".if 1 - \\name\n\t"
+     ".if 2 - \\name\n\t"
+     "error\n\t"
+     ".else\n\t"
+     "xchgl \\reg, %ebx\n\t"
+     ".endif\n\t"
+     ".endif\n\t"
+     ".endm\n\t"
+     ".macro bpopl name reg\n\t"
+     ".if 1 - \\name\n\t"
+     ".if 2 - \\name\n\t"
+     "error\n\t"
+     ".else\n\t"
+     "xchgl \\reg, %ebx\n\t"
+     ".endif\n\t"
+     ".endif\n\t"
+     ".endm\n\t");
+
+/* Six-argument syscalls use an out-of-line helper, because an inline
+   asm using all registers apart from %esp cannot work reliably and
+   the assembler does not support describing an asm that saves and
+   restores %ebp itself as a separate stack frame.  This structure
+   stores the arguments not passed in registers; %edi is passed with a
+   pointer to this structure.  */
+struct libc_do_syscall_args
+{
+  int ebx, edi, ebp;
+};
+#endif
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#if IS_IN (libc)
+# define INLINE_SYSCALL(name, nr, args...) \
+  ({									      \
+    unsigned int resultvar = INTERNAL_SYSCALL (name, , nr, args);	      \
+    __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, ))		      \
+    ? __syscall_error (-INTERNAL_SYSCALL_ERRNO (resultvar, ))		      \
+    : (int) resultvar; })
+#else
+# define INLINE_SYSCALL(name, nr, args...) \
+  ({									      \
+    unsigned int resultvar = INTERNAL_SYSCALL (name, , nr, args);	      \
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, )))	      \
+      {									      \
+	__set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));		      \
+	resultvar = 0xffffffff;						      \
+      }									      \
+    (int) resultvar; })
+#endif
+
+/* Set error number and return -1.  Return the internal function,
+   __syscall_error, which sets errno from the negative error number
+   and returns -1, to avoid PIC.  */
+#undef INLINE_SYSCALL_ERROR_RETURN_VALUE
+#define INLINE_SYSCALL_ERROR_RETURN_VALUE(resultvar) \
+  __syscall_error (-(resultvar))
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETTIME_VSYSCALL    1
+# define HAVE_GETTIMEOFDAY_VSYSCALL     1
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  This use is for internal calls that do not need to handle errors
+   normally.  It will never touch errno.  This returns just what the kernel
+   gave back.
+
+   The _NCS variant allows non-constant syscall numbers but it is not
+   possible to use more than four parameters.  */
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL_MAIN_0(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 0, args)
+#define INTERNAL_SYSCALL_MAIN_1(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 1, args)
+#define INTERNAL_SYSCALL_MAIN_2(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 2, args)
+#define INTERNAL_SYSCALL_MAIN_3(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 3, args)
+#define INTERNAL_SYSCALL_MAIN_4(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 4, args)
+#define INTERNAL_SYSCALL_MAIN_5(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 5, args)
+/* Each object using 6-argument inline syscalls must include a
+   definition of __libc_do_syscall.  */
+#ifdef OPTIMIZE_FOR_GCC_5
+# define INTERNAL_SYSCALL_MAIN_6(name, err, args...) \
+    INTERNAL_SYSCALL_MAIN_INLINE(name, err, 6, args)
+#else /* GCC 5  */
+# define INTERNAL_SYSCALL_MAIN_6(name, err, arg1, arg2, arg3,		\
+				 arg4, arg5, arg6)			\
+  struct libc_do_syscall_args _xv =					\
+    {									\
+      (int) (arg1),							\
+      (int) (arg5),							\
+      (int) (arg6)							\
+    };									\
+    asm volatile (							\
+    "movl %1, %%eax\n\t"						\
+    "call __libc_do_syscall"						\
+    : "=a" (resultvar)							\
+    : "i" (__NR_##name), "c" (arg2), "d" (arg3), "S" (arg4), "D" (&_xv) \
+    : "memory", "cc")
+#endif /* GCC 5  */
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+  ({									      \
+    register unsigned int resultvar;					      \
+    INTERNAL_SYSCALL_MAIN_##nr (name, err, args);			      \
+    (int) resultvar; })
+#ifdef I386_USE_SYSENTER
+# ifdef OPTIMIZE_FOR_GCC_5
+#  ifdef SHARED
+#   define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "call *%%gs:%P2"							\
+    : "=a" (resultvar)							\
+    : "a" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo))		\
+      ASMARGS_##nr(args) : "memory", "cc")
+#   define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									\
+    register unsigned int resultvar;					\
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "call *%%gs:%P2"							\
+    : "=a" (resultvar)							\
+    : "a" (name), "i" (offsetof (tcbhead_t, sysinfo))			\
+      ASMARGS_##nr(args) : "memory", "cc");				\
+    (int) resultvar; })
+#  else
+#   define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "call *_dl_sysinfo"							\
+    : "=a" (resultvar)							\
+    : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc")
+#   define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									\
+    register unsigned int resultvar;					\
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "call *_dl_sysinfo"							\
+    : "=a" (resultvar)							\
+    : "a" (name) ASMARGS_##nr(args) : "memory", "cc");			\
+    (int) resultvar; })
+#  endif
+# else /* GCC 5  */
+#  ifdef SHARED
+#   define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "movl %1, %%eax\n\t"						      \
+    "call *%%gs:%P2\n\t"						      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "i" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo))		      \
+      ASMFMT_##nr(args) : "memory", "cc")
+#   define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    register unsigned int resultvar;					      \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "call *%%gs:%P2\n\t"						      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "0" (name), "i" (offsetof (tcbhead_t, sysinfo))			      \
+      ASMFMT_##nr(args) : "memory", "cc");				      \
+    (int) resultvar; })
+#  else
+#   define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "movl %1, %%eax\n\t"						      \
+    "call *_dl_sysinfo\n\t"						      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc")
+#   define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    register unsigned int resultvar;					      \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "call *_dl_sysinfo\n\t"						      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "0" (name) ASMFMT_##nr(args) : "memory", "cc");			      \
+    (int) resultvar; })
+#  endif
+# endif /* GCC 5  */
+#else
+# ifdef OPTIMIZE_FOR_GCC_5
+#  define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "int $0x80"								\
+    : "=a" (resultvar)							\
+    : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc")
+#  define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									\
+    register unsigned int resultvar;					\
+    LOADREGS_##nr(args)							\
+    asm volatile (							\
+    "int $0x80"								\
+    : "=a" (resultvar)							\
+    : "a" (name) ASMARGS_##nr(args) : "memory", "cc");			\
+    (int) resultvar; })
+# else /* GCC 5  */
+#  define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "movl %1, %%eax\n\t"						      \
+    "int $0x80\n\t"							      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc")
+#  define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    register unsigned int resultvar;					      \
+    EXTRAVAR_##nr							      \
+    asm volatile (							      \
+    LOADARGS_##nr							      \
+    "int $0x80\n\t"							      \
+    RESTOREARGS_##nr							      \
+    : "=a" (resultvar)							      \
+    : "0" (name) ASMFMT_##nr(args) : "memory", "cc");			      \
+    (int) resultvar; })
+# endif /* GCC 5  */
+#endif
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned int) (val) >= 0xfffff001u)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+#define LOADARGS_0
+#ifdef __PIC__
+# if defined I386_USE_SYSENTER && defined SHARED
+#  define LOADARGS_1 \
+    "bpushl .L__X'%k3, %k3\n\t"
+#  define LOADARGS_5 \
+    "movl %%ebx, %4\n\t"						      \
+    "movl %3, %%ebx\n\t"
+# else
+#  define LOADARGS_1 \
+    "bpushl .L__X'%k2, %k2\n\t"
+#  define LOADARGS_5 \
+    "movl %%ebx, %3\n\t"						      \
+    "movl %2, %%ebx\n\t"
+# endif
+# define LOADARGS_2	LOADARGS_1
+# define LOADARGS_3 \
+    "xchgl %%ebx, %%edi\n\t"
+# define LOADARGS_4	LOADARGS_3
+#else
+# define LOADARGS_1
+# define LOADARGS_2
+# define LOADARGS_3
+# define LOADARGS_4
+# define LOADARGS_5
+#endif
+
+#define RESTOREARGS_0
+#ifdef __PIC__
+# if defined I386_USE_SYSENTER && defined SHARED
+#  define RESTOREARGS_1 \
+    "bpopl .L__X'%k3, %k3\n\t"
+#  define RESTOREARGS_5 \
+    "movl %4, %%ebx"
+# else
+#  define RESTOREARGS_1 \
+    "bpopl .L__X'%k2, %k2\n\t"
+#  define RESTOREARGS_5 \
+    "movl %3, %%ebx"
+# endif
+# define RESTOREARGS_2	RESTOREARGS_1
+# define RESTOREARGS_3 \
+    "xchgl %%edi, %%ebx\n\t"
+# define RESTOREARGS_4	RESTOREARGS_3
+#else
+# define RESTOREARGS_1
+# define RESTOREARGS_2
+# define RESTOREARGS_3
+# define RESTOREARGS_4
+# define RESTOREARGS_5
+#endif
+
+#ifdef OPTIMIZE_FOR_GCC_5
+# define LOADREGS_0()
+# define ASMARGS_0()
+# define LOADREGS_1(arg1) \
+	LOADREGS_0 ()
+# define ASMARGS_1(arg1) \
+	ASMARGS_0 (), "b" ((unsigned int) (arg1))
+# define LOADREGS_2(arg1, arg2) \
+	LOADREGS_1 (arg1)
+# define ASMARGS_2(arg1, arg2) \
+	ASMARGS_1 (arg1), "c" ((unsigned int) (arg2))
+# define LOADREGS_3(arg1, arg2, arg3) \
+	LOADREGS_2 (arg1, arg2)
+# define ASMARGS_3(arg1, arg2, arg3) \
+	ASMARGS_2 (arg1, arg2), "d" ((unsigned int) (arg3))
+# define LOADREGS_4(arg1, arg2, arg3, arg4) \
+	LOADREGS_3 (arg1, arg2, arg3)
+# define ASMARGS_4(arg1, arg2, arg3, arg4) \
+	ASMARGS_3 (arg1, arg2, arg3), "S" ((unsigned int) (arg4))
+# define LOADREGS_5(arg1, arg2, arg3, arg4, arg5) \
+	LOADREGS_4 (arg1, arg2, arg3, arg4)
+# define ASMARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	ASMARGS_4 (arg1, arg2, arg3, arg4), "D" ((unsigned int) (arg5))
+# define LOADREGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \
+	register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); \
+	LOADREGS_5 (arg1, arg2, arg3, arg4, arg5)
+# define ASMARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \
+	ASMARGS_5 (arg1, arg2, arg3, arg4, arg5), "r" (_a6)
+#endif /* GCC 5  */
+
+#define ASMFMT_0()
+#ifdef __PIC__
+# define ASMFMT_1(arg1) \
+	, "cd" (arg1)
+# define ASMFMT_2(arg1, arg2) \
+	, "d" (arg1), "c" (arg2)
+# define ASMFMT_3(arg1, arg2, arg3) \
+	, "D" (arg1), "c" (arg2), "d" (arg3)
+# define ASMFMT_4(arg1, arg2, arg3, arg4) \
+	, "D" (arg1), "c" (arg2), "d" (arg3), "S" (arg4)
+# define ASMFMT_5(arg1, arg2, arg3, arg4, arg5) \
+	, "0" (arg1), "m" (_xv), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5)
+#else
+# define ASMFMT_1(arg1) \
+	, "b" (arg1)
+# define ASMFMT_2(arg1, arg2) \
+	, "b" (arg1), "c" (arg2)
+# define ASMFMT_3(arg1, arg2, arg3) \
+	, "b" (arg1), "c" (arg2), "d" (arg3)
+# define ASMFMT_4(arg1, arg2, arg3, arg4) \
+	, "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4)
+# define ASMFMT_5(arg1, arg2, arg3, arg4, arg5) \
+	, "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5)
+#endif
+
+#define EXTRAVAR_0
+#define EXTRAVAR_1
+#define EXTRAVAR_2
+#define EXTRAVAR_3
+#define EXTRAVAR_4
+#ifdef __PIC__
+# define EXTRAVAR_5 int _xv;
+#else
+# define EXTRAVAR_5
+#endif
+
+/* Consistency check for position-independent code.  */
+#if defined __PIC__ && !defined OPTIMIZE_FOR_GCC_5
+# define check_consistency()						      \
+  ({ int __res;								      \
+     __asm__ __volatile__						      \
+       (LOAD_PIC_REG_STR (cx) ";"					      \
+	"subl %%ebx, %%ecx;"						      \
+	"je 1f;"							      \
+	"ud2;"								      \
+	"1:\n"								      \
+	: "=c" (__res));						      \
+     __res; })
+#endif
+
+#endif	/* __ASSEMBLER__ */
+
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  Using a global variable
+   is too complicated here since we have no PC-relative addressing mode.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg)	xorl %gs:POINTER_GUARD, reg;		      \
+				roll $9, reg
+#  define PTR_DEMANGLE(reg)	rorl $9, reg;				      \
+				xorl %gs:POINTER_GUARD, reg
+# else
+#  define PTR_MANGLE(var)	asm ("xorl %%gs:%c2, %0\n"		      \
+				     "roll $9, %0"			      \
+				     : "=r" (var)			      \
+				     : "0" (var),			      \
+				       "i" (offsetof (tcbhead_t,	      \
+						      pointer_guard)))
+#  define PTR_DEMANGLE(var)	asm ("rorl $9, %0\n"			      \
+				     "xorl %%gs:%c2, %0"		      \
+				     : "=r" (var)			      \
+				     : "0" (var),			      \
+				       "i" (offsetof (tcbhead_t,	      \
+						      pointer_guard)))
+# endif
+#endif
+
+#endif /* linux/i386/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/time.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/time.c
new file mode 100644
index 0000000000..f614a2d73b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/time.c
@@ -0,0 +1,34 @@
+/* time -- Get number of seconds since Epoch.  Linux/i386 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# define time __redirect_time
+#endif
+
+#include <time.h>
+
+#ifdef SHARED
+# undef time
+# define time_type __redirect_time
+
+# undef libc_hidden_def
+# define libc_hidden_def(name)  \
+  __hidden_ver1 (__time_syscall, __GI_time, __time_syscall);
+#endif
+
+#include <sysdeps/unix/sysv/linux/x86/time.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ucontext_i.sym
new file mode 100644
index 0000000000..b11a5509cd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/ucontext_i.sym
@@ -0,0 +1,30 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+#define mreg(reg)		mcontext (gregs[REG_##reg])
+
+oLINK		ucontext (uc_link)
+oSS_SP		ucontext (uc_stack.ss_sp)
+oSS_SIZE	ucontext (uc_stack.ss_size)
+oGS		mreg (GS)
+oFS		mreg (FS)
+oEDI		mreg (EDI)
+oESI		mreg (ESI)
+oEBP		mreg (EBP)
+oESP		mreg (ESP)
+oEBX		mreg (EBX)
+oEDX		mreg (EDX)
+oECX		mreg (ECX)
+oEAX		mreg (EAX)
+oEIP		mreg (EIP)
+oFPREGS		mcontext (fpregs)
+oSIGMASK	ucontext (uc_sigmask)
+oFPREGSMEM	ucontext (__fpregs_mem)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/versionsort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/versionsort64.c
new file mode 100644
index 0000000000..3e1c6ea35b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/versionsort64.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <dirent.h>
+#include <string.h>
+
+int
+__versionsort64 (const struct dirent64 **a, const struct dirent64 **b)
+{
+  return __strverscmp ((*a)->d_name, (*b)->d_name);
+}
+
+#include <shlib-compat.h>
+
+versioned_symbol (libc, __versionsort64, versionsort64, GLIBC_2_2);
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+
+#include <sysdeps/unix/sysv/linux/i386/olddirent.h>
+
+int
+__old_versionsort64 (const struct __old_dirent64 **a,
+		     const struct __old_dirent64 **b);
+
+int
+attribute_compat_text_section
+__old_versionsort64 (const struct __old_dirent64 **a,
+		     const struct __old_dirent64 **b)
+{
+  return __strverscmp ((*a)->d_name, (*b)->d_name);
+}
+
+compat_symbol (libc, __old_versionsort64, versionsort64, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/i386/vfork.S
new file mode 100644
index 0000000000..92ceca74c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/vfork.S
@@ -0,0 +1,57 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@gnu.org>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	/* Pop the return PC value into ECX.  */
+	popl	%ecx
+	cfi_adjust_cfa_offset (-4)
+	cfi_register (%eip, %ecx)
+
+	/* Stuff the syscall number in EAX and enter into the kernel.  */
+	movl	$SYS_ify (vfork), %eax
+	int	$0x80
+
+	/* Jump to the return PC.  Don't jump directly since this
+	   disturbs the branch target cache.  Instead push the return
+	   address back on the stack.  */
+	pushl	%ecx
+	cfi_adjust_cfa_offset (4)
+
+	cmpl	$-4095, %eax
+	/* Branch forward if it failed.  */
+	jae	SYSCALL_ERROR_LABEL
+
+	ret
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/i386/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/i386/xstat.c
new file mode 100644
index 0000000000..6b8b1ce3e7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/i386/xstat.c
@@ -0,0 +1,61 @@
+/* xstat using old-style Unix stat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  int result;
+
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (stat, 2, name, buf);
+
+  {
+    struct stat64 buf64;
+
+    INTERNAL_SYSCALL_DECL (err);
+    result = INTERNAL_SYSCALL (stat64, err, 2, name, &buf64);
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result,
+									err));
+    else
+      return __xstat32_conv (vers, &buf64, buf);
+  }
+}
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+#if XSTAT_IS_XSTAT64
+# undef __xstat64
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Implies
new file mode 100644
index 0000000000..9762539f9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Implies
@@ -0,0 +1,2 @@
+ia64/nptl
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Makefile
new file mode 100644
index 0000000000..4d6766db5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Makefile
@@ -0,0 +1,27 @@
+ifeq ($(subdir),misc)
+sysdep_headers += sys/rse.h
+endif
+
+ifeq ($(subdir),stdlib)
+sysdep_routines += __start_context
+gen-as-const-headers += sigcontext-offsets.sym
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/io.h
+sysdep_routines += ioperm clone2
+gen-as-const-headers += sigaltstack-offsets.sym
+endif
+
+ifeq ($(subdir),elf)
+sysdep-dl-routines += dl-static
+endif
+
+ifeq ($(subdir),rt)
+librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-sysdep_routines += __ia64_longjmp unwind_longjmp __sigstack_longjmp
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Versions
new file mode 100644
index 0000000000..116f4e8503
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/Versions
@@ -0,0 +1,41 @@
+ld {
+  GLIBC_PRIVATE {
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_2.2 {
+    ioperm; iopl;
+    inb; inw; inl;
+    _inb; _inw; _inl;
+    outb; outw; _outl;
+    _outb; _outw; _outl;
+    pciconfig_read; pciconfig_write;
+
+    # linuxthreads
+    __clone2;
+  }
+  GLIBC_2.2.2 {
+    # w*
+    wordexp;
+  }
+  GLIBC_2.2.6 {
+    getunwind;
+  }
+  GLIBC_2.24 {
+    recvmsg; sendmsg;
+  }
+}
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
+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/ia64/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
new file mode 100644
index 0000000000..52104a92ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
@@ -0,0 +1,88 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sigaltstack-offsets.h>
+
+	.section .rodata.str1.8,"aMS",@progbits,1
+	.align 8
+.LC0:
+	.string "longjmp causes uninitialized stack frame"
+
+	.section .sdata,"aws",@progbits
+	.align 8
+	.type	longjmp_msg,@object
+longjmp_msg:
+	data8	.LC0
+	.size	longjmp_msg, .-longjmp_msg
+
+#define __longjmp ____longjmp_chk
+
+/* We use 32 bytes (rather than sizeof(stack_t)) so that we keep the stack
+   properly aligned.  But we still want a sanity check to make sure 32 is
+   actually enough.  */
+#define STACK_SPACE ((sizeSS + 31) & -32)
+
+/* Check the stack pointer held in the jumpbuf.  Make sure it's in either the
+   current stack (r12) or in the signal stack.  */
+#define CHECK_RSP						\
+	ld8 loc0 = [in0];					\
+	;;							\
+	/* First see if target stack is within current one.  */	\
+	cmp.ltu p0, p8 = loc0, r12;				\
+(p8)	br.cond.dptk.many .Lok;					\
+								\
+	/* Check if it's an alternative signal stack.  */	\
+	mov out0 = r0;						\
+	add out1 = -STACK_SPACE, r12;				\
+	;;							\
+	mov r12 = out1;						\
+	DO_CALL_VIA_BREAK (SYS_ify (sigaltstack));		\
+	;;							\
+	/* If the syscall failed, then assume it's OK.  */	\
+	cmp.eq p8, p0 = -1, r10;				\
+(p8)	br.cond.spnt .Lok;					\
+	/* Move stack_t into regs.  */				\
+	add r14 = oSS_FLAGS, r12;	/* ss_flags */		\
+	add r15 = oSS_SIZE, r12;	/* ss_size */		\
+	ld8 r16 = [r12];		/* ss_sp */		\
+	;;							\
+	ld4 r17 = [r14];		/* ss_flags */		\
+	ld8 r18 = [r15];		/* ss_size */		\
+	;;							\
+	sub r19 = r16, r18;		/* sp - size */		\
+	/* See if we're currently on the altstack.  */		\
+	tbit.nz p0, p8 = r17, 0;	/* SS_ONSTACK */	\
+(p8)	br.cond.spnt .Lfail;					\
+	/* Verify target is within alternative stack.  */	\
+	cmp.gtu p7, p0 = loc0, r16;				\
+(p7)	br.cond.spnt .Lfail;					\
+	;;							\
+	cmp.ltu p0, p8 = loc0, r19;				\
+(p8)	br.cond.sptk.many .Lok;					\
+	;;							\
+								\
+	/* Still here?  Abort!  */				\
+.Lfail:								\
+	add r12 = STACK_SPACE, r12;				\
+	addl loc0 = @ltoffx(longjmp_msg#), r1;;			\
+	ld8.mov loc0 = [loc0], longjmp_msg#;;			\
+	ld8 out0 = [loc0];					\
+	br.call.sptk.many b0 = HIDDEN_JUMPTARGET(__fortify_fail)#;; \
+.Lok:								\
+	add r12 = STACK_SPACE, r12;
+
+#include "__longjmp.S"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S
new file mode 100644
index 0000000000..61299bdff1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S
@@ -0,0 +1,158 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <sysdep.h>
+#include <features.h>
+
+LEAF(__ia64_flush_rbs)
+	flushrs
+	mov r9 = ar.rsc		// 12 cyc latency
+	;;
+	mov r8 = ar.bsp		// 12 cyc latency
+	;;
+	and r16 = ~0x3, r9	// clear ar.rsc.mode
+	;;
+	mov ar.rsc = r16	// put RSE into enforced-lazy mode
+	;;
+	mov r10 = ar.rnat	// 5 cyc latency
+	ret
+END(__ia64_flush_rbs)
+
+
+#	define	pPos	p6	/* is rotate count positive? */
+#	define	pNeg	p7	/* is rotate count negative? */
+
+/* __ia64_longjmp(__jmp_buf buf, int val, long rnat, long rsc)  */
+
+
+LEAF(__ia64_longjmp)
+	alloc r8=ar.pfs,4,0,0,0
+	add r2=0x98,in0		// r2 <- &jmpbuf.orig_jmp_buf_addr
+	add r3=0x88,in0		// r3 <- &jmpbuf.ar_bsp
+	;;
+	ld8 r8=[r2]		// r8 <- orig_jmp_buf_addr
+	ld8 r23=[r3],8		// r23 <- jmpbuf.ar_bsp
+	mov r2=in0
+	;;
+	//
+	// Note: we need to redo the "flushrs" here even though it's
+	// already been done by __ia64_flush_rbs.  It is needed to
+	// ensure that ar.bspstore == ar.bsp.
+	//
+	flushrs			// flush dirty regs to backing store
+	ld8 r25=[r3]		// r25 <- jmpbuf.ar_unat
+	sub r8=r8,in0		// r8 <- &orig_jmpbuf - &jmpbuf
+	;;
+	add r3=8,in0		// r3 <- &jmpbuf.r1
+	extr.u r8=r8,3,6	// r8 <- (&orig_jmpbuf - &jmpbuf)/8 & 0x3f
+	;;
+	cmp.lt pNeg,pPos=r8,r0
+	;;
+(pPos)	mov r16=r8
+(pNeg)	add r16=64,r8
+(pPos)	sub r17=64,r8
+(pNeg)	sub r17=r0,r8
+	;;
+	shr.u r8=r25,r16
+	shl r9=r25,r17
+	;;
+	or r25=r8,r9
+	;;
+	mov ar.unat=r25 // setup ar.unat (NaT bits for r1, r4-r7, and r12)
+	;;
+	ld8.fill.nta sp=[r2],16	// r12 (sp)
+	ld8.fill.nta gp=[r3],32 // r1 (gp)
+	dep r11=-1,r23,3,6	// r11 <- ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+	;;
+	ld8.nta r16=[r2],16		// caller's unat
+//	ld8.nta r17=[r3],16		// fpsr
+	;;
+	ld8.fill.nta r4=[r2],16		// r4
+	ld8.fill.nta r5=[r3],16		// r5 (gp)
+	;;
+	ld8.fill.nta r6=[r2],16		// r6
+	ld8.fill.nta r7=[r3],16		// r7
+	;;
+	mov ar.unat=r16			// restore caller's unat
+//	mov ar.fpsr=r17			// restore fpsr
+	;;
+	ld8.nta r16=[r2],16		// b0
+	ld8.nta r17=[r3],16		// b1
+	;;
+	mov ar.bspstore=r23	// restore ar.bspstore
+	ld8.nta r18=[r2],16		// b2
+	;;
+	mov ar.rnat=in2		// restore ar.rnat
+	ld8.nta r19=[r3],16		// b3
+	;;
+	ld8.nta r20=[r2],16		// b4
+	ld8.nta r21=[r3],16		// b5
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE (r16, r24)
+#endif
+	;;
+	ld8.nta r11=[r2],16		// ar.pfs
+	ld8.nta r22=[r3],56		// ar.lc
+	;;
+	ld8.nta r24=[r2],32		// pr
+	mov ar.rsc=in3		// restore ar.rsc
+	mov b0=r16
+	;;
+	ldf.fill.nta f2=[r2],32
+	ldf.fill.nta f3=[r3],32
+	mov b1=r17
+	;;
+	ldf.fill.nta f4=[r2],32
+	ldf.fill.nta f5=[r3],32
+	mov b2=r18
+	;;
+	ldf.fill.nta f16=[r2],32
+	ldf.fill.nta f17=[r3],32
+	mov b3=r19
+	;;
+	ldf.fill.nta f18=[r2],32
+	ldf.fill.nta f19=[r3],32
+	mov b4=r20
+	;;
+	ldf.fill.nta f20=[r2],32
+	ldf.fill.nta f21=[r3],32
+	mov b5=r21
+	;;
+	ldf.fill.nta f22=[r2],32
+	ldf.fill.nta f23=[r3],32
+	mov ar.lc=r22
+	;;
+	ldf.fill.nta f24=[r2],32
+	ldf.fill.nta f25=[r3],32
+	cmp.eq p8,p9=0,in1
+	;;
+	ldf.fill.nta f26=[r2],32
+	ldf.fill.nta f27=[r3],32
+	mov ar.pfs=r11
+	;;
+	ldf.fill.nta f28=[r2],32
+	ldf.fill.nta f29=[r3],32
+(p8)	mov r8=1
+	;;
+	ldf.fill.nta f30=[r2]
+	ldf.fill.nta f31=[r3]
+(p9)	mov r8=in1
+
+	invala			// virt. -> phys. regnum mapping may change
+	mov pr=r24,-1
+	ret
+END(__ia64_longjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__longjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__longjmp.S
new file mode 100644
index 0000000000..975acbaf2a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__longjmp.S
@@ -0,0 +1,168 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.
+
+   Note that __sigsetjmp() did NOT flush the register stack.  Instead,
+   we do it here since __longjmp() is usually much less frequently
+   invoked than __sigsetjmp(). The only difficulty is that __sigsetjmp()
+   didn't (and wouldn't be able to) save ar.rnat either.  This is a problem
+   because if we're not careful, we could end up loading random NaT bits.
+   There are two cases:
+
+	(i)  ar.bsp < ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+		ar.rnat contains the desired bits---preserve ar.rnat
+		across loadrs and write to ar.bspstore
+
+	(ii) ar.bsp >= ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+		The desired ar.rnat is stored in
+		ia64_rse_rnat_addr(jmpbuf.ar_bsp).  Load those
+		bits into ar.rnat after setting ar.bspstore. */
+
+#include <sysdep.h>
+#include <features.h>
+
+#	define	pPos	p6	/* is rotate count positive? */
+#	define	pNeg	p7	/* is rotate count negative? */
+
+
+	/* __longjmp(__jmp_buf buf, int val) */
+
+LEAF(__longjmp)
+#ifdef CHECK_RSP
+	alloc r8=ar.pfs,2,1,3,0
+	CHECK_RSP
+#else
+	alloc r8=ar.pfs,2,0,0,0
+#endif
+	mov r27=ar.rsc
+	add r2=0x98,in0		// r2 <- &jmpbuf.orig_jmp_buf_addr
+	;;
+	ld8 r8=[r2],-16		// r8 <- orig_jmp_buf_addr
+	mov r10=ar.bsp
+	and r11=~0x3,r27	// clear ar.rsc.mode
+	;;
+	flushrs			// flush dirty regs to backing store (must be first in insn grp)
+	ld8 r23=[r2],8		// r23 <- jmpbuf.ar_bsp
+	sub r8=r8,in0		// r8 <- &orig_jmpbuf - &jmpbuf
+	;;
+	ld8 r25=[r2]		// r25 <- jmpbuf.ar_unat
+	extr.u r8=r8,3,6	// r8 <- (&orig_jmpbuf - &jmpbuf)/8 & 0x3f
+	;;
+	cmp.lt pNeg,pPos=r8,r0
+	mov r2=in0
+	;;
+(pPos)	mov r16=r8
+(pNeg)	add r16=64,r8
+(pPos)	sub r17=64,r8
+(pNeg)	sub r17=r0,r8
+	;;
+	mov ar.rsc=r11		// put RSE in enforced lazy mode
+	shr.u r8=r25,r16
+	add r3=8,in0		// r3 <- &jmpbuf.r1
+	shl r9=r25,r17
+	;;
+	ld8.fill.nta r28=[r2],16	// r28 <- jmpbuf.sp
+	or r25=r8,r9
+	;;
+	mov r26=ar.rnat
+	mov ar.unat=r25		// setup ar.unat (NaT bits for r1, r4-r7, and r12)
+	;;
+	ld8.fill.nta gp=[r3],32		// r1 (gp)
+	dep r11=-1,r23,3,6	// r11 <- ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+	mov sp=r28		// r12 (sp)
+	;;
+	ld8.nta r16=[r2],16		// caller's unat
+//	ld8.nta r17=[r3],16		// fpsr
+	;;
+	ld8.fill.nta r4=[r2],16	// r4
+	ld8.fill.nta r5=[r3],16		// r5 (gp)
+	cmp.geu p8,p0=r10,r11	// p8 <- (ar.bsp >= jmpbuf.ar_bsp)
+	;;
+	ld8.fill.nta r6=[r2],16	// r6
+	ld8.fill.nta r7=[r3],16		// r7
+	;;
+	mov ar.unat=r16			// restore caller's unat
+//	mov ar.fpsr=r17			// restore fpsr
+	;;
+	ld8.nta r16=[r2],16		// b0
+	ld8.nta r17=[r3],16		// b1
+	;;
+(p8)	ld8 r26=[r11]		// r26 <- *ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+	mov ar.bspstore=r23	// restore ar.bspstore
+	;;
+	ld8.nta r18=[r2],16		// b2
+	ld8.nta r19=[r3],16		// b3
+	;;
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE (r16, r24)
+#endif
+	ld8.nta r20=[r2],16		// b4
+	ld8.nta r21=[r3],16		// b5
+	;;
+	ld8.nta r11=[r2],16		// ar.pfs
+	ld8.nta r22=[r3],56		// ar.lc
+	;;
+	ld8.nta r24=[r2],32		// pr
+	mov b0=r16
+	;;
+	ldf.fill.nta f2=[r2],32
+	ldf.fill.nta f3=[r3],32
+	mov b1=r17
+	;;
+	ldf.fill.nta f4=[r2],32
+	ldf.fill.nta f5=[r3],32
+	mov b2=r18
+	;;
+	ldf.fill.nta f16=[r2],32
+	ldf.fill.nta f17=[r3],32
+	mov b3=r19
+	;;
+	ldf.fill.nta f18=[r2],32
+	ldf.fill.nta f19=[r3],32
+	mov b4=r20
+	;;
+	ldf.fill.nta f20=[r2],32
+	ldf.fill.nta f21=[r3],32
+	mov b5=r21
+	;;
+	ldf.fill.nta f22=[r2],32
+	ldf.fill.nta f23=[r3],32
+	mov ar.lc=r22
+	;;
+	ldf.fill.nta f24=[r2],32
+	ldf.fill.nta f25=[r3],32
+	cmp.eq p8,p9=0,in1
+	;;
+	ldf.fill.nta f26=[r2],32
+	ldf.fill.nta f27=[r3],32
+	mov ar.pfs=r11
+	;;
+	ldf.fill.nta f28=[r2],32
+	ldf.fill.nta f29=[r3],32
+	;;
+	ldf.fill.nta f30=[r2]
+	ldf.fill.nta f31=[r3]
+(p8)	mov r8=1
+
+	mov ar.rnat=r26		// restore ar.rnat
+	;;
+	mov ar.rsc=r27		// restore ar.rsc
+(p9)	mov r8=in1
+
+	invala			// virt. -> phys. regnum mapping may change
+	mov pr=r24,-1
+	ret
+END(__longjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c
new file mode 100644
index 0000000000..918bc3a6f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__sigstack_longjmp.c
@@ -0,0 +1,167 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+/* The public __longjmp() implementation is limited to jumping within
+   the same stack.  That is, in general it is not possible to use this
+   __longjmp() implementation to cross from one stack to another.
+   In contrast, the __sigstack_longjmp() implemented here allows
+   crossing from the alternate signal stack to the normal stack
+   as a special case.  */
+
+#include <assert.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include <sysdep.h>
+#include <sys/rse.h>
+
+#define JB_SP	0
+#define JB_BSP	17
+
+struct rbs_flush_values
+  {
+    unsigned long bsp;
+    unsigned long rsc;
+    unsigned long rnat;
+  };
+
+extern struct rbs_flush_values __ia64_flush_rbs (void);
+extern void __ia64_longjmp (__jmp_buf buf, int val, long rnat, long rsc)
+     __attribute__ ((__noreturn__));
+
+static void
+copy_rbs (unsigned long *dst, unsigned long *dst_end, unsigned long dst_rnat,
+	  unsigned long *src, unsigned long *src_end,
+	  unsigned long current_rnat)
+{
+  unsigned long dst_slot, src_rnat = 0, src_slot, *src_rnat_addr, nat_bit;
+  int first_time = 1;
+
+  while (dst < dst_end)
+    {
+      dst_slot = ia64_rse_slot_num (dst);
+      if (dst_slot == 63)
+	{
+	  *dst++ = dst_rnat;
+	  dst_rnat = 0;
+	}
+      else
+	{
+	  /* read source value, including NaT bit: */
+	  src_slot = ia64_rse_slot_num (src);
+	  if (src_slot == 63)
+	    {
+	      /* skip src RNaT slot */
+	      ++src;
+	      src_slot = 0;
+	    }
+	  if (first_time || src_slot == 0)
+	    {
+	      first_time = 0;
+	      src_rnat_addr = ia64_rse_rnat_addr (src);
+	      if (src_rnat_addr < src_end)
+		src_rnat = *src_rnat_addr;
+	      else
+		src_rnat = current_rnat;
+	    }
+	  nat_bit = (src_rnat >> src_slot) & 1;
+
+	  assert (src < src_end);
+
+	  *dst++ = *src++;
+	  if (nat_bit)
+	    dst_rnat |=  (1UL << dst_slot);
+	  else
+	    dst_rnat &= ~(1UL << dst_slot);
+	}
+    }
+  dst_slot = ia64_rse_slot_num (dst);
+  if (dst_slot > 0)
+    *ia64_rse_rnat_addr (dst) = dst_rnat;
+}
+
+void
+__sigstack_longjmp (__jmp_buf buf, int val)
+{
+  unsigned long *rbs_base, *bsp, *bspstore, *jb_bsp, jb_sp, ss_sp;
+  unsigned long ndirty, rnat, load_rnat, *jb_rnat_addr;
+  struct sigcontext *sc;
+  stack_t stk;
+  struct rbs_flush_values c;
+
+  /* put RSE into enforced-lazy mode and return current bsp/rsc/rnat: */
+  c = __ia64_flush_rbs ();
+
+  jb_sp  = ((unsigned long *)  buf)[JB_SP];
+  jb_bsp = ((unsigned long **) buf)[JB_BSP];
+
+  INTERNAL_SYSCALL_DECL (err);
+  (void) INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &stk);
+
+  ss_sp = (unsigned long) stk.ss_sp;
+  jb_rnat_addr = ia64_rse_rnat_addr (jb_bsp);
+
+  if ((stk.ss_flags & SS_ONSTACK) == 0 || jb_sp - ss_sp < stk.ss_size)
+    /* Normal non-stack-crossing longjmp; if the RNaT slot for the bsp
+       saved in the jump-buffer is the same as the one for the current
+       BSP, use the current AR.RNAT value, otherwise, load it from the
+       jump-buffer's RNaT-slot.  */
+    load_rnat = (ia64_rse_rnat_addr ((unsigned long *) c.bsp) != jb_rnat_addr);
+  else
+    {
+      /* If we are on the alternate signal-stack and the jump-buffer
+	 lies outside the signal-stack, we may need to copy back the
+	 dirty partition which was torn off and saved on the
+	 signal-stack when the signal was delivered.
+
+	 Caveat: we assume that the top of the alternate signal-stack
+		 stores the sigcontext structure of the signal that
+		 caused the switch to the signal-stack.	 This should
+		 be a fairly safe assumption but the kernel _could_
+		 do things differently.. */
+      sc = ((struct sigcontext *) ((ss_sp + stk.ss_size) & -16) - 1);
+
+      /* As a sanity-check, verify that the register-backing-store base
+	 of the alternate signal-stack is where we expect it.  */
+      rbs_base = (unsigned long *)
+	((ss_sp + sizeof (long) - 1) & -sizeof (long));
+
+      assert ((unsigned long) rbs_base == sc->sc_rbs_base);
+
+      ndirty = ia64_rse_num_regs (rbs_base, rbs_base + (sc->sc_loadrs >> 19));
+      bsp = (unsigned long *) sc->sc_ar_bsp;
+      bspstore = ia64_rse_skip_regs (bsp, -ndirty);
+
+      if (bspstore < jb_bsp)
+	/* AR.BSPSTORE at the time of the signal was below the value
+	   of AR.BSP saved in the jump-buffer => copy the missing
+	   portion from the torn off dirty partition which got saved
+	   on the alternate signal-stack.  */
+	copy_rbs (bspstore, jb_bsp, sc->sc_ar_rnat,
+		  rbs_base, (unsigned long *) c.bsp, c.rnat);
+
+      load_rnat = 1;
+    }
+  if (load_rnat)
+    rnat = *jb_rnat_addr;
+  else
+    rnat = c.rnat;
+  __ia64_longjmp (buf, val, rnat, c.rsc);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__start_context.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__start_context.S
new file mode 100644
index 0000000000..862b7ab024
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/__start_context.S
@@ -0,0 +1,51 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <sysdep.h>
+#include <features.h>
+
+/* When a context set up by __makecontext() is activated, control
+   transfers to __start_context.  When we get here:
+
+	b1 = entry point of function to call
+	in0 = address of UCP to resume after function returns
+	in1 = global pointer for __start_context
+	out0 .. outN = arguments for function  */
+
+ENTRY(__start_context)
+	.prologue
+	alloc r2 = ar.pfs, 2, 0, 8, 0
+
+	.save rp, r4		// terminate call chain with a NULL rp
+	mov r4 = r0
+	;;
+
+	.body
+	br.call.sptk rp = b1
+1:
+	mov gp = in1			// restore gp
+	cmp.ne p6,p0 = in0, r0		// uc_link != 0 ?
+	;;
+(p6)	mov out0 = in0
+(p6)	br.call.sptk rp = __setcontext
+.Lexit:
+	mov out0 = 0
+	br.call.sptk rp = HIDDEN_JUMPTARGET(exit)
+
+1:	br.cond.sptk .Lexit
+END(__start_context)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/arch-fork.h
new file mode 100644
index 0000000000..7e784d3232
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/arch-fork.h
@@ -0,0 +1,31 @@
+/* ARCH_FORK definition for Linux fork implementation.  IA64 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone2, 6,						      \
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	      \
+		  NULL, 0, NULL, &THREAD_SELF->tid, NULL)
+
+#define ARCH_CLONE __clone2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/endian.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/endian.h
new file mode 100644
index 0000000000..98a5e23991
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/endian.h
@@ -0,0 +1,7 @@
+/* Linux/ia64 is little-endian.  */
+
+#ifndef _ENDIAN_H
+# error "Never use <bits/endian.h> directly; include <endian.h> instead."
+#endif
+
+#define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
new file mode 100644
index 0000000000..37d431d290
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
@@ -0,0 +1,53 @@
+/* O_*, F_*, FD_* bit values for Linux/IA64.
+   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/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+/* Not necessary, files are always with 64bit off_t.  */
+#define __O_LARGEFILE	0
+
+/* Not necessary, we always have 64-bit offsets.  */
+#define F_GETLK64	5	/* Get record locking info.  */
+#define F_SETLK64	6	/* Set record locking info (non-blocking).  */
+#define F_SETLKW64	7	/* Set record locking info (blocking).	*/
+
+/* We don't need to support __USE_FILE_OFFSET64.  */
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/ipc.h
new file mode 100644
index 0000000000..ef25e2c44f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/ipc.h
@@ -0,0 +1,53 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+	Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#define IPC_INFO	3		/* See ipcs.  */
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+    __mode_t mode;			/* Read/write permission.  */
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned short int __pad1;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
new file mode 100644
index 0000000000..d1fab61d48
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/IA-64 version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	196608
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/mman.h
new file mode 100644
index 0000000000..914644d88c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/mman.h
@@ -0,0 +1,41 @@
+/* Definitions for POSIX memory map interface.  Linux/ia64 version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	  0x00100	/* Stack-like segment.  */
+# define MAP_GROWSUP	  0x00200	/* Register stack-like segment */
+# define MAP_DENYWRITE	  0x00800	/* ETXTBSY */
+# define MAP_EXECUTABLE	  0x01000	/* Mark it as an executable.  */
+# define MAP_LOCKED	  0x02000	/* Lock the mapping.  */
+# define MAP_NORESERVE	  0x04000	/* Don't check for reservations.  */
+# define MAP_POPULATE	  0x08000	/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	  0x10000	/* Do not block on IO.  */
+# define MAP_STACK	  0x20000	/* Allocation is for a stack.  */
+# define MAP_HUGETLB	  0x40000	/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/msq.h
new file mode 100644
index 0000000000..4ecbf36b57
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/msq.h
@@ -0,0 +1,75 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+	Contribute by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef _SYS_MSG_H
+#error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+  __time_t msg_rtime;		/* time of last msgrcv command */
+  __time_t msg_ctime;		/* time of last change */
+  unsigned long int __msg_cbytes;	/* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sem.h
new file mode 100644
index 0000000000..16a69771bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sem.h
@@ -0,0 +1,85 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+	Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/setjmp.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/setjmp.h
new file mode 100644
index 0000000000..5f2025d2ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/setjmp.h
@@ -0,0 +1,34 @@
+/* Define the machine-dependent type `jmp_buf'.  Linux/IA-64 version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H  1
+
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
+/* User code must not depend on the internal representation of jmp_buf. */
+
+#define _JBLEN	70
+
+/* the __jmp_buf element type should be __float80 per ABI... */
+typedef long __jmp_buf[_JBLEN] __attribute__ ((__aligned__ (16))); /* guarantees 128-bit alignment! */
+
+#endif  /* bits/setjmp.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/shm.h
new file mode 100644
index 0000000000..add8a60f5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/shm.h
@@ -0,0 +1,94 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R           0400            /* or S_IRUGO from <linux/stat.h> */
+#define SHM_W           0200            /* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(1024 * 1024)
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    __time_t shm_dtime;			/* time of last shmdt() */
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
new file mode 100644
index 0000000000..099fbf55c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
@@ -0,0 +1,75 @@
+/* Definitions for Linux/ia64 sigaction.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Special flags.  */
+    int sa_flags;
+    int __glibc_reserved0;
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+  };
+
+/* Bits in `sa_flags'.  */
+#define SA_NOCLDSTOP  0x00000001 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  0x00000002 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    0x00000004
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal
+				    when its handler is being executed.  */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historic no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define SIG_BLOCK          0	/* for blocking signals */
+#define SIG_UNBLOCK        1	/* for unblocking signals */
+#define SIG_SETMASK        2	/* for setting the signal mask */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
new file mode 100644
index 0000000000..c81463d809
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
@@ -0,0 +1,82 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jes Sorensen <jes@linuxcare.com>, July 2000
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
+#define __need_size_t
+#include <stddef.h>
+#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
+
+struct __ia64_fpreg
+  {
+    union
+      {
+	unsigned long bits[2];
+      } u;
+  } __attribute__ ((__aligned__ (16)));
+
+struct sigcontext
+{
+  unsigned long int sc_flags;	/* see manifest constants below */
+  unsigned long int sc_nat;	/* bit i == 1 iff scratch reg gr[i] is a NaT */
+  stack_t sc_stack;		/* previously active stack */
+
+  unsigned long int sc_ip;	/* instruction pointer */
+  unsigned long int sc_cfm;	/* current frame marker */
+  unsigned long int sc_um;	/* user mask bits */
+  unsigned long int sc_ar_rsc;	/* register stack configuration register */
+  unsigned long int sc_ar_bsp;	/* backing store pointer */
+  unsigned long int sc_ar_rnat;	/* RSE NaT collection register */
+  unsigned long int sc_ar_ccv;	/* compare & exchange compare value register */
+  unsigned long int sc_ar_unat;	/* ar.unat of interrupted context */
+  unsigned long int sc_ar_fpsr;	/* floating-point status register */
+  unsigned long int sc_ar_pfs;	/* previous function state */
+  unsigned long int sc_ar_lc;	/* loop count register */
+  unsigned long int sc_pr;	/* predicate registers */
+  unsigned long int sc_br[8];	/* branch registers */
+  unsigned long int sc_gr[32];	/* general registers (static partition) */
+  struct __ia64_fpreg sc_fr[128];	/* floating-point registers */
+  unsigned long int sc_rbs_base;/* NULL or new base of sighandler's rbs */
+  unsigned long int sc_loadrs;	/* see description above */
+  unsigned long int sc_ar25;	/* cmp8xchg16 uses this */
+  unsigned long int sc_ar26;	/* rsvd for scratch use */
+  unsigned long int sc_rsvd[12];/* reserved for future use */
+
+  /* sc_mask is actually an sigset_t but we don't want to
+   * include the kernel headers here. */
+  unsigned long int sc_mask;	/* signal mask to restore after handler returns */
+};
+
+/* sc_flag bit definitions. */
+#define IA64_SC_FLAG_ONSTACK_BIT	0	/* is handler running on signal stack? */
+#define IA64_SC_FLAG_IN_SYSCALL_BIT	1	/* did signal interrupt a syscall? */
+#define IA64_SC_FLAG_FPH_VALID_BIT	2	/* is state in f[32]-f[127] valid? */
+
+#define IA64_SC_FLAG_ONSTACK		(1 << IA64_SC_FLAG_ONSTACK_BIT)
+#define IA64_SC_FLAG_IN_SYSCALL		(1 << IA64_SC_FLAG_IN_SYSCALL_BIT)
+#define IA64_SC_FLAG_FPH_VALID		(1 << IA64_SC_FLAG_FPH_VALID_BIT)
+
+#endif /* _BITS_SIGCONTEXT_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
new file mode 100644
index 0000000000..8b5647062c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
@@ -0,0 +1,17 @@
+/* Architecture-specific adjustments to siginfo_t.  ia64 version.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+
+#define __SI_HAVE_SIGSYS 0
+
+#define __SI_SIGFAULT_ADDL			\
+  int _si_imm;					\
+  unsigned int _si_flags;			\
+  unsigned long int _si_isr;
+
+#ifdef __USE_GNU
+# define si_imm		_sifields._sigfault._si_imm
+# define si_segvflags	_sifields._sigfault._si_flags
+# define si_isr		_sifields._sigfault._si_isr
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
new file mode 100644
index 0000000000..4c5c4da516
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
@@ -0,0 +1,45 @@
+/* Architecture-specific additional siginfo constants.  ia64 version.  */
+#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
+#define _BITS_SIGINFO_CONSTS_ARCH_H 1
+
+/* `si_code' values for SIGILL signal.  */
+enum
+{
+  ILL_BADIADDR = ILL_BADSTK + 1, /* Unimplemented instruction address. */
+#define ILL_BADIADDR ILL_BADIADDR
+  ILL_BREAK
+#define ILL_BREAK ILL_BREAK
+};
+
+/* `si_code' values for SIGFPE signal.  */
+enum
+{
+   FPE_DECOVF   = FPE_FLTSUB + 1,
+#define FPE_DECOVF  FPE_DECOVF
+   FPE_DECDIV,
+#define FPE_DECDIV  FPE_DECDIV
+   FPE_DECERR,
+#define FPE_DECERR  FPE_DECERR
+   FPE_INVASC,
+#define FPE_INVASC  FPE_INVASC
+   FPE_INVDEC
+#define FPE_INVDEC  FPE_INVDEC
+};
+
+/* `si_code' values for SIGSEGV signal.  */
+enum
+{
+  SEGV_PSTKOVF = SEGV_ACCERR + 1
+#define SEGV_PSTKOVF SEGV_PSTKOVF
+};
+
+/* `si_code' values for SIGTRAP signal.  */
+enum
+{
+  TRAP_BRANCH = TRAP_TRACE + 1,
+#define TRAP_BRANCH TRAP_BRANCH
+  TRAP_HWBKPT
+#define TRAP_HWBKPT TRAP_HWBKPT
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h
new file mode 100644
index 0000000000..aabefbb1e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h
@@ -0,0 +1,36 @@
+/* sigstack, sigaltstack definitions.
+   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 _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.
+
+   Yes, this should be 131072 but the constant got defined incorrectly
+   in the kernel and we have to live with it.  Users should in any case
+   use SIGSTKSZ as the size user-supplied buffers should have.  */
+#define MINSIGSTKSZ	131027
+
+/* System default stack size.  */
+#define SIGSTKSZ	262144
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/stat.h
new file mode 100644
index 0000000000..0e0b939b56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bits/stat.h
@@ -0,0 +1,149 @@
+/* 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/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_KERNEL	0
+#define _STAT_VER_LINUX		1
+#define _STAT_VER		_STAT_VER_LINUX
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	0
+
+struct stat
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino_t st_ino;		/* File serial number.	*/
+    __nlink_t st_nlink;		/* Link count.  */
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    int __glibc_reserved0;
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    __blkcnt_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    long int __glibc_reserved[3];
+  };
+
+#ifdef __USE_LARGEFILE64
+/* Note stat64 is the same shape as stat.  */
+struct stat64
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino64_t st_ino;		/* File serial number.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    int __glibc_reserved0;
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    long int __glibc_reserved[3];
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits//stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/brk.S
new file mode 100644
index 0000000000..cc7650b78c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/brk.S
@@ -0,0 +1,51 @@
+/* brk system call for Linux/ia64
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Written by Stephane Eranian <eranian@hpl.hp.com> and
+	      Jes Sorensen, <Jes.Sorensen@cern.ch>, April 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 <sysdep.h>
+
+#include <asm/unistd.h>
+#include <asm/errno.h>
+
+	.global __curbrk
+	.type __curbrk,@object
+	.size __curbrk,8
+	.data
+	.align	8
+__curbrk:
+	data8	0
+
+weak_alias (__curbrk, ___brk_addr)
+
+LEAF(__brk)
+	.regstk 1, 0, 0, 0
+	DO_CALL(__NR_brk)
+	cmp.ltu	p6, p0 = ret0, in0
+	addl r9 = @ltoff(__curbrk), gp
+	;;
+	ld8 r9 = [r9]
+(p6) 	mov ret0 = ENOMEM
+(p6)	br.cond.spnt.few __syscall_error
+	;;
+	st8 [r9] = ret0
+	mov ret0 = 0
+	ret
+END(__brk)
+
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S
new file mode 100644
index 0000000000..4e6a2da560
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S
@@ -0,0 +1 @@
+/* _setjmp is in setjmp.S  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S
new file mode 100644
index 0000000000..1da848d2f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S
@@ -0,0 +1 @@
+/* setjmp is in setjmp.S  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/c++-types.data
new file mode 100644
index 0000000000..23c11dc41b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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:m
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone.S
new file mode 100644
index 0000000000..0cfaeab64e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone.S
@@ -0,0 +1 @@
+/* clone is not supported under Linux/ia64, use clone2. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone2.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone2.S
new file mode 100644
index 0000000000..9b59473c80
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/clone2.S
@@ -0,0 +1,91 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#include <sysdep.h>
+#include <asm/errno.h>
+
+
+/* int  __clone2(int (*fn) (void *arg), void *child_stack_base, 	*/
+/* 	         size_t child_stack_size, int flags, void *arg,		*/
+/*	         pid_t *parent_tid, void *tls, pid_t *child_tid)	*/
+
+#define CHILD	p8
+#define PARENT	p9
+
+ENTRY(__clone2)
+	.prologue
+	alloc r2=ar.pfs,8,1,6,0
+	cmp.eq p6,p0=0,in0
+	cmp.eq p7,p0=0,in1
+	mov r8=EINVAL
+	mov out0=in3		/* Flags are first syscall argument.	*/
+	mov out1=in1		/* Stack address.			*/
+(p6)	br.cond.spnt.many __syscall_error	/* no NULL function pointers */
+(p7)	br.cond.spnt.many __syscall_error	/* no NULL stack pointers */
+	;;
+	mov out2=in2		/* Stack size.				*/
+	mov out3=in5		/* Parent TID Pointer			*/
+	mov out4=in7		/* Child TID Pointer			*/
+	mov out5=in6		/* TLS pointer				*/
+	/*
+	 * clone2() is special: the child cannot execute br.ret right
+	 * after the system call returns, because it starts out
+	 * executing on an empty stack.  Because of this, we can't use
+	 * the new (lightweight) syscall convention here.  Instead, we
+	 * just fall back on always using "break".
+	 *
+	 * Furthermore, since the child starts with an empty stack, we
+	 * need to avoid unwinding past invalid memory.  To that end,
+	 * we'll pretend now that __clone2() is the end of the
+	 * call-chain.  This is wrong for the parent, but only until
+	 * it returns from clone2() but it's better than the
+	 * alternative.
+	 */
+	mov r15=SYS_ify (clone2)
+	.save rp, r0
+	break __BREAK_SYSCALL
+	.body
+	cmp.eq p6,p0=-1,r10
+	cmp.eq CHILD,PARENT=0,r8 /* Are we the child?   */
+(p6)	br.cond.spnt.many __syscall_error
+	;;
+(CHILD)	mov loc0=gp
+(PARENT) ret
+	;;
+	ld8 out1=[in0],8	/* Retrieve code pointer.	*/
+	mov out0=in4		/* Pass proper argument	to fn */
+	;;
+	ld8 gp=[in0]		/* Load function gp.		*/
+	mov b6=out1
+	br.call.dptk.many rp=b6	/* Call fn(arg) in the child 	*/
+	;;
+	mov out0=r8		/* Argument to _exit		*/
+	mov gp=loc0
+	.globl HIDDEN_JUMPTARGET(_exit)
+	br.call.dpnt.many rp=HIDDEN_JUMPTARGET(_exit)
+				/* call _exit with result from fn.	*/
+	ret			/* Not reached.		*/
+PSEUDO_END(__clone2)
+
+libc_hidden_def (__clone2)
+
+/* For now we leave __clone undefined.  This is unlikely to be a	*/
+/* problem, since at least the i386 __clone in glibc always failed	*/
+/* with a 0 sp (eventhough the kernel explicitly handled it).		*/
+/* Thus all such calls needed to pass an explicit sp, and as a result,	*/
+/* would be unlikely to work on ia64.					*/
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure
new file mode 100644
index 0000000000..3cf72371ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure
@@ -0,0 +1,8 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/ia64
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
+
+# First version with support for the accept4 system call.
+# Linux 3.3 includes it as well.
+arch_minimum_kernel=3.2.18
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure.ac
new file mode 100644
index 0000000000..94a578c12d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/configure.ac
@@ -0,0 +1,8 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/ia64
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
+
+# First version with support for the accept4 system call.
+# Linux 3.3 includes it as well.
+arch_minimum_kernel=3.2.18
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-brk.S
new file mode 100644
index 0000000000..eeb96544e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-cache.h
new file mode 100644
index 0000000000..79cbfff408
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-cache.h
@@ -0,0 +1,24 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define _DL_CACHE_DEFAULT_ID	0x203
+
+#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/ia64/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-static.c
new file mode 100644
index 0000000000..25e5c7e152
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-static.c
@@ -0,0 +1,61 @@
+/* Variable initialization.  IA-64 version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0,
+      DL_CLKTCK
+    };
+
+  GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
+  GLRO(dl_clktck) = *((int *) array[DL_CLKTCK]);
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize),
+  &GLRO(dl_clktck)
+};
+
+void
+_dl_static_init (struct link_map *map)
+{
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", map, &ref,
+				  map->l_local_scope, NULL, 0, 1, NULL);
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      f (variables);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
new file mode 100644
index 0000000000..7a18385cf4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
@@ -0,0 +1,55 @@
+/* System-specific settings for dynamic linker code.  IA-64 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_IA64_DL_SYSDEP_H
+#define _LINUX_IA64_DL_SYSDEP_H	1
+
+#include_next <dl-sysdep.h>
+
+/* Traditionally system calls have been made using break 0x100000.  A
+   second method was introduced which, if possible, will use the EPC
+   instruction.  To signal the presence and where to find the code the
+   kernel passes an AT_SYSINFO_EHDR pointer in the auxiliary vector to
+   the application.  */
+#define NEED_DL_SYSINFO	1
+#define USE_DL_SYSINFO	1
+
+#ifndef __ASSEMBLER__
+/* Don't declare this as a function---we want it's entry-point, not
+   it's function descriptor... */
+extern int _dl_sysinfo_break attribute_hidden;
+# define DL_SYSINFO_DEFAULT ((uintptr_t) &_dl_sysinfo_break)
+# define DL_SYSINFO_IMPLEMENTATION		\
+  asm (".text\n\t"				\
+       ".hidden _dl_sysinfo_break\n\t"		\
+       ".proc _dl_sysinfo_break\n\t"		\
+       "_dl_sysinfo_break:\n\t"			\
+       ".prologue\n\t"				\
+       ".altrp b6\n\t"				\
+       ".body\n\t"				\
+       "break 0x100000;\n\t"			\
+       "br.ret.sptk.many b6;\n\t"		\
+       ".endp _dl_sysinfo_break\n\t"		\
+       ".previous");
+#endif
+
+/* _dl_argv cannot be attribute_relro, because _dl_start_user
+   might write into it after _dl_start returns.  */
+#define DL_ARGV_NOT_RELRO 1
+
+#endif	/* dl-sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
new file mode 100644
index 0000000000..603c7d516e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
@@ -0,0 +1,87 @@
+/* Get frequency of the system processor.  IA-64/Linux 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>
+
+
+hp_timing_t
+__get_clockfreq (void)
+{
+  /* We read the information from the /proc filesystem.  It contains at
+     least one line like
+	itc MHz    : 733.390988
+     We search for this line and convert the number in an integer.  */
+  static hp_timing_t result;
+  int fd;
+
+  /* If this function was called before, we know the result.  */
+  if (result != 0)
+    return result;
+
+  fd = __open ("/proc/cpuinfo", O_RDONLY);
+  if (__builtin_expect (fd != -1, 1))
+    {
+      /* XXX AFAIK the /proc filesystem can generate "files" only up
+         to a size of 4096 bytes.  */
+      char buf[4096];
+      ssize_t n;
+
+      n = __read (fd, buf, sizeof buf);
+      if (__builtin_expect (n, 1) > 0)
+	{
+	  char *mhz = memmem (buf, n, "itc MHz", 7);
+
+	  if (__builtin_expect (mhz != NULL, 1))
+	    {
+	      char *endp = buf + n;
+	      int seen_decpoint = 0;
+	      int ndigits = 0;
+
+	      /* Search for the beginning of the string.  */
+	      while (mhz < endp && (*mhz < '0' || *mhz > '9') && *mhz != '\n')
+		++mhz;
+
+	      while (mhz < endp && *mhz != '\n')
+		{
+		  if (*mhz >= '0' && *mhz <= '9')
+		    {
+		      result *= 10;
+		      result += *mhz - '0';
+		      if (seen_decpoint)
+			++ndigits;
+		    }
+		  else if (*mhz == '.')
+		    seen_decpoint = 1;
+
+		  ++mhz;
+		}
+
+	      /* Compensate for missing digits at the end.  */
+	      while (ndigits++ < 6)
+		result *= 10;
+	    }
+	}
+
+      __close (fd);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getclktck.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getclktck.c
new file mode 100644
index 0000000000..6636bbe689
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getclktck.c
@@ -0,0 +1,2 @@
+#define SYSTEM_CLK_TCK	1024
+#include <sysdeps/unix/sysv/linux/getclktck.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getcontext.S
new file mode 100644
index 0000000000..c3b20c7624
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/getcontext.S
@@ -0,0 +1,157 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __getcontext (ucontext_t *ucp)
+
+  Saves the machine context in UCP such that when it is activated,
+  it appears as if __getcontext() returned again.  The only difference
+  is that on a first return, r9 contains 1 and on a subsequent
+  return, it contains 0.
+
+  This implementation in intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__getcontext)
+	.prologue
+	.body
+	alloc r11 = ar.pfs, 1, 0, 4, 0
+
+	// sigprocmask (SIG_BLOCK, NULL, &sc->sc_mask):
+
+	mov r3 = SC_MASK
+	mov out0 = SIG_BLOCK
+
+	flushrs					// save dirty partition on rbs
+	mov out1 = 0
+	add out2 = r3, in0
+
+	mov out3 = 8	// sizeof kernel sigset_t
+	DO_CALL(__NR_rt_sigprocmask)
+
+	mov.m rFPSR = ar.fpsr
+	mov.m rRSC = ar.rsc
+	add r2 = SC_GR+1*8, r32
+	;;
+	mov.m rBSP = ar.bsp
+	.prologue
+	.save ar.unat, rUNAT
+	mov.m rUNAT = ar.unat
+	.body
+	add r3 = SC_GR+4*8, r32
+	;;
+
+.mem.offset 0,0; st8.spill [r2] = r1, (5*8 - 1*8)
+.mem.offset 8,0; st8.spill [r3] = r4, 16
+	mov rPFS = r11
+	;;
+.mem.offset 0,0; st8.spill [r2] = r5, 16
+.mem.offset 8,0; st8.spill [r3] = r6, 48
+	and rTMP = ~0x3, rRSC
+	;;
+.mem.offset 0,0; st8.spill [r2] = r7, (SC_FR+2*16-(SC_GR+7*8))
+.mem.offset 8,0; st8.spill [r3] = sp, (SC_FR+3*16-(SC_GR+12*8))
+	;;
+	mov.m ar.rsc = rTMP 		// put RSE into enforced lazy mode
+	mov.m rNAT = ar.unat
+	mov.i rLC = ar.lc
+	;;
+	mov.m rRNAT = ar.rnat
+	mov.m ar.rsc = rRSC 		// restore RSE mode
+	mov rPR = pr
+
+	/*
+	 * Rotate NaT bits by rPOS positions to the right:
+	 */
+	stf.spill [r2] = f2, 32
+	stf.spill [r3] = f3, 32
+	add rPOS = SC_GR, r32			// rPOS <- &sc_gr[0]
+	;;
+	stf.spill [r2] = f4, (16*16-4*16)
+	stf.spill [r3] = f5, (17*16-5*16)
+	extr.u rPOS = rPOS, 3, 6		// get NaT bit number for r0
+	;;
+	stf.spill [r2] = f16, 32
+	stf.spill [r3] = f17, 32
+	sub rCPOS = 64, rPOS
+	;;
+	stf.spill [r2] = f18, 32
+	stf.spill [r3] = f19, 32
+	shr.u rTMP = rNAT, rPOS
+	;;
+	stf.spill [r2] = f20, 32
+	stf.spill [r3] = f21, 32
+	shl rNAT = rNAT, rCPOS
+	;;
+	stf.spill [r2] = f22, 32
+	stf.spill [r3] = f23, 32
+	or rNAT = rNAT, rTMP
+	;;
+	stf.spill [r2] = f24, 32
+	stf.spill [r3] = f25, 32
+	mov r8 = 0
+	;;
+	stf.spill [r2] = f26, 32
+	stf.spill [r3] = f27, 32
+	mov r9 = 1
+	;;
+	stf.spill [r2] = f28, 32
+	stf.spill [r3] = f29, 32
+	mov rB0 = b0
+	;;
+	stf.spill [r2] = f30, 32
+	stf.spill [r3] = f31, 32
+	mov rB1 = b1
+	;;
+	mov ar.unat = rUNAT	// we're done spilling integer regs; restore caller's UNaT
+	add r2 = SC_NAT, r32
+	add r3 = SC_BSP, r32
+	;;
+	st8 [r2] = rNAT, (SC_RNAT-SC_NAT)
+	st8 [r3] = rBSP, (SC_UNAT-SC_BSP)
+	mov rB2 = b2
+	;;
+	st8 [r2] = rRNAT, (SC_FPSR-SC_RNAT)
+	st8 [r3] = rUNAT, (SC_PFS-SC_UNAT)
+	mov rB3 = b3
+	;;
+	st8 [r2] = rFPSR, (SC_LC-SC_FPSR)
+	st8 [r3] = rPFS, (SC_PR-SC_PFS)
+	mov rB4 = b4
+	;;
+	st8 [r2] = rLC, (SC_BR+0*8-SC_LC)
+	st8 [r3] = rPR, (SC_BR+1*8-SC_PR)
+	mov rB5 = b5
+	;;
+	st8 [r2] = rB0, 16
+	st8 [r3] = rB1, 16
+	;;
+	st8 [r2] = rB2, 16
+	st8 [r3] = rB3, 16
+	;;
+	st8 [r2] = rB4
+	st8 [r3] = rB5
+	ret
+END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c
new file mode 100644
index 0000000000..2207c88c47
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <not-cancel.h>
+
+static int itc_usable;
+
+static int
+has_cpuclock (void)
+{
+  if (__builtin_expect (itc_usable == 0, 0))
+    {
+      int newval = 1;
+      int fd = open_not_cancel_2 ("/proc/sal/itc_drift", O_RDONLY);
+      if (__builtin_expect (fd != -1, 1))
+	{
+	  char buf[16];
+	  /* We expect the file to contain a single digit followed by
+	     a newline.  If the format changes we better not rely on
+	     the file content.  */
+	  if (read_not_cancel (fd, buf, sizeof buf) != 2
+	      || buf[0] != '0' || buf[1] != '\n')
+	    newval = -1;
+
+	  close_not_cancel_no_status (fd);
+	}
+
+      itc_usable = newval;
+    }
+
+  return itc_usable;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ioperm.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ioperm.c
new file mode 100644
index 0000000000..daaba28f09
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ioperm.c
@@ -0,0 +1,201 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+/* I/O access is restricted to ISA port space (ports 0..65535).
+   Modern devices hopefully are sane enough not to put any performance
+   critical registers in i/o space.
+
+   On the first call to ioperm() or iopl(), the entire (E)ISA port
+   space is mapped into the virtual address space at address io.base.
+   mprotect() calls are then used to enable/disable access to ports.
+   Per 4KB page, there are 4 I/O ports.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sys/types.h>
+#include <sys/mman.h>
+
+#define MAX_PORT	0x10000
+
+/*
+ * Memory fence w/accept.  This should never be used in code that is
+ * not IA-64 specific.
+ */
+#define __ia64_mf_a()	__asm__ __volatile__ ("mf.a" ::: "memory")
+
+static struct
+  {
+    unsigned long int base;
+    unsigned long int page_mask;
+  }
+io;
+
+__inline__ unsigned long int
+io_offset (unsigned long int port)
+{
+	return ((port >> 2) << 12) | (port & 0xfff);
+}
+
+int
+_ioperm (unsigned long int from, unsigned long int num, int turn_on)
+{
+  unsigned long int base;
+
+  /* this test isn't as silly as it may look like; consider overflows! */
+  if (from >= MAX_PORT || from + num > MAX_PORT)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  if (turn_on)
+    {
+      if (!io.base)
+	{
+	  unsigned long phys_io_base, len;
+	  int fd;
+
+	  io.page_mask = ~(__getpagesize() - 1);
+
+	  /* get I/O base physical address from ar.k0 as per PRM: */
+	  __asm__ ("mov %0=ar.k0" : "=r"(phys_io_base));
+
+	  /* The O_SYNC flag tells the /dev/mem driver to map the
+             memory uncached: */
+	  fd = __open ("/dev/mem", O_RDWR | O_SYNC);
+	  if (fd < 0)
+	    return -1;
+
+	  len = io_offset (MAX_PORT);
+	  /* see comment below */
+	  base = (unsigned long int) __mmap (0, len, PROT_READ | PROT_WRITE, MAP_SHARED,
+						fd, phys_io_base);
+	  __close (fd);
+
+	  if ((long) base == -1)
+	    return -1;
+
+	  io.base = base;
+	}
+    }
+  else
+    {
+      if (!io.base)
+	return 0;	/* never was turned on... */
+    }
+
+  /* We can't do mprotect because that would cause us to lose the
+     uncached flag that the /dev/mem driver turned on.  A MAP_UNCACHED
+     flag seems so much cleaner...
+
+     See the history of this file for a version that tried mprotect.  */
+  return 0;
+}
+
+int
+_iopl (unsigned int level)
+{
+  if (level > 3)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+  if (level)
+    {
+      int retval = _ioperm (0, MAX_PORT, 1);
+      /* Match the documented error returns of the x86 version.  */
+      if (retval < 0 && errno == EACCES)
+	__set_errno (EPERM);
+      return retval;
+    }
+  return 0;
+}
+
+unsigned int
+_inb (unsigned long int port)
+{
+  volatile unsigned char *addr = (void *) io.base + io_offset (port);
+  unsigned char ret;
+
+  ret = *addr;
+  __ia64_mf_a();
+  return ret;
+}
+
+unsigned int
+_inw (unsigned long int port)
+{
+  volatile unsigned short *addr = (void *) io.base + io_offset (port);
+  unsigned short ret;
+
+  ret = *addr;
+  __ia64_mf_a();
+  return ret;
+}
+
+unsigned int
+_inl (unsigned long int port)
+{
+  volatile unsigned int *addr = (void *) io.base + io_offset (port);
+  unsigned int ret;
+
+  ret = *addr;
+  __ia64_mf_a();
+  return ret;
+}
+
+void
+_outb (unsigned char val, unsigned long int port)
+{
+  volatile unsigned char *addr = (void *) io.base + io_offset (port);
+
+  *addr = val;
+  __ia64_mf_a();
+}
+
+void
+_outw (unsigned short val, unsigned long int port)
+{
+  volatile unsigned short *addr = (void *) io.base + io_offset (port);
+
+  *addr = val;
+  __ia64_mf_a();
+}
+
+void
+_outl (unsigned int val, unsigned long int port)
+{
+  volatile unsigned int *addr = (void *) io.base + io_offset (port);
+
+  *addr = val;
+  __ia64_mf_a();
+}
+
+weak_alias (_ioperm, ioperm);
+weak_alias (_iopl, iopl);
+weak_alias (_inb, inb);
+weak_alias (_inw, inw);
+weak_alias (_inl, inl);
+weak_alias (_outb, outb);
+weak_alias (_outw, outw);
+weak_alias (_outl, outl);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel-features.h
new file mode 100644
index 0000000000..cda0ad6150
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel-features.h
@@ -0,0 +1,29 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2010-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 _KERNEL_FEATURES_H
+#define _KERNEL_FEATURES_H 1
+
+#include_next <kernel-features.h>
+
+#define __ASSUME_RECV_SYSCALL   	1
+#define __ASSUME_SEND_SYSCALL		1
+#define __ASSUME_ACCEPT4_SYSCALL	1
+
+#endif /* _KERNEL_FEATURES_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel_stat.h
new file mode 100644
index 0000000000..945c02930c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/kernel_stat.h
@@ -0,0 +1,21 @@
+/* Definition of `struct stat' used in the kernel.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define STAT_IS_KERNEL_STAT 1
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ld.abilist
new file mode 100644
index 0000000000..9b45d5e90c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldconfig.h
new file mode 100644
index 0000000000..e3a3eecfda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldconfig.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
new file mode 100644
index 0000000000..535d1671e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
@@ -0,0 +1 @@
+s_^\(RTLDLIST=\)\([^ 	]*\)-ia64\(\.so\.[0-9.]*\)[ 	]*$_\1"\2-ia64\3 \2\3"_
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldsodefs.h
new file mode 100644
index 0000000000..b8d82dd7c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ldsodefs.h
@@ -0,0 +1,32 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. IA64.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..21343df781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libc.abilist
new file mode 100644
index 0000000000..39ccf2b5ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -0,0 +1,2194 @@
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _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 ___brk_addr D 0x8
+GLIBC_2.2 __adjtimex F
+GLIBC_2.2 __after_morecore_hook D 0x8
+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 __check_rhosts_file D 0x4
+GLIBC_2.2 __clone2 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 __dgettext F
+GLIBC_2.2 __divdf3 F
+GLIBC_2.2 __divdi3 F
+GLIBC_2.2 __divsf3 F
+GLIBC_2.2 __divtf3 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 0x4
+GLIBC_2.2 __fpurge 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 __moddi3 F
+GLIBC_2.2 __monstartup F
+GLIBC_2.2 __morecore D 0x8
+GLIBC_2.2 __multi3 F
+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 __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 __udivdi3 F
+GLIBC_2.2 __uflow F
+GLIBC_2.2 __umoddi3 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 _inb F
+GLIBC_2.2 _inl F
+GLIBC_2.2 _inw 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 _outb F
+GLIBC_2.2 _outl F
+GLIBC_2.2 _outw 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 0x3e8
+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 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 inb F
+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 inl F
+GLIBC_2.2 innetgr F
+GLIBC_2.2 insque F
+GLIBC_2.2 inw F
+GLIBC_2.2 ioctl F
+GLIBC_2.2 ioperm F
+GLIBC_2.2 iopl 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 outb F
+GLIBC_2.2 outw F
+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 pciconfig_read F
+GLIBC_2.2 pciconfig_write 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 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 0x3e8
+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.2.6 getunwind 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 0x3f0
+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 0x3f0
+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 0x420
+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 0x420
+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/ia64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libm.abilist
new file mode 100644
index 0000000000..d7d80065fb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libm.abilist
@@ -0,0 +1,405 @@
+GLIBC_2.15 GLIBC_2.15 A
+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 __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.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 matherrf F
+GLIBC_2.2.3 matherrl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
new file mode 100644
index 0000000000..d4c8dedd6c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
new file mode 100644
index 0000000000..2d92a35e81
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/librt.abilist
new file mode 100644
index 0000000000..aa32ef3be0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -0,0 +1,53 @@
+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.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/ia64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/localplt.data
new file mode 100644
index 0000000000..fd2b98c8b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/localplt.data
@@ -0,0 +1,17 @@
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: matherr
+libm.so: matherrf
+libm.so: matherrl
+# 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/ia64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/makecontext.c
new file mode 100644
index 0000000000..299f9a85ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/makecontext.c
@@ -0,0 +1,88 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <libintl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+#include <sys/rse.h>
+#include <link.h>
+#include <dl-fptr.h>
+
+
+#define PUSH(val)				\
+do {						\
+  if (ia64_rse_is_rnat_slot (rbs))		\
+    *rbs++ = 0;					\
+  *rbs++ = (val);				\
+} while (0)
+
+
+/* This implementation can handle an ARGC value of at most 8 and
+   values can be passed only in integer registers (r32-r39).  */
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  struct sigcontext *sc = &ucp->uc_mcontext;
+  extern void __start_context (ucontext_t *link, long gp, ...);
+  unsigned long stack_start, stack_end;
+  va_list ap;
+  unsigned long *rbs;
+  int i;
+
+  stack_start = (long) sc->sc_stack.ss_sp;
+  stack_end = (long) sc->sc_stack.ss_sp + sc->sc_stack.ss_size;
+
+  stack_start = (stack_start + 7) & -8;
+  stack_end = stack_end & -16;
+
+  if (argc > 8)
+    {
+      fprintf (stderr, _("\
+makecontext: does not know how to handle more than 8 arguments\n"));
+      exit (-1);
+    }
+
+  /* set the entry point and global pointer: */
+  sc->sc_br[0] = ELF_PTR_TO_FDESC (&__start_context)->ip;
+  sc->sc_br[1] = ELF_PTR_TO_FDESC (func)->ip;
+  sc->sc_gr[1] = ELF_PTR_TO_FDESC (func)->gp;
+
+  /* set up the call frame: */
+  sc->sc_ar_pfs = ((sc->sc_ar_pfs & ~0x3fffffffffUL)
+		   | (argc + 2) | ((argc + 2) << 7));
+  rbs = (unsigned long *) stack_start;
+  PUSH((long) ucp->uc_link);
+  PUSH(ELF_PTR_TO_FDESC (&__start_context)->gp);
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    PUSH(va_arg (ap, long));
+  va_end (ap);
+
+  /* set the memory and register stack pointers: */
+  sc->sc_ar_bsp = (long) rbs;
+  sc->sc_gr[12] = stack_end - 16;
+
+  /* clear the NaT bits for r1 and r12: */
+  sc->sc_nat &= ~((1 << 1) | (1 << 12));
+  sc->sc_ar_rnat = 0;
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pipe.S
new file mode 100644
index 0000000000..1fd75da8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pipe.S
@@ -0,0 +1,37 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger <davidm@hpl.hp.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/>.  */
+
+/* __pipe is a special syscall since it returns two values.  */
+
+#include <sysdep.h>
+
+ENTRY(__pipe)
+       .regstk 1,0,0,0
+       DO_CALL (SYS_ify (pipe))
+       cmp.ne p6,p0=-1,r10
+       ;;
+(p6)   st4 [in0]=r8,4
+(p6)   mov ret0=0
+       ;;
+(p6)   st4 [in0]=r9
+(p6)   ret
+       br.cond.spnt.few __syscall_error
+PSEUDO_END(__pipe)
+
+libc_hidden_def (__pipe)
+weak_alias (__pipe, pipe)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/profil-counter.h
new file mode 100644
index 0000000000..546079d9fc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/profil-counter.h
@@ -0,0 +1,31 @@
+/* Machine-dependent SIGPROF signal handler.  IA-64 version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* In many Unix systems signal handlers are called like this
+   and the interrupted PC is easily findable in the `struct sigcontext'.  */
+
+static void
+__profil_counter (int signr, siginfo_t *si, struct sigcontext *scp)
+{
+  unsigned long ip = scp->sc_ip & ~0X3ULL, slot = scp->sc_ip & 0x3ull;
+
+  /* Note: Linux/ia64 encodes the slot number in bits 0 and 1.  We
+     want to multiply the slot number by four so we can use bins of
+     width 4 to get accurate instruction-level profiling.  */
+  profil_count ((void *) (ip + 4*slot));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pt-vfork.S
new file mode 100644
index 0000000000..8e2eccdca1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/pt-vfork.S
@@ -0,0 +1,48 @@
+/* vfork ABI-compatibility entry points for libpthread.  IA64 version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.  */
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+     || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+LOCAL_LEAF (vfork_compat)
+	br __libc_vfork
+	;;
+END (vfork_compat)
+
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+weak_alias (vfork_compat, vfork)
+compat_symbol (libpthread, vfork_compat, vfork, GLIBC_2_0);
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (vfork_compat, __vfork_compat)
+compat_symbol (libpthread, __vfork_compat, __vfork, GLIBC_2_1_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/readelflib.c
new file mode 100644
index 0000000000..7ef74c0fc3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/readelflib.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname,
+		  void *file_contents, size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret;
+
+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+    return process_elf32_file (file_name, lib, flag, osversion, soname,
+			       file_contents, file_length);
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* Intel 64bit libraries are always libc.so.6+.  */
+      if (!ret)
+	*flag = FLAG_IA64_LIB64|FLAG_ELF_LIBC6;
+      return ret;
+    }
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/register-dump.h
new file mode 100644
index 0000000000..4d0886c92a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/register-dump.h
@@ -0,0 +1,181 @@
+/* Dump registers.
+   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 <string.h>
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ GP:   XXXXXXXXXXXXXXXX R2:   XXXXXXXXXXXXXXXX R3:   XXXXXXXXXXXXXXXX
+ R8:   XXXXXXXXXXXXXXXX R9:   XXXXXXXXXXXXXXXX R10:  XXXXXXXXXXXXXXXX
+ R11:  XXXXXXXXXXXXXXXX SP:   XXXXXXXXXXXXXXXX TP:   XXXXXXXXXXXXXXXX
+ R14:  XXXXXXXXXXXXXXXX R15:  XXXXXXXXXXXXXXXX R16:  XXXXXXXXXXXXXXXX
+ R17:  XXXXXXXXXXXXXXXX R18:  XXXXXXXXXXXXXXXX R19:  XXXXXXXXXXXXXXXX
+ R20:  XXXXXXXXXXXXXXXX R21:  XXXXXXXXXXXXXXXX R22:  XXXXXXXXXXXXXXXX
+ R23:  XXXXXXXXXXXXXXXX R24:  XXXXXXXXXXXXXXXX R25:  XXXXXXXXXXXXXXXX
+ R26:  XXXXXXXXXXXXXXXX R27:  XXXXXXXXXXXXXXXX R28:  XXXXXXXXXXXXXXXX
+ R29:  XXXXXXXXXXXXXXXX R30:  XXXXXXXXXXXXXXXX R31:  XXXXXXXXXXXXXXXX
+
+ RP:   XXXXXXXXXXXXXXXX B6:   XXXXXXXXXXXXXXXX B7:   XXXXXXXXXXXXXXXX
+
+ IP:   XXXXXXXXXXXXXXXX RSC:  XXXXXXXXXXXXXXXX PR:   XXXXXXXXXXXXXXXX
+ PFS:  XXXXXXXXXXXXXXXX UNAT: XXXXXXXXXXXXXXXX CFM:  XXXXXXXXXXXXXXXX
+ CCV:  XXXXXXXXXXXXXXXX FPSR: XXXXXXXXXXXXXXXX
+
+ F32:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX F33:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ F34:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX F35:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+...
+ F124: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX F125: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ F126: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX F127: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ */
+
+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
+regvalue (unsigned long int *value, char letter, int regno, char *buf)
+{
+  int n = regno >= 100 ? 3 : regno >= 10 ? 2 : 1;
+  buf[0] = ' ';
+  buf[1] = letter;
+  _itoa_word (regno, buf + 2 + n, 10, 0);
+  buf[2 + n] = ':';
+  for (++n; n <= 4; ++n)
+    buf[2 + n] = ' ';
+  hexvalue (value[0], buf + 7, 16);
+  if (letter == 'F')
+    {
+      hexvalue (value[1], buf + 7 + 16, 16);
+      buf[7 + 32] = '\n';
+    }
+  else
+    buf[7 + 16] = '\n';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char gpregs[32 - 5][8 + 16];
+  char fpregs[128 - 32][8 + 32];
+  char bpregs[3][8 + 16];
+  char spregs[8][16];
+  struct iovec iov[146];
+  size_t nr = 0;
+  int i;
+
+#define ADD_STRING(str) \
+  do									      \
+    {									      \
+      iov[nr].iov_base = (char *) str;					      \
+      iov[nr].iov_len = strlen (str);					      \
+      ++nr;								      \
+    }									      \
+  while (0)
+#define ADD_MEM(str, len) \
+  do									      \
+    {									      \
+      iov[nr].iov_base = str;						      \
+      iov[nr].iov_len = len;						      \
+      ++nr;								      \
+    }									      \
+  while (0)
+
+  /* Generate strings of register contents.  */
+  for (i = 1; i < 4; ++i)
+    {
+      regvalue (&ctx->sc_gr[i], 'R', i, gpregs[i - 1]);
+      if (ctx->sc_nat & (1L << i))
+        memcpy (gpregs[i - 1] + 7, "NaT             ", 16);
+    }
+  for (i = 8; i < 32; ++i)
+    {
+      regvalue (&ctx->sc_gr[i], 'R', i, gpregs[i - 5]);
+      if (ctx->sc_nat & (1L << i))
+        memcpy (gpregs[i - 1] + 7, "NaT             ", 16);
+    }
+  memcpy (gpregs[0] + 1, "GP:", 3);
+  memcpy (gpregs[7] + 1, "SP: ", 4);
+  memcpy (gpregs[8] + 1, "TP: ", 4);
+
+  regvalue (&ctx->sc_br[0], 'B', 0, bpregs[0]);
+  regvalue (&ctx->sc_br[6], 'B', 6, bpregs[1]);
+  regvalue (&ctx->sc_br[7], 'B', 7, bpregs[2]);
+  memcpy (bpregs[0] + 1, "RP:", 3);
+
+  if (ctx->sc_flags & IA64_SC_FLAG_FPH_VALID)
+    for (i = 32; i < 128; ++i)
+      regvalue (&ctx->sc_fr[i].u.bits[0], 'F', i, fpregs[i - 32]);
+
+  hexvalue (ctx->sc_ip, spregs[0], sizeof (spregs[0]));
+  hexvalue (ctx->sc_ar_rsc, spregs[1], sizeof (spregs[1]));
+  hexvalue (ctx->sc_pr, spregs[2], sizeof (spregs[2]));
+  hexvalue (ctx->sc_ar_pfs, spregs[3], sizeof (spregs[3]));
+  hexvalue (ctx->sc_ar_unat, spregs[4], sizeof (spregs[4]));
+  hexvalue (ctx->sc_cfm, spregs[5], sizeof (spregs[5]));
+  hexvalue (ctx->sc_ar_ccv, spregs[6], sizeof (spregs[6]));
+  hexvalue (ctx->sc_ar_fpsr, spregs[7], sizeof (spregs[7]));
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n");
+
+  for (i = 0; i < 32 - 5; ++i)
+    ADD_MEM (gpregs[i], sizeof (gpregs[0]) - 1 + ((i % 3) == 2));
+  ADD_STRING ("\n");
+
+  for (i = 0; i < 3; ++i)
+    ADD_MEM (bpregs[i], sizeof (bpregs[0]) - 1);
+
+  ADD_STRING ("\n\n IP:   ");
+  ADD_MEM (spregs[0], sizeof (spregs[0]));
+  ADD_STRING (" RSC:  ");
+  ADD_MEM (spregs[1], sizeof (spregs[0]));
+  ADD_STRING (" PR:   ");
+  ADD_MEM (spregs[2], sizeof (spregs[0]));
+  ADD_STRING ("\n PFS:  ");
+  ADD_MEM (spregs[3], sizeof (spregs[0]));
+  ADD_STRING (" UNAT: ");
+  ADD_MEM (spregs[4], sizeof (spregs[0]));
+  ADD_STRING (" CFM:  ");
+  ADD_MEM (spregs[5], sizeof (spregs[0]));
+  ADD_STRING ("\n CCV:  ");
+  ADD_MEM (spregs[6], sizeof (spregs[0]));
+  ADD_STRING (" FPSR: ");
+  ADD_MEM (spregs[7], sizeof (spregs[0]));
+  ADD_STRING ("\n");
+
+  if (ctx->sc_flags & IA64_SC_FLAG_FPH_VALID)
+    {
+      ADD_STRING ("\n");
+
+      for (i = 0; i < 128 - 32; ++i)
+        ADD_MEM (fpregs[i], sizeof (fpregs[0]) - 1 + (i & 1));
+    }
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/rt-sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/rt-sysdep.S
new file mode 100644
index 0000000000..f966bf1e59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/rt-sysdep.S
@@ -0,0 +1 @@
+#include <sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setcontext.S
new file mode 100644
index 0000000000..15a689e1e7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setcontext.S
@@ -0,0 +1,152 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation in intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+ENTRY(__setcontext)
+	.prologue
+	.body
+	alloc r11 = ar.pfs, 1, 0, 4, 0
+
+	// sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL):
+
+	mov r3 = SC_MASK
+	mov out0 = SIG_SETMASK
+	;;
+	add out1 = r3, in0
+	mov out2 = 0
+	mov out3 = 8	// sizeof kernel sigset_t
+
+	invala
+	DO_CALL(__NR_rt_sigprocmask)
+	add r2 = SC_NAT, r32
+
+	add r3 = SC_RNAT, r32			// r3 <- &sc_ar_rnat
+	add rPOS = SC_GR, r32			// rPOS <- &sc_gr[0]
+	;;
+	ld8 rNAT = [r2], (SC_BSP-SC_NAT)
+	extr.u rPOS = rPOS, 3, 6		// get NaT bit number for r0
+	;;
+	ld8 rBSP = [r2], (SC_UNAT-SC_BSP)
+	ld8 rRNAT = [r3], (SC_FPSR-SC_RNAT)
+	/*
+	 * Rotate NaT bits by rPOS positions to the left:
+	 */
+	sub rCPOS = 64, rPOS
+	;;
+	ld8 rUNAT = [r2], (SC_PFS-SC_UNAT)
+	ld8 rFPSR = [r3], (SC_LC-SC_FPSR)
+	shl rTMP = rNAT, rPOS
+	;;
+	ld8 rPFS = [r2], (SC_PR-SC_PFS)
+	ld8 rLC = [r3], (SC_BR+0*8-SC_LC)
+	shr.u rNAT = rNAT, rCPOS
+	;;
+	ld8 rPR = [r2], (SC_BR+1*8-SC_PR)
+	ld8 rB0 = [r3], 16
+	or rNAT = rNAT, rTMP
+	;;
+	ld8 rB1 = [r2], 16
+	ld8 rB2 = [r3], 16
+	;;
+	mov.m ar.unat = rNAT
+	mov.m rRSC = ar.rsc
+	;;
+	ld8 rB3 = [r2], 16
+	ld8 rB4 = [r3], (SC_GR+1*8-(SC_BR+4*8))
+	;;
+	ld8 rB5 = [r2], (SC_GR+4*8-(SC_BR+5*8))
+	ld8.fill r1 = [r3], (5*8 - 1*8)
+	;;
+	ld8.fill r4 = [r2], 16
+	ld8.fill r5 = [r3], 16
+	mov b0 = rB0
+	;;
+	ld8.fill r6 = [r2], 48
+	ld8.fill r7 = [r3], (SC_FR+2*16-(SC_GR+7*8))
+	;;
+	ld8.fill sp = [r2], (SC_FR+3*16-(SC_GR+12*8))
+	mov.m ar.fpsr = rFPSR
+	mov.i ar.pfs = rPFS
+	;;
+	ldf.fill f3 = [r2], 16
+	ldf.fill f2 = [r3], 48
+	mov b1 = rB1
+	;;
+	ldf.fill f4 = [r2], (16*16-4*16)
+	ldf.fill f5 = [r3], (17*16-5*16)
+	mov b2 = rB2
+	;;
+	ldf.fill f16 = [r2], 32
+	ldf.fill f17 = [r3], 32
+	mov b3 = rB3
+	;;
+	ldf.fill f18 = [r2], 32
+	ldf.fill f19 = [r3], 32
+	mov b4 = rB4
+	;;
+	ldf.fill f20 = [r2], 32
+	ldf.fill f21 = [r3], 32
+	mov b5 = rB5
+	;;
+	ldf.fill f22 = [r2], 32
+	ldf.fill f23 = [r3], 32
+	mov r8 = 0
+	;;
+	ldf.fill f24 = [r2], 32
+	ldf.fill f25 = [r3], 32
+	mov r9 = 0
+	;;
+	ldf.fill f26 = [r2], 32
+	ldf.fill f27 = [r3], 32
+	dep rTMP = 0, rRSC, 16, 14	// clear ar.rsc.loadrs
+	;;
+	ldf.fill f28 = [r2], 32
+	ldf.fill f29 = [r3], 32
+	and rTMP = ~0x3, rTMP		// clear ar.rsc.mode
+	;;
+	ldf.fill f30 = [r2], 32
+	ldf.fill f31 = [r3], 32
+	mov pr = rPR, -1
+	;;
+	mov.m ar.rsc = rTMP		// put RSE into enforced lazy mode
+	;;
+	loadrs				// drop dirty partition
+	;;
+	mov.m ar.bspstore = rBSP
+	mov.m ar.unat = rUNAT
+	mov.i ar.lc = rLC
+	;;
+	mov.m ar.rnat = rRNAT
+	mov.m ar.rsc = rRSC
+	ret
+END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setjmp.S
new file mode 100644
index 0000000000..15767e3016
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/setjmp.S
@@ -0,0 +1,198 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.
+
+   The layout of the jmp_buf is as follows.  This is subject to change
+   and user-code should never depend on the particular layout of
+   jmp_buf!
+
+
+	offset:	description:
+	-------	------------
+	0x000	stack pointer (r12)	; unchangeable (see _JMPBUF_UNWINDS)
+	0x008	r1 (gp)
+	0x010	caller's unat
+	0x018	fpsr			; disabled per the C standard; BZ 16379
+	0x020	r4
+	0x028	r5
+	0x030	r6
+	0x038	r7
+	0x040	rp (b0)
+	0x048	b1
+	0x050	b2
+	0x058	b3
+	0x060	b4
+	0x068	b5
+	0x070	ar.pfs
+	0x078	ar.lc
+	0x080	pr
+	0x088	ar.bsp			; unchangeable (see __longjmp.S)
+	0x090	ar.unat
+	0x098	&__jmp_buf	; address of the jmpbuf (needed to locate NaT bits in unat)
+	0x0a0	 f2
+	0x0b0	 f3
+	0x0c0	 f4
+	0x0d0	 f5
+	0x0e0	f16
+	0x0f0	f17
+	0x100	f18
+	0x110	f19
+	0x120	f20
+	0x130	f21
+	0x130	f22
+	0x140	f23
+	0x150	f24
+	0x160	f25
+	0x170	f26
+	0x180	f27
+	0x190	f28
+	0x1a0	f29
+	0x1b0	f30
+	0x1c0	f31 */
+
+#include <sysdep.h>
+#include <features.h>
+
+	/* The following two entry points are the traditional entry points: */
+
+LEAF(setjmp)
+	alloc r8=ar.pfs,2,0,0,0
+	mov in1=1
+	br.cond.sptk.many HIDDEN_JUMPTARGET(__sigsetjmp)
+END(setjmp)
+
+LEAF(_setjmp)
+	alloc r8=ar.pfs,2,0,0,0
+	mov in1=0
+	br.cond.sptk.many HIDDEN_JUMPTARGET(__sigsetjmp)
+END(_setjmp)
+libc_hidden_def (_setjmp)
+
+	/* __sigsetjmp(__jmp_buf buf, int savemask) */
+
+ENTRY(__sigsetjmp)
+	.prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
+	alloc loc1=ar.pfs,2,5,2,0
+	.save ar.unat, loc2
+	mov loc2=ar.unat
+	;;
+//	mov r17=ar.fpsr
+	mov r2=in0
+	add r3=8,in0
+	;;
+.mem.offset 8,0;	st8.spill.nta [r2]=sp,16	// r12 (sp)
+.mem.offset 0,0;	st8.spill.nta [r3]=gp,32	// r1 (gp)
+	;;
+	st8.nta [r2]=loc2,16		// save caller's unat
+//	st8.nta [r3]=r17,16		// save fpsr
+	add r8=0xa0,in0
+	;;
+.mem.offset 8,0;	st8.spill.nta [r2]=r4,16	// r4
+.mem.offset 0,0;	st8.spill.nta [r3]=r5,16	// r5
+	add r9=0xb0,in0
+	;;
+	stf.spill.nta [r8]=f2,32
+	stf.spill.nta [r9]=f3,32
+	mov loc0=rp
+	.body
+	;;
+	stf.spill.nta [r8]=f4,32
+	stf.spill.nta [r9]=f5,32
+	mov r17=b1
+	;;
+	stf.spill.nta [r8]=f16,32
+	stf.spill.nta [r9]=f17,32
+	mov r18=b2
+	;;
+	stf.spill.nta [r8]=f18,32
+	stf.spill.nta [r9]=f19,32
+	mov r19=b3
+	;;
+	stf.spill.nta [r8]=f20,32
+	stf.spill.nta [r9]=f21,32
+	mov r20=b4
+	;;
+	stf.spill.nta [r8]=f22,32
+	stf.spill.nta [r9]=f23,32
+	mov r21=b5
+	;;
+	stf.spill.nta [r8]=f24,32
+	stf.spill.nta [r9]=f25,32
+	mov r22=ar.lc
+	;;
+	stf.spill.nta [r8]=f26,32
+	stf.spill.nta [r9]=f27,32
+	mov r24=pr
+	;;
+	stf.spill.nta [r8]=f28,32
+	stf.spill.nta [r9]=f29,32
+#ifdef PTR_MANGLE
+	mov loc3=loc0
+	;;
+	PTR_MANGLE (loc3, loc4)
+#else
+	;;
+#endif
+	stf.spill.nta [r8]=f30
+	stf.spill.nta [r9]=f31
+
+.mem.offset 8,0;	st8.spill.nta [r2]=r6,16	// r6
+.mem.offset 0,0;	st8.spill.nta [r3]=r7,16	// r7
+	;;
+	mov r23=ar.bsp
+	mov r25=ar.unat
+	mov out0=in0
+
+#ifdef PTR_MANGLE
+	st8.nta [r2]=loc3,16		// b0
+#else
+	st8.nta [r2]=loc0,16		// b0
+#endif
+	st8.nta [r3]=r17,16		// b1
+	mov out1=in1
+	;;
+	st8.nta [r2]=r18,16		// b2
+	st8.nta [r3]=r19,16		// b3
+	;;
+	st8.nta [r2]=r20,16		// b4
+	st8.nta [r3]=r21,16		// b5
+	;;
+	st8.nta [r2]=loc1,16		// ar.pfs
+	st8.nta [r3]=r22,16		// ar.lc
+	;;
+	st8.nta [r2]=r24,16		// pr
+	st8.nta [r3]=r23,16		// ar.bsp
+	;;
+	st8.nta [r2]=r25		// ar.unat
+	st8.nta [r3]=in0		// &__jmp_buf
+#if IS_IN (rtld)
+	/* In ld.so we never save the signal mask.  */
+	;;
+#else
+	br.call.dpnt.few rp=__sigjmp_save
+#endif
+.ret0:					// force a new bundle ::q
+	mov.m ar.unat=loc2		// restore caller's unat
+	mov rp=loc0
+	mov ar.pfs=loc1
+	mov r8=0
+	ret
+END(__sigsetjmp)
+libc_hidden_def (__sigsetjmp)
+rtld_hidden_def (__sigsetjmp)
+
+weak_extern(_setjmp)
+weak_extern(setjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/shlib-versions
new file mode 100644
index 0000000000..37374c0e20
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/shlib-versions
@@ -0,0 +1,8 @@
+libc=6.1		GLIBC_2.2
+libm=6.1		GLIBC_2.2
+
+ld=ld-linux-ia64.so.2	GLIBC_2.2
+
+libBrokenLocale=1	GLIBC_2.2
+
+libpthread=0		GLIBC_2.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaction.c
new file mode 100644
index 0000000000..125ce446bb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaction.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Linux/IA64 specific sigaction
+   Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 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/>.  */
+
+/* Linux/ia64 only has rt signals, thus we do not even want to try falling
+   back to the old style signals as the default Linux handler does. */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The variable is shared between all wrappers around signal handling
+   functions which have RT equivalents.  This is the definition.  */
+
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  return INLINE_SYSCALL (rt_sigaction, 4, sig, act, oact, _NSIG / 8);
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaltstack-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaltstack-offsets.sym
new file mode 100644
index 0000000000..f73446941a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigaltstack-offsets.sym
@@ -0,0 +1,13 @@
+#include <stddef.h>
+#include <signal.h>
+
+--
+
+#define sigaltstack(member)	offsetof (stack_t, member)
+
+sizeSS				sizeof (stack_t)
+oSS_SP				sigaltstack (ss_sp)
+oSS_FLAGS			sigaltstack (ss_flags)
+oSS_SIZE			sigaltstack (ss_size)
+
+SS_ONSTACK
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
new file mode 100644
index 0000000000..943e68a667
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
@@ -0,0 +1,16 @@
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+--
+SC_NAT		offsetof (struct sigcontext, sc_nat)
+SC_BSP		offsetof (struct sigcontext, sc_ar_bsp)
+SC_RNAT		offsetof (struct sigcontext, sc_ar_rnat)
+SC_UNAT		offsetof (struct sigcontext, sc_ar_unat)
+SC_FPSR		offsetof (struct sigcontext, sc_ar_fpsr)
+SC_PFS		offsetof (struct sigcontext, sc_ar_pfs)
+SC_LC		offsetof (struct sigcontext, sc_ar_lc)
+SC_PR		offsetof (struct sigcontext, sc_pr)
+SC_BR		offsetof (struct sigcontext, sc_br)
+SC_GR		offsetof (struct sigcontext, sc_gr)
+SC_FR		offsetof (struct sigcontext, sc_fr)
+SC_MASK		offsetof (struct sigcontext, sc_mask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
new file mode 100644
index 0000000000..37a619090b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SIGCONTEXT siginfo_t *_si, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _si,
+#define GET_PC(ctx)	((ctx)->sc_ip)
+#define GET_FRAME(ctx)	((void *) 0)
+#define GET_STACK(ctx)	((void *) 0)
+
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigpending.c
new file mode 100644
index 0000000000..b1653231de
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigpending.c
@@ -0,0 +1,36 @@
+/* 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/>.  */
+
+/* Linux/ia64 only has rt signals, thus we do not even want to try falling
+   back to the old style signals as the default Linux handler does. */
+
+#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/ia64/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
new file mode 100644
index 0000000000..7e62438b03
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Linux/IA64 specific sigprocmask
+   Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 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/>.  */
+
+/* Linux/ia64 only has rt signals, thus we do not even want to try falling
+   back to the old style signals as the default Linux handler does. */
+
+#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/ia64/swapcontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/swapcontext.c
new file mode 100644
index 0000000000..6f0d7d5f51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/swapcontext.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by David Mosberger-Tang <davidm@hpl.hp.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>
+
+struct rv
+  {
+    long retval;
+    long first_return;
+  };
+
+extern struct rv __getcontext (ucontext_t *__ucp) __THROW;
+extern int __setcontext (const ucontext_t *__ucp) __THROW;
+
+int
+__swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
+{
+  struct rv rv = __getcontext (oucp);
+  if (rv.first_return)
+    __setcontext (ucp);
+  return 0;
+}
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/io.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/io.h
new file mode 100644
index 0000000000..338367ee48
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/io.h
@@ -0,0 +1,67 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef	_SYS_IO_H
+#define	_SYS_IO_H	1
+
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* If TURN_ON is TRUE, request for permission to do direct i/o on the
+   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
+   permission off for that range.  This call requires root privileges.
+
+   Portability note: not all Linux platforms support this call.  Most
+   platforms based on the PC I/O architecture probably will, however.
+   E.g., Linux/Alpha for Alpha PCs supports this.  */
+extern int ioperm (unsigned long int __from, unsigned long int __num,
+		   int __turn_on);
+
+/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
+   access any I/O port is granted.  This call requires root
+   privileges. */
+extern int iopl (int __level);
+
+extern unsigned int _inb (unsigned long int __port);
+extern unsigned int _inb (unsigned long int __port);
+extern unsigned int _inw (unsigned long int __port);
+extern unsigned int _inl (unsigned long int __port);
+extern void _outb (unsigned char __val, unsigned long int __port);
+extern void _outw (unsigned short __val, unsigned long int __port);
+extern void _outl (unsigned int __val, unsigned long int __port);
+
+#define inb	_inb
+#define inw	_inw
+#define inl	_inl
+#define outb	_outb
+#define outw	_outw
+#define outl	_outl
+
+/* Access PCI space protected from machine checks.  */
+extern int pciconfig_read (unsigned long int __bus, unsigned long int __dfn,
+			   unsigned long int __off, unsigned long int __len,
+			   unsigned char *__buf);
+
+extern int pciconfig_write (unsigned long int __bus, unsigned long int __dfn,
+			    unsigned long int __off, unsigned long int __len,
+			    unsigned char *__buf);
+
+__END_DECLS
+
+#endif /* _SYS_IO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/procfs.h
new file mode 100644
index 0000000000..afe54fbd53
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/procfs.h
@@ -0,0 +1,129 @@
+/* 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/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* We really need just 72 but let's leave some headroom...  */
+#define ELF_NGREG	128
+/* f0 and f1 could be omitted, but so what...  */
+#define ELF_NFPREG	128
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef struct __ia64_fpreg elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+typedef elf_greg_t greg_t;
+typedef elf_gregset_t gregset_t;
+typedef elf_fpregset_t fpregset_t;
+#define NGREG ELF_NGREG
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+#if 0
+    long int pr_flags;			/* XXX Process flags.  */
+    short int pr_why;			/* XXX Reason for process halt.  */
+    short int pr_what;			/* XXX More detailed reason.  */
+#endif
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#if 0
+    stack_t pr_altstack;		/* Alternate stack info.  */
+    struct sigaction pr_action;		/* Signal action for current sig.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+#if 0
+    long int pr_instr;			/* Current instruction.  */
+#endif
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef gregset_t prgregset_t;
+typedef fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
new file mode 100644
index 0000000000..c77e6dc683
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
@@ -0,0 +1,227 @@
+/* `ptrace' debugger support interface.  Linux/ia64 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/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <sys/ucontext.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process.
+     This is not supported on all machines.  */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Execute process until next taken branch.  */
+  PTRACE_SINGLEBLOCK = 12,
+#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  /* Get all registers (pt_all_user_regs) in one shot */
+  PTRACE_GETREGS = 18,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all registers (pt_all_user_regs) in one shot */
+  PTRACE_SETREGS = 19,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS.  */
+struct __pt_all_user_regs
+  {
+    unsigned long nat;
+    unsigned long cr_iip;
+    unsigned long cfm;
+    unsigned long cr_ipsr;
+    unsigned long pr;
+
+    unsigned long gr[32];
+    unsigned long br[8];
+    unsigned long ar[128];
+    struct __ia64_fpreg fr[128];
+  };
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/rse.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/rse.h
new file mode 100644
index 0000000000..644f5d3c87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/rse.h
@@ -0,0 +1,77 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by David Mosberger-Tang <davidm@hpl.hp.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/>.  */
+
+#ifndef _ia64_rse_h
+#define _ia64_rse_h
+
+#include <features.h>
+
+/* Register stack engine related helper functions.  This file may be
+   used in applications, so be careful about the name-space and give
+   some consideration to non-GNU C compilers (though __inline is
+   fine). */
+
+static __inline unsigned long
+ia64_rse_slot_num (unsigned long *addr)
+{
+	return (((unsigned long) addr) >> 3) & 0x3f;
+}
+
+/* Return TRUE if ADDR is the address of an RNAT slot.  */
+
+static __inline unsigned long
+ia64_rse_is_rnat_slot (unsigned long *addr)
+{
+	return ia64_rse_slot_num (addr) == 0x3f;
+}
+
+/* Returns the address of the RNAT slot that covers the slot at
+   address SLOT_ADDR.  */
+
+static __inline unsigned long *
+ia64_rse_rnat_addr (unsigned long *slot_addr)
+{
+	return (unsigned long *) ((unsigned long) slot_addr | (0x3f << 3));
+}
+
+/* Calcuate the number of registers in the dirty partition starting at
+   BSPSTORE with a size of DIRTY bytes.  This isn't simply DIRTY
+   divided by eight because the 64th slot is used to store ar.rnat.  */
+
+static __inline unsigned long
+ia64_rse_num_regs (unsigned long *bspstore, unsigned long *bsp)
+{
+	unsigned long slots = (bsp - bspstore);
+
+	return slots - (ia64_rse_slot_num(bspstore) + slots)/0x40;
+}
+
+/* The inverse of the above: given bspstore and the number of
+   registers, calculate ar.bsp.  */
+
+static __inline unsigned long *
+ia64_rse_skip_regs (unsigned long *addr, long num_regs)
+{
+	long delta = ia64_rse_slot_num(addr) + num_regs;
+
+	if (num_regs < 0)
+		delta -= 0x3e;
+	return addr + num_regs + delta/0x3f;
+}
+
+#endif /* _ia64_rse_h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
new file mode 100644
index 0000000000..5ed6929af4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
@@ -0,0 +1,67 @@
+/* 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 _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+/*
+ * These are here mostly for backwards compatibility with older Unices.
+ * IA-64 Linux does not distinguish between "struct sigcontext" and
+ * "ucontext_t" as all the necessary info is inside the former.
+ */
+
+typedef struct sigcontext mcontext_t;
+
+#if __GNUC_PREREQ (3, 5)
+# define _SC_GR0_OFFSET	\
+	__builtin_offsetof (struct sigcontext, sc_gr[0])
+#elif defined __GNUC__
+# define _SC_GR0_OFFSET	\
+	(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)
+#else
+# define _SC_GR0_OFFSET	0xc8	/* pray that this is correct... */
+#endif
+
+typedef struct ucontext
+  {
+    union
+      {
+	mcontext_t _mc;
+	struct
+	  {
+	    unsigned long _pad[_SC_GR0_OFFSET/8];
+	    struct ucontext *_link;	/* this should overlay sc_gr[0] */
+	  }
+	_uc;
+      }
+    _u;
+  }
+ucontext_t;
+
+#define uc_mcontext	_u._mc
+#define uc_sigmask	_u._mc.sc_mask
+#define uc_stack	_u._mc.sc_stack
+#define uc_link		_u._uc._link
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/user.h
new file mode 100644
index 0000000000..859fe9ea39
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sys/user.h
@@ -0,0 +1,47 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+#include <features.h>
+#include <sys/types.h>
+
+/* This definition comes directly from the kernel headers.  If
+   anything changes in them this header has to be changed, too.  */
+
+
+/* The definition in the kernel has the comment "XXX fix me".  */
+#define EF_SIZE		3072
+
+
+struct user
+{
+  unsigned long int regs[EF_SIZE / 8 + 32];	/* Integer and fp regs.  */
+  size_t u_tsize;				/* Text size (pages).  */
+  size_t u_dsize;				/* Data size (pages).  */
+  size_t u_ssize;				/* Stack size (pages).  */
+  unsigned long int start_code;			/* Text starting address.  */
+  unsigned long int start_data;			/* Data starting address.  */
+  unsigned long int start_stack;		/* Stack starting address.  */
+  long int signal;				/* Signal causing core dump. */
+  struct regs *u_ar0;				/* Help gdb find registers.  */
+  unsigned long int magic;			/* Identifies a core file.  */
+  char u_comm[32];				/* User command name.  */
+};
+
+#endif	/* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscall.S
new file mode 100644
index 0000000000..efe50dd2b1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscall.S
@@ -0,0 +1,33 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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>
+
+ENTRY(syscall)
+	/* We are called like so:
+	   {out0,out1,...,out6} registers -> {NR, arg1, ..., arg6}
+	   Shift the register window so that {out1...out6} are available
+	   in {out0...out5} like the kernel syscall handler expects.  */
+	alloc r2=ar.pfs,1,0,8,0
+	mov r15=r32		/* syscall number */
+	break __BREAK_SYSCALL
+	;;
+	cmp.ne p6,p0=-1,r10	/* r10 = -1 on error */
+(p6)	ret
+	br.cond.spnt.few __syscall_error
+PSEUDO_END(syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscalls.list
new file mode 100644
index 0000000000..56f4138c43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/syscalls.list
@@ -0,0 +1,28 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+umount2		-	umount		2	__umount2	umount2
+
+getpriority	-	getpriority	i:ii	__getpriority	getpriority
+
+# proper socket implementations:
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
+
+# DIG-compliant access to PCI configuration space:
+pciconfig_read	EXTRA	pciconfig_read	5	pciconfig_read
+pciconfig_write	EXTRA	pciconfig_write	5	pciconfig_write
+
+ptrace		-	ptrace		4	__ptrace	ptrace
+
+
+# System calls with wrappers.
+
+# IA-64 specific
+getunwind	EXTRA	getunwind	i:pi	getunwind
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysconf.c
new file mode 100644
index 0000000000..88705c0bfb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysconf.c
@@ -0,0 +1,30 @@
+/* Get file-specific information about a file.  Linux/ia64 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+
+#include "has_cpuclock.c"
+#define HAS_CPUCLOCK(name) (has_cpuclock () ? _POSIX_VERSION : -1)
+
+
+/* Now the generic Linux version.  */
+#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
new file mode 100644
index 0000000000..7c7f619edc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
@@ -0,0 +1,223 @@
+/* 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
+
+# if IS_IN (libc)
+#  define SYSDEP_CANCEL_ERRNO __libc_errno
+# else
+#  define SYSDEP_CANCEL_ERRNO errno
+# endif
+# define SYSDEP_CANCEL_ERROR(args)					      \
+.section .gnu.linkonce.t.__syscall_error_##args, "ax";			      \
+     .align 32;								      \
+     .proc __syscall_error_##args;					      \
+     .global __syscall_error_##args;					      \
+     .hidden __syscall_error_##args;					      \
+     .size __syscall_error_##args, 64;					      \
+__syscall_error_##args:							      \
+     .prologue;								      \
+     .regstk args, 5, args, 0;						      \
+     .save ar.pfs, loc0;						      \
+     .save rp, loc1;							      \
+     .body;								      \
+     addl loc4 = @ltoff(@tprel(SYSDEP_CANCEL_ERRNO)), gp;;		      \
+     ld8 loc4 = [loc4];							      \
+     mov rp = loc1;;							      \
+     mov r8 = -1;							      \
+     add loc4 = loc4, r13;;						      \
+     st4 [loc4] = loc3;							      \
+     mov ar.pfs = loc0
+
+# ifndef USE_DL_SYSINFO
+
+#  define PSEUDO(name, syscall_name, args)				      \
+.text;									      \
+ENTRY (name)								      \
+     adds r14 = MULTIPLE_THREADS_OFFSET, r13;;				      \
+     ld4 r14 = [r14];							      \
+     mov r15 = SYS_ify(syscall_name);;					      \
+     cmp4.ne p6, p7 = 0, r14;						      \
+(p6) br.cond.spnt .Lpseudo_cancel;;					      \
+     break __BREAK_SYSCALL;;						      \
+     cmp.eq p6,p0=-1,r10;						      \
+(p6) br.cond.spnt.few __syscall_error;					      \
+     ret;;								      \
+     .endp name;							      \
+     .proc __GC_##name;							      \
+     .globl __GC_##name;						      \
+     .hidden __GC_##name;						      \
+__GC_##name:								      \
+.Lpseudo_cancel:							      \
+     .prologue;								      \
+     .regstk args, 5, args, 0;						      \
+     .save ar.pfs, loc0;						      \
+     alloc loc0 = ar.pfs, args, 5, args, 0;				      \
+     .save rp, loc1;							      \
+     mov loc1 = rp;;							      \
+     .body;								      \
+     CENABLE;;								      \
+     mov loc2 = r8;							      \
+     COPY_ARGS_##args							      \
+     mov r15 = SYS_ify(syscall_name);					      \
+     break __BREAK_SYSCALL;;						      \
+     mov loc3 = r8;							      \
+     mov loc4 = r10;							      \
+     mov out0 = loc2;							      \
+     CDISABLE;;								      \
+     cmp.eq p6,p0=-1,loc4;						      \
+(p6) br.cond.spnt.few __syscall_error_##args;				      \
+     mov r8 = loc3;							      \
+     mov rp = loc1;							      \
+     mov ar.pfs = loc0;							      \
+.Lpseudo_end:								      \
+     ret;								      \
+     .endp __GC_##name;							      \
+     SYSDEP_CANCEL_ERROR(args)
+
+# else /* USE_DL_SYSINFO */
+
+#  define PSEUDO(name, syscall_name, args)				      \
+.text;									      \
+ENTRY (name)								      \
+     .prologue;								      \
+     adds r2 = SYSINFO_OFFSET, r13;					      \
+     adds r14 = MULTIPLE_THREADS_OFFSET, r13;				      \
+     .save ar.pfs, r11;							      \
+     mov r11 = ar.pfs;;							      \
+     .body;								      \
+     ld4 r14 = [r14];							      \
+     ld8 r2 = [r2];							      \
+     mov r15 = SYS_ify(syscall_name);;					      \
+     cmp4.ne p6, p7 = 0, r14;						      \
+     mov b7 = r2;							      \
+(p6) br.cond.spnt .Lpseudo_cancel;					      \
+     br.call.sptk.many b6 = b7;;					      \
+     mov ar.pfs = r11;							      \
+     cmp.eq p6,p0 = -1, r10;						      \
+(p6) br.cond.spnt.few __syscall_error;					      \
+     ret;;								      \
+     .endp name;							      \
+									      \
+      .proc __##syscall_name##_nocancel;				      \
+     .globl __##syscall_name##_nocancel;				      \
+__##syscall_name##_nocancel:						      \
+     .prologue;								      \
+     adds r2 = SYSINFO_OFFSET, r13;					      \
+     .save ar.pfs, r11;							      \
+     mov r11 = ar.pfs;;							      \
+     .body;								      \
+     ld8 r2 = [r2];							      \
+     mov r15 = SYS_ify(syscall_name);;					      \
+     mov b7 = r2;							      \
+     br.call.sptk.many b6 = b7;;					      \
+     mov ar.pfs = r11;							      \
+     cmp.eq p6,p0 = -1, r10;						      \
+(p6) br.cond.spnt.few __syscall_error;					      \
+     ret;;								      \
+     .endp __##syscall_name##_nocancel;					      \
+									      \
+     .proc __GC_##name;							      \
+     .globl __GC_##name;						      \
+     .hidden __GC_##name;						      \
+__GC_##name:								      \
+.Lpseudo_cancel:							      \
+     .prologue;								      \
+     .regstk args, 5, args, 0;						      \
+     .save ar.pfs, loc0;						      \
+     alloc loc0 = ar.pfs, args, 5, args, 0;				      \
+     adds loc4 = SYSINFO_OFFSET, r13;					      \
+     .save rp, loc1;							      \
+     mov loc1 = rp;;							      \
+     .body;								      \
+     ld8 loc4 = [loc4];							      \
+     CENABLE;;								      \
+     mov loc2 = r8;							      \
+     mov b7 = loc4;							      \
+     COPY_ARGS_##args							      \
+     mov r15 = SYS_ify(syscall_name);					      \
+     br.call.sptk.many b6 = b7;;					      \
+     mov loc3 = r8;							      \
+     mov loc4 = r10;							      \
+     mov out0 = loc2;							      \
+     CDISABLE;;								      \
+     cmp.eq p6,p0=-1,loc4;						      \
+(p6) br.cond.spnt.few __syscall_error_##args;				      \
+     mov r8 = loc3;							      \
+     mov rp = loc1;							      \
+     mov ar.pfs = loc0;							      \
+.Lpseudo_end:								      \
+     ret;								      \
+     .endp __GC_##name;							      \
+     SYSDEP_CANCEL_ERROR(args)
+
+# endif /* USE_DL_SYSINFO */
+
+# undef PSEUDO_END
+# define PSEUDO_END(name) .endp
+
+# if IS_IN (libpthread)
+#  define CENABLE	br.call.sptk.many b0 = __pthread_enable_asynccancel
+#  define CDISABLE	br.call.sptk.many b0 = __pthread_disable_asynccancel
+# elif IS_IN (libc)
+#  define CENABLE	br.call.sptk.many b0 = __libc_enable_asynccancel
+#  define CDISABLE	br.call.sptk.many b0 = __libc_disable_asynccancel
+# elif IS_IN (librt)
+#  define CENABLE	br.call.sptk.many b0 = __librt_enable_asynccancel
+#  define CDISABLE	br.call.sptk.many b0 = __librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+# define COPY_ARGS_0	/* Nothing */
+# define COPY_ARGS_1	COPY_ARGS_0 mov out0 = in0;
+# define COPY_ARGS_2	COPY_ARGS_1 mov out1 = in1;
+# define COPY_ARGS_3	COPY_ARGS_2 mov out2 = in2;
+# define COPY_ARGS_4	COPY_ARGS_3 mov out3 = in3;
+# define COPY_ARGS_5	COPY_ARGS_4 mov out4 = in4;
+# define COPY_ARGS_6	COPY_ARGS_5 mov out5 = in5;
+# define COPY_ARGS_7	COPY_ARGS_6 mov out6 = in6;
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P \
+  adds r14 = MULTIPLE_THREADS_OFFSET, r13 ;; ld4 r14 = [r14] ;; cmp4.ne p6, p7 = 0, r14
+# 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/ia64/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.S
new file mode 100644
index 0000000000..a3004adc00
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.S
@@ -0,0 +1,58 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.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 <sysdep.h>
+#include <features.h>
+#include <tls.h>
+
+ENTRY(__syscall_error)
+#if RTLD_PRIVATE_ERRNO
+	/*
+	 * Note that the gp has to be set properly for this to work.
+	 * As long as all syscalls are in the same load unit
+	 * (executable or shared library) as this routine, we should
+	 * be fine.  Otherwise, we would have to first load the global
+	 * pointer register from __gp.
+	 */
+	addl	r2=@gprel(rtld_errno),gp
+	;;
+	st4	[r2]=r8
+	mov	r8=-1
+#else
+# if IS_IN (libc)
+#  define SYSCALL_ERROR_ERRNO __libc_errno
+# else
+#  define SYSCALL_ERROR_ERRNO errno
+# endif
+	addl	r2=@ltoff(@tprel(SYSCALL_ERROR_ERRNO)), gp;;
+	ld8	r2=[r2]
+	mov	r3=r8;;
+	mov	r8=-1
+	add	r2=r2,r13;;
+	st4	[r2]=r3
+#endif
+	ret			// ret is #define'd in syscall.h!
+END(__syscall_error)
+
+ENTRY(__ia64_syscall)
+	mov r15=r37		/* syscall number */
+	break __BREAK_SYSCALL
+	cmp.eq p6,p0=-1,r10	/* r10 = -1 on error */
+(p6)	br.cond.spnt.few __syscall_error
+	ret
+PSEUDO_END(__ia64_syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.h
new file mode 100644
index 0000000000..c7665bae4e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/sysdep.h
@@ -0,0 +1,387 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
+   Based on code originally written by David Mosberger-Tang
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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_IA64_SYSDEP_H
+#define _LINUX_IA64_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/ia64/sysdep.h>
+#include <dl-sysdep.h>
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* As of GAS v2.4.90.0.7, including a ".align" directive inside a
+   function will cause bad unwind info to be emitted (GAS doesn't know
+   how to account for the padding introduced by the .align directive).
+   Turning on this macro will work around this bug by introducing the
+   necessary padding explicitly. */
+#define GAS_ALIGN_BREAKS_UNWIND_INFO
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+/* 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
+
+/* This is to help the old kernel headers where __NR_semtimedop is not
+   available.  */
+#ifndef __NR_semtimedop
+# define __NR_semtimedop 1247
+#endif
+
+#if defined USE_DL_SYSINFO \
+	&& (IS_IN (libc) \
+	    || IS_IN (libpthread) || IS_IN (librt))
+# define IA64_USE_NEW_STUB
+#else
+# undef IA64_USE_NEW_STUB
+#endif
+
+#ifdef __ASSEMBLER__
+
+#undef CALL_MCOUNT
+#ifdef PROF
+# define CALL_MCOUNT							\
+	.data;								\
+1:	data8 0;	/* XXX fixme: use .xdata8 once labels work */	\
+	.previous;							\
+	.prologue;							\
+	.save ar.pfs, r40;						\
+	alloc out0 = ar.pfs, 8, 0, 4, 0;				\
+	mov out1 = gp;							\
+	.save rp, out2;							\
+	mov out2 = rp;							\
+	.body;								\
+	;;								\
+	addl out3 = @ltoff(1b), gp;					\
+	br.call.sptk.many rp = _mcount					\
+	;;
+#else
+# define CALL_MCOUNT	/* Do nothing. */
+#endif
+
+/* Linux uses a negative return value to indicate syscall errors, unlike
+   most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be negative
+   even if the call succeeded.  E.g., the `lseek' system call might return
+   a large offset.  Therefore we must not anymore test for < 0, but test
+   for a real error by making sure the value in %d0 is a real error
+   number.  Linus said he will make sure the no syscall returns a value
+   in -1 .. -4095 as a valid result so we can savely test with -4095.  */
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+#define SYSCALL_ERROR_LABEL __syscall_error
+
+#undef PSEUDO
+#define	PSEUDO(name, syscall_name, args)	\
+  ENTRY(name)					\
+    DO_CALL (SYS_ify(syscall_name));		\
+	cmp.eq p6,p0=-1,r10;			\
+(p6)	br.cond.spnt.few __syscall_error;
+
+#define DO_CALL_VIA_BREAK(num)			\
+	mov r15=num;				\
+	break __BREAK_SYSCALL
+
+#ifdef IA64_USE_NEW_STUB
+# ifdef SHARED
+#  define DO_CALL(num)				\
+	.prologue;				\
+	adds r2 = SYSINFO_OFFSET, r13;;		\
+	ld8 r2 = [r2];				\
+	.save ar.pfs, r11;			\
+	mov r11 = ar.pfs;;			\
+	.body;					\
+	mov r15 = num;				\
+	mov b7 = r2;				\
+	br.call.sptk.many b6 = b7;;		\
+	.restore sp;				\
+	mov ar.pfs = r11;			\
+	.prologue;				\
+	.body
+# else /* !SHARED */
+#  define DO_CALL(num)				\
+	.prologue;				\
+	mov r15 = num;				\
+	movl r2 = _dl_sysinfo;;			\
+	ld8 r2 = [r2];				\
+	.save ar.pfs, r11;			\
+	mov r11 = ar.pfs;;			\
+	.body;					\
+	mov b7 = r2;				\
+	br.call.sptk.many b6 = b7;;		\
+	.restore sp;				\
+	mov ar.pfs = r11;			\
+	.prologue;				\
+	.body
+# endif
+#else
+# define DO_CALL(num)				DO_CALL_VIA_BREAK(num)
+#endif
+
+#undef PSEUDO_END
+#define PSEUDO_END(name)	.endp C_SYMBOL_NAME(name);
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)	\
+  ENTRY(name)						\
+    DO_CALL (SYS_ify(syscall_name));
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name)	.endp C_SYMBOL_NAME(name);
+
+#undef PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args)	\
+  ENTRY(name)					\
+    DO_CALL (SYS_ify(syscall_name));		\
+	cmp.eq p6,p0=-1,r10;			\
+(p6)	mov r10=r8;
+
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name)	.endp C_SYMBOL_NAME(name);
+
+#undef END
+#define END(name)						\
+	.size	C_SYMBOL_NAME(name), . - C_SYMBOL_NAME(name) ;	\
+	.endp	C_SYMBOL_NAME(name)
+
+#define ret			br.ret.sptk.few b0
+#define ret_NOERRNO		ret
+#define ret_ERRVAL		ret
+
+#else /* not __ASSEMBLER__ */
+
+#define BREAK_INSN_1(num) "break " #num ";;\n\t"
+#define BREAK_INSN(num) BREAK_INSN_1(num)
+
+/* On IA-64 we have stacked registers for passing arguments.  The
+   "out" registers end up being the called function's "in"
+   registers.
+
+   Also, since we have plenty of registers we have two return values
+   from a syscall.  r10 is set to -1 on error, whilst r8 contains the
+   (non-negative) errno on error or the return value on success.
+ */
+
+#ifdef IA64_USE_NEW_STUB
+
+# define DO_INLINE_SYSCALL_NCS(name, nr, args...)			      \
+    LOAD_ARGS_##nr (args)						      \
+    register long _r8 __asm ("r8");					      \
+    register long _r10 __asm ("r10");					      \
+    register long _r15 __asm ("r15") = name;				      \
+    register void *_b7 __asm ("b7") = ((tcbhead_t *)__thread_self)->__private;\
+    long _retval;							      \
+    LOAD_REGS_##nr							      \
+    /*									      \
+     * Don't specify any unwind info here.  We mark ar.pfs as		      \
+     * clobbered.  This will force the compiler to save ar.pfs		      \
+     * somewhere and emit appropriate unwind info for that save.	      \
+     */									      \
+    __asm __volatile ("br.call.sptk.many b6=%0;;\n"			      \
+		      : "=b"(_b7), "=r" (_r8), "=r" (_r10), "=r" (_r15)	      \
+			ASM_OUTARGS_##nr				      \
+		      : "0" (_b7), "3" (_r15) ASM_ARGS_##nr		      \
+		      : "memory", "ar.pfs" ASM_CLOBBERS_##nr);		      \
+    _retval = _r8;
+
+#else /* !IA64_USE_NEW_STUB */
+
+# define DO_INLINE_SYSCALL_NCS(name, nr, args...)		\
+    LOAD_ARGS_##nr (args)					\
+    register long _r8 asm ("r8");				\
+    register long _r10 asm ("r10");				\
+    register long _r15 asm ("r15") = name;			\
+    long _retval;						\
+    LOAD_REGS_##nr						\
+    __asm __volatile (BREAK_INSN (__BREAK_SYSCALL)		\
+		      : "=r" (_r8), "=r" (_r10), "=r" (_r15)	\
+			ASM_OUTARGS_##nr			\
+		      : "2" (_r15) ASM_ARGS_##nr		\
+		      : "memory" ASM_CLOBBERS_##nr);		\
+    _retval = _r8;
+
+#endif /* !IA64_USE_NEW_STUB */
+
+#define DO_INLINE_SYSCALL(name, nr, args...)	\
+  DO_INLINE_SYSCALL_NCS (__NR_##name, nr, ##args)
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)		\
+  ({							\
+    DO_INLINE_SYSCALL_NCS (__NR_##name, nr, args)	\
+    if (_r10 == -1)					\
+      {							\
+	__set_errno (_retval);				\
+	_retval = -1;					\
+      }							\
+    _retval; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) long int err __attribute__ ((unused))
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...)	\
+  ({							\
+    DO_INLINE_SYSCALL_NCS (name, nr, args)		\
+    err = _r10;						\
+    _retval; })
+#define INTERNAL_SYSCALL(name, err, nr, args...)	\
+  INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)		\
+  ({ (void) (val);					\
+     (err == -1);					\
+  })
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(val)
+
+#define LOAD_ARGS_0()
+#define LOAD_REGS_0
+#define LOAD_ARGS_1(a1)					\
+  long _arg1 = (long) (a1);				\
+  LOAD_ARGS_0 ()
+#define LOAD_REGS_1					\
+  register long _out0 asm ("out0") = _arg1;		\
+  LOAD_REGS_0
+#define LOAD_ARGS_2(a1, a2)				\
+  long _arg2 = (long) (a2);				\
+  LOAD_ARGS_1 (a1)
+#define LOAD_REGS_2					\
+  register long _out1 asm ("out1") = _arg2;		\
+  LOAD_REGS_1
+#define LOAD_ARGS_3(a1, a2, a3)				\
+  long _arg3 = (long) (a3);				\
+  LOAD_ARGS_2 (a1, a2)
+#define LOAD_REGS_3					\
+  register long _out2 asm ("out2") = _arg3;		\
+  LOAD_REGS_2
+#define LOAD_ARGS_4(a1, a2, a3, a4)			\
+  long _arg4 = (long) (a4);				\
+  LOAD_ARGS_3 (a1, a2, a3)
+#define LOAD_REGS_4					\
+  register long _out3 asm ("out3") = _arg4;		\
+  LOAD_REGS_3
+#define LOAD_ARGS_5(a1, a2, a3, a4, a5)			\
+  long _arg5 = (long) (a5);				\
+  LOAD_ARGS_4 (a1, a2, a3, a4)
+#define LOAD_REGS_5					\
+  register long _out4 asm ("out4") = _arg5;		\
+  LOAD_REGS_4
+#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)		\
+  long _arg6 = (long) (a6);	    			\
+  LOAD_ARGS_5 (a1, a2, a3, a4, a5)
+#define LOAD_REGS_6					\
+  register long _out5 asm ("out5") = _arg6;		\
+  LOAD_REGS_5
+
+#define ASM_OUTARGS_0
+#define ASM_OUTARGS_1	ASM_OUTARGS_0, "=r" (_out0)
+#define ASM_OUTARGS_2	ASM_OUTARGS_1, "=r" (_out1)
+#define ASM_OUTARGS_3	ASM_OUTARGS_2, "=r" (_out2)
+#define ASM_OUTARGS_4	ASM_OUTARGS_3, "=r" (_out3)
+#define ASM_OUTARGS_5	ASM_OUTARGS_4, "=r" (_out4)
+#define ASM_OUTARGS_6	ASM_OUTARGS_5, "=r" (_out5)
+
+#ifdef IA64_USE_NEW_STUB
+#define ASM_ARGS_0
+#define ASM_ARGS_1	ASM_ARGS_0, "4" (_out0)
+#define ASM_ARGS_2	ASM_ARGS_1, "5" (_out1)
+#define ASM_ARGS_3	ASM_ARGS_2, "6" (_out2)
+#define ASM_ARGS_4	ASM_ARGS_3, "7" (_out3)
+#define ASM_ARGS_5	ASM_ARGS_4, "8" (_out4)
+#define ASM_ARGS_6	ASM_ARGS_5, "9" (_out5)
+#else
+#define ASM_ARGS_0
+#define ASM_ARGS_1	ASM_ARGS_0, "3" (_out0)
+#define ASM_ARGS_2	ASM_ARGS_1, "4" (_out1)
+#define ASM_ARGS_3	ASM_ARGS_2, "5" (_out2)
+#define ASM_ARGS_4	ASM_ARGS_3, "6" (_out3)
+#define ASM_ARGS_5	ASM_ARGS_4, "7" (_out4)
+#define ASM_ARGS_6	ASM_ARGS_5, "8" (_out5)
+#endif
+
+#define ASM_CLOBBERS_0	ASM_CLOBBERS_1, "out0"
+#define ASM_CLOBBERS_1	ASM_CLOBBERS_2, "out1"
+#define ASM_CLOBBERS_2	ASM_CLOBBERS_3, "out2"
+#define ASM_CLOBBERS_3	ASM_CLOBBERS_4, "out3"
+#define ASM_CLOBBERS_4	ASM_CLOBBERS_5, "out4"
+#define ASM_CLOBBERS_5	ASM_CLOBBERS_6, "out5"
+#define ASM_CLOBBERS_6_COMMON	, "out6", "out7",			\
+  /* Non-stacked integer registers, minus r8, r10, r15.  */		\
+  "r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18",	\
+  "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",	\
+  "r28", "r29", "r30", "r31",						\
+  /* Predicate registers.  */						\
+  "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15",	\
+  /* Non-rotating fp registers.  */					\
+  "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",	\
+  /* Branch registers.  */						\
+  "b6"
+
+#ifdef IA64_USE_NEW_STUB
+# define ASM_CLOBBERS_6	ASM_CLOBBERS_6_COMMON
+#else
+# define ASM_CLOBBERS_6	ASM_CLOBBERS_6_COMMON , "b7"
+#endif
+
+#endif /* not __ASSEMBLER__ */
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+        add	tmpreg=-16,r13		\
+        ;;				\
+        ld8	tmpreg=[tmpreg]		\
+        ;;				\
+        xor	reg=reg, tmpreg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)	PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* linux/ia64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/system.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/system.c
new file mode 100644
index 0000000000..7fd5c18864
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/system.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* We have to and actually can handle cancelable system().  The big
+   problem: we have to kill the child process if necessary.  To do
+   this a cleanup handler has to be registered and is has to be able
+   to find the PID of the child.  The main problem is to reliable have
+   the PID when needed.  It is not necessary for the parent thread to
+   return.  It might still be in the kernel when the cancellation
+   request comes.  Therefore we have to use the clone() calls ability
+   to have the kernel write the PID into the user-level variable.  */
+#define FORK() \
+  INLINE_SYSCALL (clone2, 6, CLONE_PARENT_SETTID | SIGCHLD, NULL, 0, \
+		  &pid, NULL, NULL)
+
+#include <sysdeps/unix/sysv/linux/system.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_create.c
new file mode 100644
index 0000000000..d307135003
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_delete.c
new file mode 100644
index 0000000000..2dd94f5c7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_getoverr.c
new file mode 100644
index 0000000000..22eaff5cda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_gettime.c
new file mode 100644
index 0000000000..cea524bae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/timer_settime.c
new file mode 100644
index 0000000000..fa231149d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/ia64/tst-setcontext2.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/tst-setcontext2.c
new file mode 100644
index 0000000000..c2a3fa9797
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/tst-setcontext2.c
@@ -0,0 +1,24 @@
+/* Work around incorrect type of IA64 uc_sigmask.
+   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 <signal.h>
+
+#undef sigismember
+#define sigismember(set, signo) sigismember ((const sigset_t *) (set), (signo))
+
+#include <stdlib/tst-setcontext2.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ucontext_i.h b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ucontext_i.h
new file mode 100644
index 0000000000..507a1d8f01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/ucontext_i.h
@@ -0,0 +1,46 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by David Mosberger-Tang <davidm@hpl.hp.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 SIG_BLOCK	0
+#define SIG_UNBLOCK	1
+#define SIG_SETMASK	2
+
+#include <sigcontext-offsets.h>
+
+#define rTMP	r16
+#define rPOS	r16
+#define rCPOS	r17
+#define rNAT	r18
+
+#define rB5	r18
+#define rB4	r19
+#define rB3	r20
+#define rB2	r21
+#define rB1	r22
+#define rB0	r23
+#define rRSC	r24
+#define rBSP	r25
+#define rRNAT	r26
+#define rUNAT	r27
+#define rFPSR	r28
+#define rPFS	r29
+#define rLC	r30
+#define rPR	r31
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/umount.c
new file mode 100644
index 0000000000..82022410a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/umount.c
@@ -0,0 +1,29 @@
+/* umount system call for Linux/ia64.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/mount.h>
+#include <errno.h>
+
+#include <sysdep.h>
+
+/* Unmount a filesystem.  */
+int
+umount (const char *special_file)
+{
+  return INLINE_SYSCALL (umount, 2, special_file, 0);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c
new file mode 100644
index 0000000000..15d12abfce
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c
@@ -0,0 +1 @@
+/* Linux/ia64 does not need unwind table registry. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c
new file mode 100644
index 0000000000..982e5fe057
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003-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 <dlfcn.h>
+#include <stdio.h>
+#include <unwind.h>
+#include <pthreadP.h>
+
+static _Unwind_Word (*libgcc_s_getbsp) (struct _Unwind_Context *);
+
+#define ARCH_CANCEL_INIT(handle) \
+  ((libgcc_s_getbsp = __libc_dlsym (handle, "_Unwind_GetBSP")) == NULL)
+
+#include <sysdeps/nptl/unwind-forcedunwind.c>
+
+_Unwind_Word
+_Unwind_GetBSP (struct _Unwind_Context *context)
+{
+  if (__builtin_expect (libgcc_s_getbsp == NULL, 0))
+    pthread_cancel_init ();
+
+  return libgcc_s_getbsp (context);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c
new file mode 100644
index 0000000000..874ed18d6b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c
@@ -0,0 +1,43 @@
+/* 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 <stddef.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <pthreadP.h>
+#include <jmpbuf-unwind.h>
+
+extern void __sigstack_longjmp (__jmp_buf, int)
+     __attribute__ ((noreturn));
+
+/* Like __libc_siglongjmp(), but safe for crossing from alternate
+   signal stack to normal stack.  Needed by NPTL.  */
+void
+__libc_unwind_longjmp (sigjmp_buf env, int val)
+{
+  /* Perform any cleanups needed by the frames being unwound.  */
+  __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME);
+
+  if (env[0].__mask_was_saved)
+    /* Restore the saved signal mask.  */
+    (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
+			  (sigset_t *) NULL);
+
+  /* Call the machine-dependent function to restore machine state.  */
+  __sigstack_longjmp (env[0].__jmpbuf, val ?: 1);
+}
+hidden_def (__libc_unwind_longjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/vfork.S
new file mode 100644
index 0000000000..64fca5912f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/vfork.S
@@ -0,0 +1,50 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#include <sysdep.h>
+#define _SIGNAL_H
+#include <bits/signum.h>
+#include <tcb-offsets.h>
+
+/* The following are defined in linux/sched.h, which unfortunately	*/
+/* is not safe for inclusion in an assembly file.			*/
+#define CLONE_VM        0x00000100      /* set if VM shared between processes */
+#define CLONE_VFORK     0x00004000      /* set if the parent wants the child to wake it up on mm_release */
+
+/* pid_t vfork(void); */
+/* Implemented as __clone_syscall(CLONE_VFORK | CLONE_VM | SIGCHLD, 0)	*/
+
+ENTRY (__libc_vfork)
+	.prologue	// work around a GAS bug which triggers if
+	.body		// first .prologue is not at the beginning of proc.
+	alloc r2=ar.pfs,0,0,2,0
+	mov out0=CLONE_VM+CLONE_VFORK+SIGCHLD
+	mov out1=0		/* Standard sp value.			*/
+	;;
+	DO_CALL (SYS_ify (clone))
+	cmp.eq p6,p0=0,r8
+(p6)	br.cond.dptk 1f
+1:
+	cmp.eq p6,p0=-1,r10
+(p6)	br.cond.spnt.few __syscall_error
+	ret
+PSEUDO_END (__libc_vfork)
+
+strong_alias (__libc_vfork, __vfork)
+libc_hidden_def (__vfork)
+weak_alias (__vfork, vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ia64/wordexp.c b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/wordexp.c
new file mode 100644
index 0000000000..eaf3a670b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ia64/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/if_index.c b/REORG.TODO/sysdeps/unix/sysv/linux/if_index.c
new file mode 100644
index 0000000000..8ba5eae781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/if_index.c
@@ -0,0 +1,241 @@
+/* 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 <alloca.h>
+#include <errno.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <net/if.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <libc-lock.h>
+#include <not-cancel.h>
+
+#include "netlinkaccess.h"
+
+
+unsigned int
+__if_nametoindex (const char *ifname)
+{
+#ifndef SIOCGIFINDEX
+  __set_errno (ENOSYS);
+  return 0;
+#else
+  struct ifreq ifr;
+  int fd = __opensock ();
+
+  if (fd < 0)
+    return 0;
+
+  strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+  if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
+    {
+      int saved_errno = errno;
+      close_not_cancel_no_status (fd);
+      if (saved_errno == EINVAL)
+	__set_errno (ENOSYS);
+      return 0;
+    }
+  close_not_cancel_no_status (fd);
+  return ifr.ifr_ifindex;
+#endif
+}
+libc_hidden_def (__if_nametoindex)
+weak_alias (__if_nametoindex, if_nametoindex)
+libc_hidden_weak (if_nametoindex)
+
+
+void
+__if_freenameindex (struct if_nameindex *ifn)
+{
+  struct if_nameindex *ptr = ifn;
+  while (ptr->if_name || ptr->if_index)
+    {
+      free (ptr->if_name);
+      ++ptr;
+    }
+  free (ifn);
+}
+libc_hidden_def (__if_freenameindex)
+weak_alias (__if_freenameindex, if_freenameindex)
+libc_hidden_weak (if_freenameindex)
+
+
+static struct if_nameindex *
+if_nameindex_netlink (void)
+{
+  struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
+  struct if_nameindex *idx = NULL;
+
+  if (__netlink_open (&nh) < 0)
+    return NULL;
+
+
+  /* Tell the kernel that we wish to get a list of all
+     active interfaces.  Collect all data for every interface.  */
+  if (__netlink_request (&nh, RTM_GETLINK) < 0)
+    goto exit_free;
+
+  /* Count the interfaces.  */
+  unsigned int nifs = 0;
+  for (struct netlink_res *nlp = nh.nlm_list; nlp; nlp = nlp->next)
+    {
+      struct nlmsghdr *nlh;
+      size_t size = nlp->size;
+
+      if (nlp->nlh == NULL)
+	continue;
+
+      /* Walk through all entries we got from the kernel and look, which
+         message type they contain.  */
+      for (nlh = nlp->nlh; NLMSG_OK (nlh, size); nlh = NLMSG_NEXT (nlh, size))
+	{
+	  /* Check if the message is what we want.  */
+	  if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
+	    continue;
+
+	  if (nlh->nlmsg_type == NLMSG_DONE)
+	    break;		/* ok */
+
+	  if (nlh->nlmsg_type == RTM_NEWLINK)
+	    ++nifs;
+	}
+    }
+
+  idx = malloc ((nifs + 1) * sizeof (struct if_nameindex));
+  if (idx == NULL)
+    {
+    nomem:
+      __set_errno (ENOBUFS);
+      goto exit_free;
+    }
+
+  /* Add the interfaces.  */
+  nifs = 0;
+  for (struct netlink_res *nlp = nh.nlm_list; nlp; nlp = nlp->next)
+    {
+      struct nlmsghdr *nlh;
+      size_t size = nlp->size;
+
+      if (nlp->nlh == NULL)
+	continue;
+
+      /* Walk through all entries we got from the kernel and look, which
+         message type they contain.  */
+      for (nlh = nlp->nlh; NLMSG_OK (nlh, size); nlh = NLMSG_NEXT (nlh, size))
+	{
+	  /* Check if the message is what we want.  */
+	  if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
+	    continue;
+
+	  if (nlh->nlmsg_type == NLMSG_DONE)
+	    break;		/* ok */
+
+	  if (nlh->nlmsg_type == RTM_NEWLINK)
+	    {
+	      struct ifinfomsg *ifim = (struct ifinfomsg *) NLMSG_DATA (nlh);
+	      struct rtattr *rta = IFLA_RTA (ifim);
+	      size_t rtasize = IFLA_PAYLOAD (nlh);
+
+	      idx[nifs].if_index = ifim->ifi_index;
+
+	      while (RTA_OK (rta, rtasize))
+		{
+		  char *rta_data = RTA_DATA (rta);
+		  size_t rta_payload = RTA_PAYLOAD (rta);
+
+		  if (rta->rta_type == IFLA_IFNAME)
+		    {
+		      idx[nifs].if_name = __strndup (rta_data, rta_payload);
+		      if (idx[nifs].if_name == NULL)
+			{
+			  idx[nifs].if_index = 0;
+			  __if_freenameindex (idx);
+			  idx = NULL;
+			  goto nomem;
+			}
+		      break;
+		    }
+
+		  rta = RTA_NEXT (rta, rtasize);
+		}
+
+	      ++nifs;
+	    }
+	}
+    }
+
+  idx[nifs].if_index = 0;
+  idx[nifs].if_name = NULL;
+
+ exit_free:
+  __netlink_free_handle (&nh);
+  __netlink_close (&nh);
+
+  return idx;
+}
+
+
+struct if_nameindex *
+__if_nameindex (void)
+{
+#ifndef SIOCGIFINDEX
+  __set_errno (ENOSYS);
+  return NULL;
+#else
+  struct if_nameindex *result = if_nameindex_netlink ();
+  return result;
+#endif
+}
+weak_alias (__if_nameindex, if_nameindex)
+libc_hidden_weak (if_nameindex)
+
+
+char *
+__if_indextoname (unsigned int ifindex, char *ifname)
+{
+  /* We may be able to do the conversion directly, rather than searching a
+     list.  This ioctl is not present in kernels before version 2.1.50.  */
+  struct ifreq ifr;
+  int fd;
+  int status;
+
+  fd = __opensock ();
+
+  if (fd < 0)
+    return NULL;
+
+  ifr.ifr_ifindex = ifindex;
+  status = __ioctl (fd, SIOCGIFNAME, &ifr);
+
+  close_not_cancel_no_status (fd);
+
+  if (status  < 0)
+    {
+      if (errno == ENODEV)
+	/* POSIX requires ENXIO.  */
+	__set_errno (ENXIO);
+
+      return NULL;
+    }
+  else
+    return strncpy (ifname, ifr.ifr_name, IFNAMSIZ);
+}
+weak_alias (__if_indextoname, if_indextoname)
+libc_hidden_weak (if_indextoname)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ifaddrs.c b/REORG.TODO/sysdeps/unix/sysv/linux/ifaddrs.c
new file mode 100644
index 0000000000..3bc9902863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ifaddrs.c
@@ -0,0 +1,846 @@
+/* getifaddrs -- get names and addresses of all network interfaces
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <alloca.h>
+#include <assert.h>
+#include <errno.h>
+#include <ifaddrs.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <netpacket/packet.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <sysdep.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "netlinkaccess.h"
+
+
+/* There is a problem with this type.  The address length for
+   Infiniband sockets is much longer than the 8 bytes allocated in the
+   sockaddr_ll definition.  Hence we use here a special
+   definition.  */
+struct sockaddr_ll_max
+  {
+    unsigned short int sll_family;
+    unsigned short int sll_protocol;
+    int sll_ifindex;
+    unsigned short int sll_hatype;
+    unsigned char sll_pkttype;
+    unsigned char sll_halen;
+    unsigned char sll_addr[24];
+  };
+
+
+/* struct to hold the data for one ifaddrs entry, so we can allocate
+   everything at once.  */
+struct ifaddrs_storage
+{
+  struct ifaddrs ifa;
+  union
+  {
+    /* Save space for the biggest of the four used sockaddr types and
+       avoid a lot of casts.  */
+    struct sockaddr sa;
+    struct sockaddr_ll_max sl;
+    struct sockaddr_in s4;
+    struct sockaddr_in6 s6;
+  } addr, netmask, broadaddr;
+  char name[IF_NAMESIZE + 1];
+};
+
+
+void
+__netlink_free_handle (struct netlink_handle *h)
+{
+  struct netlink_res *ptr;
+  int saved_errno = errno;
+
+  ptr = h->nlm_list;
+  while (ptr != NULL)
+    {
+      struct netlink_res *tmpptr;
+
+      tmpptr = ptr->next;
+      free (ptr);
+      ptr = tmpptr;
+    }
+
+  __set_errno (saved_errno);
+}
+
+
+static int
+__netlink_sendreq (struct netlink_handle *h, int type)
+{
+  struct req
+  {
+    struct nlmsghdr nlh;
+    struct rtgenmsg g;
+    char pad[0];
+  } req;
+  struct sockaddr_nl nladdr;
+
+  if (h->seq == 0)
+    h->seq = time (NULL);
+
+  req.nlh.nlmsg_len = sizeof (req);
+  req.nlh.nlmsg_type = type;
+  req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
+  req.nlh.nlmsg_pid = 0;
+  req.nlh.nlmsg_seq = h->seq;
+  req.g.rtgen_family = AF_UNSPEC;
+  if (sizeof (req) != offsetof (struct req, pad))
+    memset (req.pad, '\0', sizeof (req) - offsetof (struct req, pad));
+
+  memset (&nladdr, '\0', sizeof (nladdr));
+  nladdr.nl_family = AF_NETLINK;
+
+  return TEMP_FAILURE_RETRY (__sendto (h->fd, (void *) &req, sizeof (req), 0,
+				       (struct sockaddr *) &nladdr,
+				       sizeof (nladdr)));
+}
+
+
+int
+__netlink_request (struct netlink_handle *h, int type)
+{
+  struct netlink_res *nlm_next;
+  struct sockaddr_nl nladdr;
+  struct nlmsghdr *nlmh;
+  ssize_t read_len;
+  bool done = false;
+
+#ifdef PAGE_SIZE
+  /* Help the compiler optimize out the malloc call if PAGE_SIZE
+     is constant and smaller or equal to PTHREAD_STACK_MIN/4.  */
+  const size_t buf_size = PAGE_SIZE;
+#else
+  const size_t buf_size = __getpagesize ();
+#endif
+  bool use_malloc = false;
+  char *buf;
+
+  if (__libc_use_alloca (buf_size))
+    buf = alloca (buf_size);
+  else
+    {
+      buf = malloc (buf_size);
+      if (buf != NULL)
+	use_malloc = true;
+      else
+	goto out_fail;
+    }
+
+  struct iovec iov = { buf, buf_size };
+
+  if (__netlink_sendreq (h, type) < 0)
+    goto out_fail;
+
+  while (! done)
+    {
+      struct msghdr msg =
+	{
+	  .msg_name = (void *) &nladdr,
+	  .msg_namelen =  sizeof (nladdr),
+	  .msg_iov = &iov,
+	  .msg_iovlen = 1,
+	  .msg_control = NULL,
+	  .msg_controllen = 0,
+	  .msg_flags = 0
+	};
+
+      read_len = TEMP_FAILURE_RETRY (__recvmsg (h->fd, &msg, 0));
+      __netlink_assert_response (h->fd, read_len);
+      if (read_len < 0)
+	goto out_fail;
+
+      if (nladdr.nl_pid != 0)
+	continue;
+
+      if (__glibc_unlikely (msg.msg_flags & MSG_TRUNC))
+	goto out_fail;
+
+      size_t count = 0;
+      size_t remaining_len = read_len;
+      for (nlmh = (struct nlmsghdr *) buf;
+	   NLMSG_OK (nlmh, remaining_len);
+	   nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, remaining_len))
+	{
+	  if ((pid_t) nlmh->nlmsg_pid != h->pid
+	      || nlmh->nlmsg_seq != h->seq)
+	    continue;
+
+	  ++count;
+	  if (nlmh->nlmsg_type == NLMSG_DONE)
+	    {
+	      /* We found the end, leave the loop.  */
+	      done = true;
+	      break;
+	    }
+	  if (nlmh->nlmsg_type == NLMSG_ERROR)
+	    {
+	      struct nlmsgerr *nlerr = (struct nlmsgerr *) NLMSG_DATA (nlmh);
+	      if (nlmh->nlmsg_len < NLMSG_LENGTH (sizeof (struct nlmsgerr)))
+		errno = EIO;
+	      else
+		errno = -nlerr->error;
+	      goto out_fail;
+	    }
+	}
+
+      /* If there was nothing with the expected nlmsg_pid and nlmsg_seq,
+	 there is no point to record it.  */
+      if (count == 0)
+	continue;
+
+      nlm_next = (struct netlink_res *) malloc (sizeof (struct netlink_res)
+						+ read_len);
+      if (nlm_next == NULL)
+	goto out_fail;
+      nlm_next->next = NULL;
+      nlm_next->nlh = memcpy (nlm_next + 1, buf, read_len);
+      nlm_next->size = read_len;
+      nlm_next->seq = h->seq;
+      if (h->nlm_list == NULL)
+	h->nlm_list = nlm_next;
+      else
+	h->end_ptr->next = nlm_next;
+      h->end_ptr = nlm_next;
+    }
+
+  if (use_malloc)
+    free (buf);
+  return 0;
+
+out_fail:
+  if (use_malloc)
+    free (buf);
+  return -1;
+}
+
+
+void
+__netlink_close (struct netlink_handle *h)
+{
+  /* Don't modify errno.  */
+  INTERNAL_SYSCALL_DECL (err);
+  (void) INTERNAL_SYSCALL (close, err, 1, h->fd);
+}
+
+
+/* Open a NETLINK socket.  */
+int
+__netlink_open (struct netlink_handle *h)
+{
+  struct sockaddr_nl nladdr;
+
+  h->fd = __socket (PF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE);
+  if (h->fd < 0)
+    goto out;
+
+  memset (&nladdr, '\0', sizeof (nladdr));
+  nladdr.nl_family = AF_NETLINK;
+  if (__bind (h->fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) < 0)
+    {
+    close_and_out:
+      __netlink_close (h);
+    out:
+      return -1;
+    }
+  /* Determine the ID the kernel assigned for this netlink connection.
+     It is not necessarily the PID if there is more than one socket
+     open.  */
+  socklen_t addr_len = sizeof (nladdr);
+  if (__getsockname (h->fd, (struct sockaddr *) &nladdr, &addr_len) < 0)
+    goto close_and_out;
+  h->pid = nladdr.nl_pid;
+  return 0;
+}
+
+
+/* We know the number of RTM_NEWLINK entries, so we reserve the first
+   # of entries for this type. All RTM_NEWADDR entries have an index
+   pointer to the RTM_NEWLINK entry.  To find the entry, create
+   a table to map kernel index entries to our index numbers.
+   Since we get at first all RTM_NEWLINK entries, it can never happen
+   that a RTM_NEWADDR index is not known to this map.  */
+static int
+internal_function
+map_newlink (int index, struct ifaddrs_storage *ifas, int *map, int max)
+{
+  int i;
+
+  for (i = 0; i < max; i++)
+    {
+      if (map[i] == -1)
+	{
+	  map[i] = index;
+	  if (i > 0)
+	    ifas[i - 1].ifa.ifa_next = &ifas[i].ifa;
+	  return i;
+	}
+      else if (map[i] == index)
+	return i;
+    }
+
+  /* This means interfaces changed between the reading of the
+     RTM_GETLINK and RTM_GETADDR information.  We have to repeat
+     everything.  */
+  return -1;
+}
+
+
+/* Create a linked list of `struct ifaddrs' structures, one for each
+   network interface on the host machine.  If successful, store the
+   list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
+static int
+getifaddrs_internal (struct ifaddrs **ifap)
+{
+  struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
+  struct netlink_res *nlp;
+  struct ifaddrs_storage *ifas;
+  unsigned int i, newlink, newaddr, newaddr_idx;
+  int *map_newlink_data;
+  size_t ifa_data_size = 0;  /* Size to allocate for all ifa_data.  */
+  char *ifa_data_ptr;	/* Pointer to the unused part of memory for
+				ifa_data.  */
+  int result = 0;
+
+  *ifap = NULL;
+
+  if (__netlink_open (&nh) < 0)
+    return -1;
+
+  /* Tell the kernel that we wish to get a list of all
+     active interfaces, collect all data for every interface.  */
+  if (__netlink_request (&nh, RTM_GETLINK) < 0)
+    {
+      result = -1;
+      goto exit_free;
+    }
+
+  /* Now ask the kernel for all addresses which are assigned
+     to an interface and collect all data for every interface.
+     Since we store the addresses after the interfaces in the
+     list, we will later always find the interface before the
+     corresponding addresses.  */
+  ++nh.seq;
+  if (__netlink_request (&nh, RTM_GETADDR) < 0)
+    {
+      result = -1;
+      goto exit_free;
+    }
+
+  /* Count all RTM_NEWLINK and RTM_NEWADDR entries to allocate
+     enough memory.  */
+  newlink = newaddr = 0;
+  for (nlp = nh.nlm_list; nlp; nlp = nlp->next)
+    {
+      struct nlmsghdr *nlh;
+      size_t size = nlp->size;
+
+      if (nlp->nlh == NULL)
+	continue;
+
+      /* Walk through all entries we got from the kernel and look, which
+	 message type they contain.  */
+      for (nlh = nlp->nlh; NLMSG_OK (nlh, size); nlh = NLMSG_NEXT (nlh, size))
+	{
+	  /* Check if the message is what we want.  */
+	  if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
+	    continue;
+
+	  if (nlh->nlmsg_type == NLMSG_DONE)
+	    break;		/* ok */
+
+	  if (nlh->nlmsg_type == RTM_NEWLINK)
+	    {
+	      /* A RTM_NEWLINK message can have IFLA_STATS data. We need to
+		 know the size before creating the list to allocate enough
+		 memory.  */
+	      struct ifinfomsg *ifim = (struct ifinfomsg *) NLMSG_DATA (nlh);
+	      struct rtattr *rta = IFLA_RTA (ifim);
+	      size_t rtasize = IFLA_PAYLOAD (nlh);
+
+	      while (RTA_OK (rta, rtasize))
+		{
+		  size_t rta_payload = RTA_PAYLOAD (rta);
+
+		  if (rta->rta_type == IFLA_STATS)
+		    {
+		      ifa_data_size += rta_payload;
+		      break;
+		    }
+		  else
+		    rta = RTA_NEXT (rta, rtasize);
+		}
+	      ++newlink;
+	    }
+	  else if (nlh->nlmsg_type == RTM_NEWADDR)
+	    ++newaddr;
+	}
+    }
+
+  /* Return if no interface is up.  */
+  if ((newlink + newaddr) == 0)
+    goto exit_free;
+
+  /* Allocate memory for all entries we have and initialize next
+     pointer.  */
+  ifas = (struct ifaddrs_storage *) calloc (1,
+					    (newlink + newaddr)
+					    * sizeof (struct ifaddrs_storage)
+					    + ifa_data_size);
+  if (ifas == NULL)
+    {
+      result = -1;
+      goto exit_free;
+    }
+
+  /* Table for mapping kernel index to entry in our list.  */
+  map_newlink_data = alloca (newlink * sizeof (int));
+  memset (map_newlink_data, '\xff', newlink * sizeof (int));
+
+  ifa_data_ptr = (char *) &ifas[newlink + newaddr];
+  newaddr_idx = 0;		/* Counter for newaddr index.  */
+
+  /* Walk through the list of data we got from the kernel.  */
+  for (nlp = nh.nlm_list; nlp; nlp = nlp->next)
+    {
+      struct nlmsghdr *nlh;
+      size_t size = nlp->size;
+
+      if (nlp->nlh == NULL)
+	continue;
+
+      /* Walk through one message and look at the type: If it is our
+	 message, we need RTM_NEWLINK/RTM_NEWADDR and stop if we reach
+	 the end or we find the end marker (in this case we ignore the
+	 following data.  */
+      for (nlh = nlp->nlh; NLMSG_OK (nlh, size); nlh = NLMSG_NEXT (nlh, size))
+	{
+	  int ifa_index = 0;
+
+	  /* Check if the message is the one we want */
+	  if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
+	    continue;
+
+	  if (nlh->nlmsg_type == NLMSG_DONE)
+	    break;		/* ok */
+
+	  if (nlh->nlmsg_type == RTM_NEWLINK)
+	    {
+	      /* We found a new interface. Now extract everything from the
+		 interface data we got and need.  */
+	      struct ifinfomsg *ifim = (struct ifinfomsg *) NLMSG_DATA (nlh);
+	      struct rtattr *rta = IFLA_RTA (ifim);
+	      size_t rtasize = IFLA_PAYLOAD (nlh);
+
+	      /* Interfaces are stored in the first "newlink" entries
+		 of our list, starting in the order as we got from the
+		 kernel.  */
+	      ifa_index = map_newlink (ifim->ifi_index - 1, ifas,
+				       map_newlink_data, newlink);
+	      if (__glibc_unlikely (ifa_index == -1))
+		{
+		try_again:
+		  result = -EAGAIN;
+		  free (ifas);
+		  goto exit_free;
+		}
+	      ifas[ifa_index].ifa.ifa_flags = ifim->ifi_flags;
+
+	      while (RTA_OK (rta, rtasize))
+		{
+		  char *rta_data = RTA_DATA (rta);
+		  size_t rta_payload = RTA_PAYLOAD (rta);
+
+		  switch (rta->rta_type)
+		    {
+		    case IFLA_ADDRESS:
+		      if (rta_payload <= sizeof (ifas[ifa_index].addr))
+			{
+			  ifas[ifa_index].addr.sl.sll_family = AF_PACKET;
+			  memcpy (ifas[ifa_index].addr.sl.sll_addr,
+				  (char *) rta_data, rta_payload);
+			  ifas[ifa_index].addr.sl.sll_halen = rta_payload;
+			  ifas[ifa_index].addr.sl.sll_ifindex
+			    = ifim->ifi_index;
+			  ifas[ifa_index].addr.sl.sll_hatype = ifim->ifi_type;
+
+			  ifas[ifa_index].ifa.ifa_addr
+			    = &ifas[ifa_index].addr.sa;
+			}
+		      break;
+
+		    case IFLA_BROADCAST:
+		      if (rta_payload <= sizeof (ifas[ifa_index].broadaddr))
+			{
+			  ifas[ifa_index].broadaddr.sl.sll_family = AF_PACKET;
+			  memcpy (ifas[ifa_index].broadaddr.sl.sll_addr,
+				  (char *) rta_data, rta_payload);
+			  ifas[ifa_index].broadaddr.sl.sll_halen = rta_payload;
+			  ifas[ifa_index].broadaddr.sl.sll_ifindex
+			    = ifim->ifi_index;
+			  ifas[ifa_index].broadaddr.sl.sll_hatype
+			    = ifim->ifi_type;
+
+			  ifas[ifa_index].ifa.ifa_broadaddr
+			    = &ifas[ifa_index].broadaddr.sa;
+			}
+		      break;
+
+		    case IFLA_IFNAME:	/* Name of Interface */
+		      if ((rta_payload + 1) <= sizeof (ifas[ifa_index].name))
+			{
+			  ifas[ifa_index].ifa.ifa_name = ifas[ifa_index].name;
+			  *(char *) __mempcpy (ifas[ifa_index].name, rta_data,
+					       rta_payload) = '\0';
+			}
+		      break;
+
+		    case IFLA_STATS:	/* Statistics of Interface */
+		      ifas[ifa_index].ifa.ifa_data = ifa_data_ptr;
+		      ifa_data_ptr += rta_payload;
+		      memcpy (ifas[ifa_index].ifa.ifa_data, rta_data,
+			      rta_payload);
+		      break;
+
+		    case IFLA_UNSPEC:
+		      break;
+		    case IFLA_MTU:
+		      break;
+		    case IFLA_LINK:
+		      break;
+		    case IFLA_QDISC:
+		      break;
+		    default:
+		      break;
+		    }
+
+		  rta = RTA_NEXT (rta, rtasize);
+		}
+	    }
+	  else if (nlh->nlmsg_type == RTM_NEWADDR)
+	    {
+	      struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlh);
+	      struct rtattr *rta = IFA_RTA (ifam);
+	      size_t rtasize = IFA_PAYLOAD (nlh);
+
+	      /* New Addresses are stored in the order we got them from
+		 the kernel after the interfaces. Theoretically it is possible
+		 that we have holes in the interface part of the list,
+		 but we always have already the interface for this address.  */
+	      ifa_index = newlink + newaddr_idx;
+	      int idx = map_newlink (ifam->ifa_index - 1, ifas,
+				     map_newlink_data, newlink);
+	      if (__glibc_unlikely (idx == -1))
+		goto try_again;
+	      ifas[ifa_index].ifa.ifa_flags = ifas[idx].ifa.ifa_flags;
+	      if (ifa_index > 0)
+		ifas[ifa_index - 1].ifa.ifa_next = &ifas[ifa_index].ifa;
+	      ++newaddr_idx;
+
+	      while (RTA_OK (rta, rtasize))
+		{
+		  char *rta_data = RTA_DATA (rta);
+		  size_t rta_payload = RTA_PAYLOAD (rta);
+
+		  switch (rta->rta_type)
+		    {
+		    case IFA_ADDRESS:
+		      {
+			struct sockaddr *sa;
+
+			if (ifas[ifa_index].ifa.ifa_addr != NULL)
+			  {
+			    /* In a point-to-poing network IFA_ADDRESS
+			       contains the destination address, local
+			       address is supplied in IFA_LOCAL attribute.
+			       destination address and broadcast address
+			       are stored in an union, so it doesn't matter
+			       which name we use.  */
+			    ifas[ifa_index].ifa.ifa_broadaddr
+			      = &ifas[ifa_index].broadaddr.sa;
+			    sa = &ifas[ifa_index].broadaddr.sa;
+			  }
+			else
+			  {
+			    ifas[ifa_index].ifa.ifa_addr
+			      = &ifas[ifa_index].addr.sa;
+			    sa = &ifas[ifa_index].addr.sa;
+			  }
+
+			sa->sa_family = ifam->ifa_family;
+
+			switch (ifam->ifa_family)
+			  {
+			  case AF_INET:
+			    /* Size must match that of an address for IPv4.  */
+			    if (rta_payload == 4)
+			      memcpy (&((struct sockaddr_in *) sa)->sin_addr,
+				      rta_data, rta_payload);
+			    break;
+
+			  case AF_INET6:
+			    /* Size must match that of an address for IPv6.  */
+			    if (rta_payload == 16)
+			      {
+				memcpy (&((struct sockaddr_in6 *) sa)->sin6_addr,
+					rta_data, rta_payload);
+				if (IN6_IS_ADDR_LINKLOCAL (rta_data)
+				    || IN6_IS_ADDR_MC_LINKLOCAL (rta_data))
+				  ((struct sockaddr_in6 *) sa)->sin6_scope_id
+				    = ifam->ifa_index;
+			      }
+			    break;
+
+			  default:
+			    if (rta_payload <= sizeof (ifas[ifa_index].addr))
+			      memcpy (sa->sa_data, rta_data, rta_payload);
+			    break;
+			  }
+		      }
+		      break;
+
+		    case IFA_LOCAL:
+		      if (ifas[ifa_index].ifa.ifa_addr != NULL)
+			{
+			  /* If ifa_addr is set and we get IFA_LOCAL,
+			     assume we have a point-to-point network.
+			     Move address to correct field.  */
+			  ifas[ifa_index].broadaddr = ifas[ifa_index].addr;
+			  ifas[ifa_index].ifa.ifa_broadaddr
+			    = &ifas[ifa_index].broadaddr.sa;
+			  memset (&ifas[ifa_index].addr, '\0',
+				  sizeof (ifas[ifa_index].addr));
+			}
+
+		      ifas[ifa_index].ifa.ifa_addr = &ifas[ifa_index].addr.sa;
+		      ifas[ifa_index].ifa.ifa_addr->sa_family
+			= ifam->ifa_family;
+
+		      switch (ifam->ifa_family)
+			{
+			case AF_INET:
+			  /* Size must match that of an address for IPv4.  */
+			  if (rta_payload == 4)
+			    memcpy (&ifas[ifa_index].addr.s4.sin_addr,
+				  rta_data, rta_payload);
+			  break;
+
+			case AF_INET6:
+			  /* Size must match that of an address for IPv6.  */
+			  if (rta_payload == 16)
+			    {
+			      memcpy (&ifas[ifa_index].addr.s6.sin6_addr,
+				      rta_data, rta_payload);
+			      if (IN6_IS_ADDR_LINKLOCAL (rta_data)
+				  || IN6_IS_ADDR_MC_LINKLOCAL (rta_data))
+				ifas[ifa_index].addr.s6.sin6_scope_id =
+				  ifam->ifa_index;
+			    }
+			  break;
+
+			default:
+			  if (rta_payload <= sizeof (ifas[ifa_index].addr))
+			    memcpy (ifas[ifa_index].addr.sa.sa_data,
+				    rta_data, rta_payload);
+			  break;
+			}
+		      break;
+
+		    case IFA_BROADCAST:
+		      /* We get IFA_BROADCAST, so IFA_LOCAL was too much.  */
+		      if (ifas[ifa_index].ifa.ifa_broadaddr != NULL)
+			memset (&ifas[ifa_index].broadaddr, '\0',
+				sizeof (ifas[ifa_index].broadaddr));
+
+		      ifas[ifa_index].ifa.ifa_broadaddr
+			= &ifas[ifa_index].broadaddr.sa;
+		      ifas[ifa_index].ifa.ifa_broadaddr->sa_family
+			= ifam->ifa_family;
+
+		      switch (ifam->ifa_family)
+			{
+			case AF_INET:
+			  /* Size must match that of an address for IPv4.  */
+			  if (rta_payload == 4)
+			    memcpy (&ifas[ifa_index].broadaddr.s4.sin_addr,
+				    rta_data, rta_payload);
+			  break;
+
+			case AF_INET6:
+			  /* Size must match that of an address for IPv6.  */
+			  if (rta_payload == 16)
+			    {
+			      memcpy (&ifas[ifa_index].broadaddr.s6.sin6_addr,
+				      rta_data, rta_payload);
+			      if (IN6_IS_ADDR_LINKLOCAL (rta_data)
+				  || IN6_IS_ADDR_MC_LINKLOCAL (rta_data))
+				ifas[ifa_index].broadaddr.s6.sin6_scope_id
+				  = ifam->ifa_index;
+			    }
+			  break;
+
+			default:
+			  if (rta_payload <= sizeof (ifas[ifa_index].addr))
+			    memcpy (&ifas[ifa_index].broadaddr.sa.sa_data,
+				    rta_data, rta_payload);
+			  break;
+			}
+		      break;
+
+		    case IFA_LABEL:
+		      if (rta_payload + 1 <= sizeof (ifas[ifa_index].name))
+			{
+			  ifas[ifa_index].ifa.ifa_name = ifas[ifa_index].name;
+			  *(char *) __mempcpy (ifas[ifa_index].name, rta_data,
+					       rta_payload) = '\0';
+			}
+		      else
+			abort ();
+		      break;
+
+		    case IFA_UNSPEC:
+		      break;
+		    case IFA_CACHEINFO:
+		      break;
+		    default:
+		      break;
+		    }
+
+		  rta = RTA_NEXT (rta, rtasize);
+		}
+
+	      /* If we didn't get the interface name with the
+		 address, use the name from the interface entry.  */
+	      if (ifas[ifa_index].ifa.ifa_name == NULL)
+		{
+		  int idx = map_newlink (ifam->ifa_index - 1, ifas,
+					 map_newlink_data, newlink);
+		  if (__glibc_unlikely (idx == -1))
+		    goto try_again;
+		  ifas[ifa_index].ifa.ifa_name = ifas[idx].ifa.ifa_name;
+		}
+
+	      /* Calculate the netmask.  */
+	      if (ifas[ifa_index].ifa.ifa_addr
+		  && ifas[ifa_index].ifa.ifa_addr->sa_family != AF_UNSPEC
+		  && ifas[ifa_index].ifa.ifa_addr->sa_family != AF_PACKET)
+		{
+		  uint32_t max_prefixlen = 0;
+		  char *cp = NULL;
+
+		  ifas[ifa_index].ifa.ifa_netmask
+		    = &ifas[ifa_index].netmask.sa;
+
+		  switch (ifas[ifa_index].ifa.ifa_addr->sa_family)
+		    {
+		    case AF_INET:
+		      cp = (char *) &ifas[ifa_index].netmask.s4.sin_addr;
+		      max_prefixlen = 32;
+		      break;
+
+		    case AF_INET6:
+		      cp = (char *) &ifas[ifa_index].netmask.s6.sin6_addr;
+		      max_prefixlen = 128;
+		      break;
+		    }
+
+		  ifas[ifa_index].ifa.ifa_netmask->sa_family
+		    = ifas[ifa_index].ifa.ifa_addr->sa_family;
+
+		  if (cp != NULL)
+		    {
+		      unsigned int preflen;
+
+		      if (ifam->ifa_prefixlen > max_prefixlen)
+			preflen = max_prefixlen;
+		      else
+			preflen = ifam->ifa_prefixlen;
+
+		      for (i = 0; i < preflen / 8; i++)
+			*cp++ = 0xff;
+		      if (preflen % 8)
+			*cp = 0xff << (8 - preflen % 8);
+		    }
+		}
+	    }
+	}
+    }
+
+  assert (ifa_data_ptr <= (char *) &ifas[newlink + newaddr] + ifa_data_size);
+
+  if (newaddr_idx > 0)
+    {
+      for (i = 0; i < newlink; ++i)
+	if (map_newlink_data[i] == -1)
+	  {
+	    /* We have fewer links then we anticipated.  Adjust the
+	       forward pointer to the first address entry.  */
+	    ifas[i - 1].ifa.ifa_next = &ifas[newlink].ifa;
+	  }
+
+      if (i == 0 && newlink > 0)
+	/* No valid link, but we allocated memory.  We have to
+	   populate the first entry.  */
+	memmove (ifas, &ifas[newlink], sizeof (struct ifaddrs_storage));
+    }
+
+  *ifap = &ifas[0].ifa;
+
+ exit_free:
+  __netlink_free_handle (&nh);
+  __netlink_close (&nh);
+
+  return result;
+}
+
+
+/* Create a linked list of `struct ifaddrs' structures, one for each
+   network interface on the host machine.  If successful, store the
+   list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
+int
+__getifaddrs (struct ifaddrs **ifap)
+{
+  int res;
+
+  do
+    res = getifaddrs_internal (ifap);
+  while (res == -EAGAIN);
+
+  return res;
+}
+weak_alias (__getifaddrs, getifaddrs)
+libc_hidden_weak (getifaddrs)
+
+
+void
+__freeifaddrs (struct ifaddrs *ifa)
+{
+  free (ifa);
+}
+weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_weak (freeifaddrs)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ifreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/ifreq.c
new file mode 100644
index 0000000000..d941ba1a93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ifreq.c
@@ -0,0 +1,74 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 "ifreq.h"
+
+
+void
+__ifreq (struct ifreq **ifreqs, int *num_ifs, int sockfd)
+{
+  int fd = sockfd;
+  struct ifconf ifc;
+  int rq_len;
+  int nifs;
+# define RQ_IFS	4
+
+  if (fd < 0)
+    fd = __opensock ();
+  if (fd < 0)
+    {
+      *num_ifs = 0;
+      *ifreqs = NULL;
+      return;
+    }
+
+  ifc.ifc_buf = NULL;
+
+  /* We may be able to get the needed buffer size directly, rather than
+     guessing.  */
+  ifc.ifc_buf = NULL;
+  ifc.ifc_len = 0;
+  if (__ioctl (fd, SIOCGIFCONF, &ifc) < 0 || ifc.ifc_len == 0)
+    rq_len = RQ_IFS * sizeof (struct ifreq);
+  else
+    rq_len = ifc.ifc_len;
+
+  /* Read all the interfaces out of the kernel.  */
+  ifc.ifc_len = rq_len;
+  void *newp = realloc (ifc.ifc_buf, ifc.ifc_len);
+  if (newp == NULL
+      || (ifc.ifc_buf = newp, __ioctl (fd, SIOCGIFCONF, &ifc)) < 0)
+    {
+      free (ifc.ifc_buf);
+
+      if (fd != sockfd)
+	__close (fd);
+
+      *num_ifs = 0;
+      *ifreqs = NULL;
+      return;
+    }
+
+  nifs = ifc.ifc_len / sizeof (struct ifreq);
+
+  if (fd != sockfd)
+    __close (fd);
+
+  *num_ifs = nifs;
+  *ifreqs = realloc (ifc.ifc_buf, nifs * sizeof (struct ifreq));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/include/bits/syscall.h b/REORG.TODO/sysdeps/unix/sysv/linux/include/bits/syscall.h
new file mode 100644
index 0000000000..3e60262486
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/include/bits/syscall.h
@@ -0,0 +1,3 @@
+/* The real bits/syscall.h is generated during the build, in
+   $(objdir)/misc/bits.  */
+#include <misc/bits/syscall.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/sysinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/sysinfo.h
new file mode 100644
index 0000000000..1fa4969ef8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/sysinfo.h
@@ -0,0 +1,29 @@
+/* Internal declarations for sys/sysinfo.h.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _INCLUDE_SYS_SYSINFO_H
+#define _INCLUDE_SYS_SYSINFO_H	1
+
+#include_next <sys/sysinfo.h>
+
+# ifndef _ISOMAC
+
+extern __typeof (sysinfo) __sysinfo __THROW;
+
+# endif /* _ISOMAC */
+#endif /* sys/sysinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/timex.h b/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/timex.h
new file mode 100644
index 0000000000..28580aef4a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/include/sys/timex.h
@@ -0,0 +1,29 @@
+/* Internal declarations for sys/timex.h.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_INCLUDE_SYS_TIMEX_H
+#define	_INCLUDE_SYS_TIMEX_H	1
+
+#include_next <sys/timex.h>
+
+# ifndef _ISOMAC
+
+libc_hidden_proto (__adjtimex)
+
+# endif /* _ISOMAC */
+#endif /* sys/timex.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs.c
new file mode 100644
index 0000000000..9a17ca5c17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs.c
@@ -0,0 +1,87 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <mntent.h>
+#include <paths.h>
+#include <stdbool.h>
+#include <stdio_ext.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <sys/statvfs.h>
+#include "linux_fsinfo.h"
+#include <kernel-features.h>
+
+
+/* Special internal-only bit value.  */
+#define ST_VALID 0x0020
+
+
+#ifndef STATFS
+# define STATFS statfs
+# define STATVFS statvfs
+# define INTERNAL_STATVFS __internal_statvfs
+#else
+extern int __statvfs_getflags (const char *name, int fstype, int fd);
+#endif
+
+
+void
+INTERNAL_STATVFS (const char *name, struct STATVFS *buf,
+		  struct STATFS *fsbuf, int fd)
+{
+  /* Now fill in the fields we have information for.  */
+  buf->f_bsize = fsbuf->f_bsize;
+  /* Linux has the f_frsize size only in later version of the kernel.
+     If the value is not filled in use f_bsize.  */
+  buf->f_frsize = fsbuf->f_frsize ?: fsbuf->f_bsize;
+  buf->f_blocks = fsbuf->f_blocks;
+  buf->f_bfree = fsbuf->f_bfree;
+  buf->f_bavail = fsbuf->f_bavail;
+  buf->f_files = fsbuf->f_files;
+  buf->f_ffree = fsbuf->f_ffree;
+  if (sizeof (buf->f_fsid) == sizeof (fsbuf->f_fsid))
+    /* The shifting uses 'unsigned long long int' even though the target
+       field might only have 32 bits.  This is OK since the 'if' branch
+       is not used in this case but the compiler would still generate
+       warnings.  */
+    buf->f_fsid = ((fsbuf->f_fsid.__val[0]
+		    & ((1ULL << (8 * sizeof (fsbuf->f_fsid.__val[0]))) - 1))
+		   | ((unsigned long long int) fsbuf->f_fsid.__val[1]
+		      << (8 * (sizeof (buf->f_fsid)
+			       - sizeof (fsbuf->f_fsid.__val[0])))));
+  else
+    /* We cannot help here.  The statvfs element is not large enough to
+       contain both words of the statfs f_fsid field.  */
+    buf->f_fsid = fsbuf->f_fsid.__val[0];
+#ifdef _STATVFSBUF_F_UNUSED
+  buf->__f_unused = 0;
+#endif
+  buf->f_namemax = fsbuf->f_namelen;
+  memset (buf->__f_spare, '\0', sizeof (buf->__f_spare));
+
+  /* What remains to do is to fill the fields f_favail and f_flag.  */
+
+  /* XXX I have no idea how to compute f_favail.  Any idea???  */
+  buf->f_favail = buf->f_ffree;
+
+  buf->f_flag = fsbuf->f_flags ^ ST_VALID;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs64.c
new file mode 100644
index 0000000000..49e7689f8b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/internal_statvfs64.c
@@ -0,0 +1,4 @@
+#define STATFS statfs64
+#define STATVFS statvfs64
+#define INTERNAL_STATVFS __internal_statvfs64
+#include "internal_statvfs.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ipc_ops.h b/REORG.TODO/sysdeps/unix/sysv/linux/ipc_ops.h
new file mode 100644
index 0000000000..078736088a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ipc_ops.h
@@ -0,0 +1,30 @@
+/* The codes for the functions to use the ipc syscall multiplexer.
+   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/>.  */
+
+#define IPCOP_semop	 	1
+#define IPCOP_semget	 	2
+#define IPCOP_semctl	 	3
+#define IPCOP_semtimedop 	4
+#define IPCOP_msgsnd		11
+#define IPCOP_msgrcv		12
+#define IPCOP_msgget		13
+#define IPCOP_msgctl		14
+#define IPCOP_shmat		21
+#define IPCOP_shmdt		22
+#define IPCOP_shmget		23
+#define IPCOP_shmctl		24
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/ipc_priv.h
new file mode 100644
index 0000000000..79315b9da6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ipc_priv.h
@@ -0,0 +1,39 @@
+/* Old SysV permission definition for Linux.  Default version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x100
+
+struct __old_ipc_perm
+{
+  __key_t __key;			/* Key.  */
+  unsigned short int uid;		/* Owner's user ID.  */
+  unsigned short int gid;		/* Owner's group ID.  */
+  unsigned short int cuid;		/* Creator's user ID.  */
+  unsigned short int cgid;		/* Creator's group ID.  */
+  unsigned short int mode;		/* Read/write permission.  */
+  unsigned short int __seq;		/* Sequence number.  */
+};
+
+#define SEMCTL_ARG_ADDRESS(__arg) &__arg.array
+
+#define MSGRCV_ARGS(__msgp, __msgtyp) \
+  ((long int []){ (long int) __msgp, __msgtyp })
+
+#include <ipc_ops.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-features.h
new file mode 100644
index 0000000000..9495db4fef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-features.h
@@ -0,0 +1,104 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   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/>.  */
+
+/* This file must not contain any C code.  At least it must be protected
+   to allow using the file also in assembler files.  */
+
+#ifndef __LINUX_KERNEL_VERSION
+/* We assume the worst; all kernels should be supported.  */
+# define __LINUX_KERNEL_VERSION	0
+#endif
+
+/* We assume for __LINUX_KERNEL_VERSION the same encoding used in
+   linux/version.h.  I.e., the major, minor, and subminor all get a
+   byte with the major number being in the highest byte.  This means
+   we can do numeric comparisons.
+
+   In the following we will define certain symbols depending on
+   whether the describes kernel feature is available in the kernel
+   version given by __LINUX_KERNEL_VERSION.  We are not always exactly
+   recording the correct versions in which the features were
+   introduced.  If somebody cares these values can afterwards be
+   corrected.  */
+
+/* The sendfile syscall was introduced in 2.2.0.  */
+#define __ASSUME_SENDFILE		1
+
+/* Some architectures use the socketcall multiplexer for some or all
+   socket-related operations instead of separate syscalls.
+   __ASSUME_SOCKETCALL is defined for such architectures.  */
+
+/* The changed st_ino field appeared in 2.4.0-test6.  However, SH is lame,
+   and still does not have a 64-bit inode field.  */
+#define __ASSUME_ST_INO_64_BIT		1
+
+/* The statfs64 syscalls are available in 2.5.74 (but not for alpha).  */
+#define __ASSUME_STATFS64	1
+
+/* pselect/ppoll were introduced just after 2.6.16-rc1.  On x86_64 and
+   SH this appeared first in 2.6.19-rc1, on ia64 in 2.6.22-rc1.  */
+#define __ASSUME_PSELECT	1
+
+/* The *at syscalls were introduced just after 2.6.16-rc1.  On PPC
+   they were introduced in 2.6.17-rc1, on SH in 2.6.19-rc1.  */
+#define __ASSUME_ATFCTS	1
+
+/* Support for inter-process robust mutexes was added in 2.6.17 (but
+   some architectures lack futex_atomic_cmpxchg_inatomic in some
+   configurations).  */
+#define __ASSUME_SET_ROBUST_LIST	1
+
+/* Support for private futexes was added in 2.6.22.  */
+#define __ASSUME_PRIVATE_FUTEX	1
+
+/* Support for various CLOEXEC and NONBLOCK flags was added in
+   2.6.27.  */
+#define __ASSUME_IN_NONBLOCK	1
+
+/* Support for the FUTEX_CLOCK_REALTIME flag was added in 2.6.29.  */
+#define __ASSUME_FUTEX_CLOCK_REALTIME	1
+
+/* Support for preadv and pwritev was added in 2.6.30.  */
+#define __ASSUME_PREADV	1
+#define __ASSUME_PWRITEV	1
+
+/* Support for sendmmsg functionality was added in 3.0.  */
+#define __ASSUME_SENDMMSG	1
+
+/* On most architectures, most socket syscalls are supported for all
+   supported kernel versions, but on some socketcall architectures
+   separate syscalls were only added later.  */
+#define __ASSUME_SENDMSG_SYSCALL	1
+#define __ASSUME_RECVMSG_SYSCALL	1
+#define __ASSUME_ACCEPT_SYSCALL		1
+#define __ASSUME_CONNECT_SYSCALL	1
+#define __ASSUME_RECVFROM_SYSCALL	1
+#define __ASSUME_SENDTO_SYSCALL		1
+#define __ASSUME_ACCEPT4_SYSCALL	1
+#define __ASSUME_RECVMMSG_SYSCALL	1
+#define __ASSUME_SENDMMSG_SYSCALL	1
+
+/* Support for SysV IPC through wired syscalls.  All supported architectures
+   either support ipc syscall and/or all the ipc correspondent syscalls.  */
+#define __ASSUME_DIRECT_SYSVIPC_SYSCALLS	1
+
+/* Support for p{read,write}v2 was added in 4.6.  However Linux default
+   implementation does not assume the __ASSUME_* and instead use a fallback
+   implementation based on p{read,write}v and returning an error for
+   non supported flags.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h
new file mode 100644
index 0000000000..164a90ddeb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h
@@ -0,0 +1,18 @@
+/* Parameters for the Linux kernel ABI for CPU clocks.  */
+
+#define CPUCLOCK_PID(clock)		((pid_t) ~((clock) >> 3))
+#define CPUCLOCK_PERTHREAD(clock) \
+	(((clock) & (clockid_t) CPUCLOCK_PERTHREAD_MASK) != 0)
+#define CPUCLOCK_PID_MASK	7
+#define CPUCLOCK_PERTHREAD_MASK	4
+#define CPUCLOCK_WHICH(clock)	((clock) & (clockid_t) CPUCLOCK_CLOCK_MASK)
+#define CPUCLOCK_CLOCK_MASK	3
+#define CPUCLOCK_PROF		0
+#define CPUCLOCK_VIRT		1
+#define CPUCLOCK_SCHED		2
+#define CPUCLOCK_MAX		3
+
+#define MAKE_PROCESS_CPUCLOCK(pid, clock) \
+	((~(clockid_t) (pid) << 3) | (clockid_t) (clock))
+#define MAKE_THREAD_CPUCLOCK(tid, clock) \
+	MAKE_PROCESS_CPUCLOCK((tid), (clock) | CPUCLOCK_PERTHREAD_MASK)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-timers.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-timers.h
new file mode 100644
index 0000000000..5f4192bd1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel-posix-timers.h
@@ -0,0 +1,67 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <sys/types.h>
+
+
+/* Nonzero if the system calls are not available.  */
+extern int __no_posix_timers attribute_hidden;
+
+/* Callback to start helper thread.  */
+extern void __start_helper_thread (void) attribute_hidden;
+
+/* Control variable for helper thread creation.  */
+extern pthread_once_t __helper_once attribute_hidden;
+
+/* TID of the helper thread.  */
+extern pid_t __helper_tid attribute_hidden;
+
+/* List of active SIGEV_THREAD timers.  */
+extern struct timer *__active_timer_sigev_thread attribute_hidden;
+/* Lock for the __active_timer_sigev_thread.  */
+extern pthread_mutex_t __active_timer_sigev_thread_lock attribute_hidden;
+
+
+/* Type of timers in the kernel.  */
+typedef int kernel_timer_t;
+
+
+/* Internal representation of timer.  */
+struct timer
+{
+  /* Notification mechanism.  */
+  int sigev_notify;
+
+  /* Timer ID returned by the kernel.  */
+  kernel_timer_t ktimerid;
+
+  /* All new elements must be added after ktimerid.  And if the thrfunc
+     element is not the third element anymore the memory allocation in
+     timer_create needs to be changed.  */
+
+  /* Parameters for the thread to be started for SIGEV_THREAD.  */
+  void (*thrfunc) (sigval_t);
+  sigval_t sival;
+  pthread_attr_t attr;
+
+  /* Next element in list of active SIGEV_THREAD timers.  */
+  struct timer *next;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel_sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_sigaction.h
new file mode 100644
index 0000000000..d005cbce98
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_sigaction.h
@@ -0,0 +1,19 @@
+/* This is the sigaction structure from the Linux 2.1.20 kernel.  */
+
+#define HAVE_SA_RESTORER
+
+struct old_kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_mask;
+	unsigned long sa_flags;
+	void (*sa_restorer) (void);
+};
+
+/* This is the sigaction structure from the Linux 2.1.68 kernel.  */
+
+struct kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_flags;
+	void (*sa_restorer) (void);
+	sigset_t sa_mask;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_stat.h
new file mode 100644
index 0000000000..eecc962de3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_stat.h
@@ -0,0 +1,38 @@
+/* Definition of `struct stat' used in the kernel..  */
+struct kernel_stat
+  {
+    unsigned short int st_dev;
+    unsigned short int __pad1;
+#define _HAVE___PAD1
+    unsigned long int st_ino;
+    unsigned short int st_mode;
+    unsigned short int st_nlink;
+    unsigned short int st_uid;
+    unsigned short int st_gid;
+    unsigned short int st_rdev;
+    unsigned short int __pad2;
+#define _HAVE___PAD2
+    unsigned long int st_size;
+    unsigned long int st_blksize;
+    unsigned long int st_blocks;
+    struct timespec st_atim;
+    struct timespec st_mtim;
+    struct timespec st_ctim;
+    unsigned long int __glibc_reserved4;
+#define _HAVE___UNUSED4
+    unsigned long int __glibc_reserved5;
+#define _HAVE___UNUSED5
+  };
+
+#define _HAVE_STAT___UNUSED4
+#define _HAVE_STAT___UNUSED5
+#define _HAVE_STAT___PAD1
+#define _HAVE_STAT___PAD2
+#define _HAVE_STAT_NSEC
+#define _HAVE_STAT64___PAD1
+#define _HAVE_STAT64___PAD2
+#define _HAVE_STAT64___ST_INO
+#define _HAVE_STAT64_NSEC
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/kernel_termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_termios.h
new file mode 100644
index 0000000000..9defa56d64
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/kernel_termios.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+/* The following corresponds to the values from the Linux 2.1.20 kernel.  */
+
+#define __KERNEL_NCCS 19
+
+struct __kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[__KERNEL_NCCS];	/* control characters */
+  };
+
+#endif /* kernel_termios.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/ldd-rewrite.sed
new file mode 100644
index 0000000000..7b8b6bdee0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ldd-rewrite.sed
@@ -0,0 +1,11 @@
+/Maybe extra code for non-ELF binaries/a\
+  file=$1\
+  # Run the ldd stub.\
+  lddlibc4 "$file"\
+  # Test the result.\
+  if test $? -lt 3; then\
+    return 0;\
+  fi\
+  # In case of an error punt.
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lddlibc4.c b/REORG.TODO/sysdeps/unix/sysv/linux/lddlibc4.c
new file mode 100644
index 0000000000..25c4cb960a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lddlibc4.c
@@ -0,0 +1,105 @@
+/* Stub for ldd script to print Linux libc4 dependencies.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This code is based on the `ldd' program code from the Linux ld.so
+   package.  */
+
+#include <a.out.h>
+#include <errno.h>
+#include <error.h>
+#include <libintl.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+/* Get libc version number.  */
+#include "../version.h"
+
+#define PACKAGE _libc_intl_domainname
+
+
+int
+main (int argc, char *argv[])
+{
+  const char *filename;
+  size_t filename_len;
+  struct exec exec;
+  char *buf;
+  FILE *fp;
+
+  /* Set locale via LC_ALL.  */
+  setlocale (LC_ALL, "");
+
+  /* Set the text message domain.  */
+  textdomain (PACKAGE);
+
+  /* We expect exactly one argument.  */
+  if (argc != 2)
+    return 1;
+
+  if (strcmp (argv[1], "--help") == 0)
+    {
+      printf (gettext ("Usage: lddlibc4 FILE\n\n"));
+      printf (gettext ("For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO);
+      return 0;
+    }
+  else if (strcmp (argv[1], "--version") == 0)
+    {
+      printf ("lddlibc4 %s%s\n", PKGVERSION, VERSION);
+      printf (gettext ("\
+Copyright (C) %s Free Software Foundation, Inc.\n\
+This is free software; see the source for copying conditions.  There is NO\n\
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
+"), "2017");
+      return 0;
+    }
+
+  filename = argv[1];
+
+  /* First see whether this is really an a.out binary.  */
+  fp = fopen (filename, "rb");
+  if (fp == NULL)
+    error (2, errno, gettext ("cannot open `%s'"), filename);
+
+  /* Read the program header.  */
+  if (fread (&exec, sizeof exec, 1, fp) < 1)
+    error (2, errno, gettext ("cannot read header from `%s'"), filename);
+
+  /* Test for the magic numbers.  */
+  if (N_MAGIC (exec) != ZMAGIC && N_MAGIC (exec) != QMAGIC
+      && N_MAGIC (exec) != OMAGIC)
+    exit (3);
+
+  /* We don't need the file open anymore.  */
+  fclose (fp);
+
+  /* We must put `__LDD_ARGV0=<program-name>' in the environment.  */
+  filename_len = strlen (filename);
+  buf = (char *) alloca (sizeof "__LDD_ARGV0=" + filename_len);
+  mempcpy (mempcpy (buf, "__LDD_ARGV0=", sizeof "__LDD_ARGV0=" - 1),
+	   filename, filename_len + 1);
+  /* ...and put the value in the environment.  */
+  putenv (buf);
+
+  /* Now we can execute the binary.  */
+  return execv (filename, &argv[argc]) ? 4 : 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/ldsodefs.h
new file mode 100644
index 0000000000..2f1c13ffc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ldsodefs.h
@@ -0,0 +1,39 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* We have the auxiliary vector.  */
+#define HAVE_AUX_VECTOR
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* We can assume that the kernel always provides the AT_UID, AT_EUID,
+   AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on.  */
+#define HAVE_AUX_XID
+
+/* We can assume that the kernel always provides the AT_SECURE value
+   in the auxiliary vector from 2.5.74 or so on.  */
+#define HAVE_AUX_SECURE
+
+/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
+   up the page size information.  */
+#define HAVE_AUX_PAGESIZE
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/libc_fatal.c b/REORG.TODO/sysdeps/unix/sysv/linux/libc_fatal.c
new file mode 100644
index 0000000000..d22bfdcc67
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/libc_fatal.c
@@ -0,0 +1,68 @@
+/* Catastrophic failure reports.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <execinfo.h>
+#include <fcntl.h>
+#include <not-cancel.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/uio.h>
+
+static bool
+writev_for_fatal (int fd, const struct iovec *iov, size_t niov, size_t total)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  ssize_t cnt;
+  do
+    cnt = INTERNAL_SYSCALL (writev, err, 3, fd, iov, niov);
+  while (INTERNAL_SYSCALL_ERROR_P (cnt, err)
+         && INTERNAL_SYSCALL_ERRNO (cnt, err) == EINTR);
+  return cnt == total;
+}
+#define WRITEV_FOR_FATAL	writev_for_fatal
+
+static void
+backtrace_and_maps (int do_abort, bool written, int fd)
+{
+  if (do_abort > 1 && written)
+    {
+      void *addrs[64];
+#define naddrs (sizeof (addrs) / sizeof (addrs[0]))
+      int n = __backtrace (addrs, naddrs);
+      if (n > 2)
+        {
+#define strnsize(str) str, strlen (str)
+#define writestr(str) write_not_cancel (fd, str)
+          writestr (strnsize ("======= Backtrace: =========\n"));
+          __backtrace_symbols_fd (addrs + 1, n - 1, fd);
+
+          writestr (strnsize ("======= Memory map: ========\n"));
+          int fd2 = open_not_cancel_2 ("/proc/self/maps", O_RDONLY);
+          char buf[1024];
+          ssize_t n2;
+          while ((n2 = read_not_cancel (fd2, buf, sizeof (buf))) > 0)
+            if (write_not_cancel (fd, buf, n2) != n2)
+              break;
+          close_not_cancel_no_status (fd2);
+        }
+    }
+}
+#define BEFORE_ABORT		backtrace_and_maps
+
+#include <sysdeps/posix/libc_fatal.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/linux_fsinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/linux_fsinfo.h
new file mode 100644
index 0000000000..3a71aeae89
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/linux_fsinfo.h
@@ -0,0 +1,271 @@
+/* Constants from kernel header for various FSes.
+   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 _LINUX_FSINFO_H
+#define _LINUX_FSINFO_H	1
+
+/* These definitions come from the kernel headers.  But we cannot
+   include the headers here because of type clashes.  If new
+   filesystem types will become available we have to add the
+   appropriate definitions here.  */
+
+/* Constant that identifies the `adfs' filesystem.  */
+#define ADFS_SUPER_MAGIC	0xadf5
+
+/* Constant that identifies the `affs' filesystem.  */
+#define AFFS_SUPER_MAGIC	0xadff
+
+/* Constant that identifies the `afs' filesystem.  */
+#define AFS_SUPER_MAGIC		0x5346414F
+
+/* Constant that identifies the `anon_inodefs' filesystem.  */
+#define ANON_INODE_FS_MAGIC	0x09041934
+
+/* Constant that identifies the `autofs' filesystem.  */
+#define AUTOFS_SUPER_MAGIC	0x187
+
+/* Constant that identifies the `bdev' filesystem.  */
+#define BDEVFS_MAGIC		0x62646576
+
+/* Constant that identifies the `bfs' filesystem.  */
+#define BFS_MAGIC		0x1badface
+
+/* Constant that identifies the `binfmt_misc' filesystem.  */
+#define BINFMTFS_MAGIC		0x42494e4d
+
+/* Constant that identifies the `btrfs' filesystem.  */
+#define BTRFS_SUPER_MAGIC	0x9123683e
+
+/* Constant that identifies the `btrfs_test_fs' filesystem.  */
+#define BTRFS_TEST_MAGIC	0x73727279
+
+/* Constant that identifies the `cgroup' filesystem.  */
+#define CGROUP_SUPER_MAGIC	0x27e0eb
+
+/* Constant that identifies the `coda' filesystem.  */
+#define CODA_SUPER_MAGIC	0x73757245
+
+/* Constant that identifies the `coherent' filesystem.  */
+#define COH_SUPER_MAGIC		0x012ff7b7
+
+/* Constant that identifies the `cramfs' filesystem.  */
+#define CRAMFS_MAGIC		0x28cd3d45
+
+/* Constant that identifies the `cramfs' filesystem w/opposite endianness.  */
+#define CRAMFS_MAGIC_WEND	0x453dcd28
+
+/* Constant that identifies the `debugfs' filesystem.  */
+#define DEBUGFS_MAGIC		0x64626720
+
+/* Constant that identifies the `devfs' filesystem.  */
+#define DEVFS_SUPER_MAGIC	0x1373
+
+/* Constant that identifies the `devpts' filesystem.  */
+#define DEVPTS_SUPER_MAGIC	0x1cd1
+
+/* Constants that identifies the `ecryptfs' filesystem.  */
+#define ECRYPTFS_SUPER_MAGIC	0xf15f
+
+/* Constants that identifies the `efs' filesystem.  */
+#define EFS_SUPER_MAGIC		0x414a53
+#define EFS_MAGIC		0x072959
+
+/* Constants that identifies the `evivar' filesystem.  */
+#define EFIVARFS_MAGIC		0xde5e81e4
+
+/* Constant that identifies the `ext2' filesystem.  */
+#define EXT2_SUPER_MAGIC	0xef53
+
+/* Constant that identifies the `ext3' filesystem.  */
+#define EXT3_SUPER_MAGIC	0xef53
+
+/* Constant that identifies the `ext3' filesystem.  */
+#define EXT4_SUPER_MAGIC	0xef53
+
+/* Constant that identifies the `f2fs' filesystem.  */
+#define F2FS_SUPER_MAGIC	0xf2f52010
+
+/* Constant that identifies the `futexfs' filesystem.  */
+#define FUTEXFS_SUPER_MAGIC	0xBAD1DEA
+
+/* Constant that identifies the `hostfs' filesystem.  */
+#define HOSTFS_SUPER_MAGIC	0x00c0ffee
+
+/* Constant that identifies the `hpfs' filesystem.  */
+#define HPFS_SUPER_MAGIC	0xf995e849
+
+/* Constant that identifies the `hugetlbfs' filesystem.  */
+#define HUGETLBFS_MAGIC 	0x958458f6
+
+/* Constant that identifies the `iso9660' filesystem.  */
+#define ISOFS_SUPER_MAGIC	0x9660
+
+/* Constant that identifies the `jffs' filesystem.  */
+#define JFFS_SUPER_MAGIC	0x07c0
+
+/* Constant that identifies the `jffs2' filesystem.  */
+#define JFFS2_SUPER_MAGIC	0x72b6
+
+/* Constant that identifies the `jfs' filesystem.  */
+#define JFS_SUPER_MAGIC		0x3153464a
+
+/* Constant that identifies the `logfs' filesystem.  */
+#define LOGFS_MAGIC_U32		0xc97e8168u
+
+/* Constant that identifies the `lustre' filesystem.  */
+#define LUSTRE_SUPER_MAGIC	0x0BD00BD0
+
+/* Constants that identify the `minix2' filesystem.  */
+#define MINIX2_SUPER_MAGIC	0x2468
+#define MINIX2_SUPER_MAGIC2	0x2478
+
+/* Constants that identify the `minix3' filesystem.  */
+#define MINIX3_SUPER_MAGIC	0x4d5a
+
+/* Constants that identify the `minix' filesystem.  */
+#define MINIX_SUPER_MAGIC	0x137f
+#define MINIX_SUPER_MAGIC2	0x138F
+
+/* Constant that identifies the `msdos' filesystem.  */
+#define MSDOS_SUPER_MAGIC	0x4d44
+
+/* Constant that identifies the `mtd_inodefs' filesystem.  */
+#define MTD_INODE_FS_MAGIC	0x11307854
+
+/* Constant that identifies the `ncp' filesystem.  */
+#define NCP_SUPER_MAGIC		0x564c
+
+/* Constant that identifies the `nilfs' filesystem.  */
+#define NILFS_SUPER_MAGIC	0x3434
+
+/* Constant that identifies the `nfs' filesystem.  */
+#define NFS_SUPER_MAGIC		0x6969
+
+/* Constant that identifies the `ntfs' filesystem.  */
+#define NTFS_SUPER_MAGIC	0x5346544e
+
+/* Constant that identifies the `openpromfs' filesystem.  */
+#define OPENPROM_SUPER_MAGIC	0x9fa1
+
+/* Constant that identifies the `pipefs' filesystem.  */
+#define PIPEFS_MAGIC		0x50495045
+
+/* Constant that identifies the `proc' filesystem.  */
+#define PROC_SUPER_MAGIC	0x9fa0
+
+/* Constant that identifies the `pstorefs' filesystem.  */
+#define PSTOREFS_MAGIC		0x6165676C
+
+/* Constant that identifies the `qnx4' filesystem.  */
+#define QNX4_SUPER_MAGIC	0x002f
+
+/* Constant that identifies the `qnx6' filesystem.  */
+#define QNX6_SUPER_MAGIC	0x68191122
+
+/* Constant that identifies the `ramfs' filesystem.  */
+#define RAMFS_MAGIC		0x858458f6
+
+/* Constant that identifies the `reiser' filesystem.  */
+#define REISERFS_SUPER_MAGIC	0x52654973
+
+#define REISERFS_SUPER_MAGIC_STRING	"ReIsErFs"
+#define REISER2FS_SUPER_MAGIC_STRING	"ReIsEr2Fs"
+#define REISER2FS_JR_SUPER_MAGIC_STRING	"ReIsEr3Fs"
+
+/* Constant that identifies the `romfs' filesystem.  */
+#define ROMFS_SUPER_MAGIC	0x7275
+
+/* Constant that identifies the `securityfs' filesystem.  */
+#define SECURITYFS_MAGIC	0x73636673
+
+/* Constant that identifies the `selinuxfs' filesystem.  */
+#define SELINUX_MAGIC		0xf97cff8c
+
+/* Constant that identifies the `smackfs' filesystem.  */
+#define SMACK_MAGIC		0x43415d53	/* "SMAC" */
+
+/* Constant that identifies the `shm' filesystem.  */
+#define SHMFS_SUPER_MAGIC	0x01021994
+
+/* Constant that identifies the `smb' filesystem.  */
+#define SMB_SUPER_MAGIC		0x517b
+
+/* Constant that identifies the `sockfs' filesystem.  */
+#define SOCKFS_MAGIC		0x534F434B
+
+/* Constant that identifies the `squashfs' filesystem.  */
+#define SQUASHFS_MAGIC		0x73717368
+
+/* Constant that identifies the end of stacks allocated by the kernel.  */
+#define STACK_END_MAGIC		0x57AC6E9D
+
+/* Constant that identifies the `sysfs' filesystem.  */
+#define SYSFS_MAGIC		0x62656572
+
+/* Constants that identify the `sysV' filesystem.  */
+#define SYSV2_SUPER_MAGIC	0x012ff7b6
+#define SYSV4_SUPER_MAGIC	0x012ff7b5
+
+/* Constant that identifies the `tmpfs' filesystem.  */
+#define TMPFS_MAGIC		0x01021994
+
+/* Constant that identifies the `udf' filesystem.  */
+#define UDF_SUPER_MAGIC		0x15013346
+
+/* Constant that identify the `ufs' filesystem.  */
+#define UFS_MAGIC		0x00011954
+#define UFS_CIGAM		0x54190100 /* byteswapped MAGIC */
+
+/* Constant that identifies the `usbdevfs' filesystem.  */
+#define USBDEVFS_SUPER_MAGIC	0x9fa2
+#define USBDEVICE_SUPER_MAGIC	0x9fa2
+
+/* Constant that identifies the `9p' filesystem.  */
+#define V9FS_MAGIC		0x01021997
+
+/* Constant that identifies the `vxfs' filesystem.  */
+#define VXFS_SUPER_MAGIC	0xa501fcf5
+
+/* Constant that identifies the `xenfs' filesystem.  */
+#define XENFS_SUPER_MAGIC	0xabba1974
+
+/* Constant that identifies the `xenix' filesystem.  */
+#define XENIX_SUPER_MAGIC	0x012ff7b4
+
+/* Constant that identifies the `xfs' filesystem.  */
+#define XFS_SUPER_MAGIC		0x58465342
+
+/* Maximum link counts.  */
+#define COH_LINK_MAX		10000
+#define EXT2_LINK_MAX		32000
+#define EXT4_LINK_MAX		65000
+#define F2FS_LINK_MAX		32000
+#define LUSTRE_LINK_MAX		EXT4_LINK_MAX
+#define MINIX2_LINK_MAX		65530
+#define MINIX_LINK_MAX		250
+#define REISERFS_LINK_MAX	64535
+#define SYSV_LINK_MAX		126     /* 127? 251? */
+#define UFS_LINK_MAX		EXT2_LINK_MAX
+#define XENIX_LINK_MAX		126     /* ?? */
+#define XFS_LINK_MAX		2147483647
+
+/* The Linux kernel header mentioned this as a kind of generic value.  */
+#define LINUX_LINK_MAX	127
+
+
+#endif	/* linux_fsinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/listen.c b/REORG.TODO/sysdeps/unix/sysv/linux/listen.c
new file mode 100644
index 0000000000..789f43899c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/listen.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+listen (int fd, int backlog)
+{
+#ifdef __ASSUME_LISTEN_SYSCALL
+  return INLINE_SYSCALL (listen, 2, fd, backlog);
+#else
+  return SOCKETCALL (listen, fd, backlog);
+#endif
+}
+weak_alias (listen, __listen);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/local-setxid.h b/REORG.TODO/sysdeps/unix/sysv/linux/local-setxid.h
new file mode 100644
index 0000000000..97d787d942
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/local-setxid.h
@@ -0,0 +1,16 @@
+/* SETxID functions which only have to change the local thread and
+   none of the possible other threads.  */
+#include <sysdep.h>
+
+#ifdef __NR_setresuid32
+# define local_seteuid(id) INLINE_SYSCALL (setresuid32, 3, -1, id, -1)
+#else
+# define local_seteuid(id) INLINE_SYSCALL (setresuid, 3, -1, id, -1)
+#endif
+
+
+#ifdef __NR_setresgid32
+# define local_setegid(id) INLINE_SYSCALL (setresgid32, 3, -1, id, -1)
+#else
+# define local_setegid(id) INLINE_SYSCALL (setresgid, 3, -1, id, -1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lowlevellock-futex.h b/REORG.TODO/sysdeps/unix/sysv/linux/lowlevellock-futex.h
new file mode 100644
index 0000000000..bb4fbae13b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lowlevellock-futex.h
@@ -0,0 +1,145 @@
+/* Low-level locking access to futex facilities.  Linux version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LOWLEVELLOCK_FUTEX_H
+#define _LOWLEVELLOCK_FUTEX_H	1
+
+#ifndef __ASSEMBLER__
+#include <sysdep.h>
+#include <tls.h>
+#include <kernel-features.h>
+#endif
+
+#define FUTEX_WAIT		0
+#define FUTEX_WAKE		1
+#define FUTEX_REQUEUE		3
+#define FUTEX_CMP_REQUEUE	4
+#define FUTEX_WAKE_OP		5
+#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
+#define FUTEX_LOCK_PI		6
+#define FUTEX_UNLOCK_PI		7
+#define FUTEX_TRYLOCK_PI	8
+#define FUTEX_WAIT_BITSET	9
+#define FUTEX_WAKE_BITSET	10
+#define FUTEX_WAIT_REQUEUE_PI   11
+#define FUTEX_CMP_REQUEUE_PI    12
+#define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
+
+/* Values for 'private' parameter of locking macros.  Yes, the
+   definition seems to be backwards.  But it is not.  The bit will be
+   reversed before passing to the system call.  */
+#define LLL_PRIVATE	0
+#define LLL_SHARED	FUTEX_PRIVATE_FLAG
+
+#ifndef __ASSEMBLER__
+
+#if IS_IN (libc) || IS_IN (rtld)
+/* In libc.so or ld.so all futexes are private.  */
+# ifdef __ASSUME_PRIVATE_FUTEX
+#  define __lll_private_flag(fl, private)			\
+  ({								\
+    /* Prevent warnings in callers of this macro.  */		\
+    int __lll_private_flag_priv __attribute__ ((unused));	\
+    __lll_private_flag_priv = (private);			\
+    ((fl) | FUTEX_PRIVATE_FLAG);				\
+  })
+# else
+#  define __lll_private_flag(fl, private) \
+  ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))
+# endif
+#else
+# ifdef __ASSUME_PRIVATE_FUTEX
+#  define __lll_private_flag(fl, private) \
+  (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
+# else
+#  define __lll_private_flag(fl, private) \
+  (__builtin_constant_p (private)					      \
+   ? ((private) == 0							      \
+      ? ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))	      \
+      : (fl))								      \
+   : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \
+	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
+# endif
+#endif
+
+#define lll_futex_syscall(nargs, futexp, op, ...)                       \
+  ({                                                                    \
+    INTERNAL_SYSCALL_DECL (__err);                                      \
+    long int __ret = INTERNAL_SYSCALL (futex, __err, nargs, futexp, op, \
+				       __VA_ARGS__);                    \
+    (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (__ret, __err))         \
+     ? -INTERNAL_SYSCALL_ERRNO (__ret, __err) : 0);                     \
+  })
+
+#define lll_futex_wait(futexp, val, private) \
+  lll_futex_timed_wait (futexp, val, NULL, private)
+
+#define lll_futex_timed_wait(futexp, val, timeout, private)     \
+  lll_futex_syscall (4, futexp,                                 \
+		     __lll_private_flag (FUTEX_WAIT, private),  \
+		     val, timeout)
+
+#define lll_futex_timed_wait_bitset(futexp, val, timeout, clockbit, private) \
+  lll_futex_syscall (6, futexp,                                         \
+		     __lll_private_flag (FUTEX_WAIT_BITSET | (clockbit), \
+					 private),                      \
+		     val, timeout, NULL /* Unused.  */,                 \
+		     FUTEX_BITSET_MATCH_ANY)
+
+#define lll_futex_wake(futexp, nr, private)                             \
+  lll_futex_syscall (4, futexp,                                         \
+		     __lll_private_flag (FUTEX_WAKE, private), nr, 0)
+
+/* Returns non-zero if error happened, zero if success.  */
+#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \
+  lll_futex_syscall (6, futexp,                                         \
+		     __lll_private_flag (FUTEX_CMP_REQUEUE, private),   \
+		     nr_wake, nr_move, mutex, val)
+
+/* Returns non-zero if error happened, zero if success.  */
+#define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \
+  lll_futex_syscall (6, futexp,                                         \
+		     __lll_private_flag (FUTEX_WAKE_OP, private),       \
+		     nr_wake, nr_wake2, futexp2,                        \
+		     FUTEX_OP_CLEAR_WAKE_IF_GT_ONE)
+
+/* Priority Inheritance support.  */
+#define lll_futex_wait_requeue_pi(futexp, val, mutex, private) \
+  lll_futex_timed_wait_requeue_pi (futexp, val, NULL, 0, mutex, private)
+
+#define lll_futex_timed_wait_requeue_pi(futexp, val, timeout, clockbit, \
+					mutex, private)                 \
+  lll_futex_syscall (5, futexp,                                         \
+		     __lll_private_flag (FUTEX_WAIT_REQUEUE_PI          \
+					 | (clockbit), private),        \
+		     val, timeout, mutex)
+
+
+#define lll_futex_cmp_requeue_pi(futexp, nr_wake, nr_move, mutex,       \
+				 val, private)                          \
+  lll_futex_syscall (6, futexp,                                         \
+		     __lll_private_flag (FUTEX_CMP_REQUEUE_PI,          \
+					 private),                      \
+		     nr_wake, nr_move, mutex, val)
+
+#endif  /* !__ASSEMBLER__  */
+
+#endif  /* lowlevellock-futex.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lseek.c b/REORG.TODO/sysdeps/unix/sysv/linux/lseek.c
new file mode 100644
index 0000000000..3f5ddd71fb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lseek.c
@@ -0,0 +1,57 @@
+/* Linux lseek implementation, 32 bits off_t.
+   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 <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+/* Test for overflows of structures where we ask the kernel to fill them
+   in with standard 64-bit syscalls but return them through APIs that
+   only expose the low 32 bits of some fields.  */
+
+static inline off_t lseek_overflow (loff_t res)
+{
+  off_t retval = (off_t) res;
+  if (retval == res)
+    return retval;
+
+  __set_errno (EOVERFLOW);
+  return (off_t) -1;
+}
+
+off_t
+__lseek (int fd, off_t offset, int whence)
+{
+# ifdef __NR__llseek
+  loff_t res;
+  int rc = INLINE_SYSCALL_CALL (_llseek, fd,
+				(long) (((uint64_t) (offset)) >> 32),
+				(long) offset, &res, whence);
+  return rc ?: lseek_overflow (res);
+# else
+  return INLINE_SYSCALL_CALL (lseek, fd, offset, whence);
+# endif
+}
+libc_hidden_def (__lseek)
+weak_alias (__lseek, lseek)
+strong_alias (__lseek, __libc_lseek)
+#endif /* __OFF_T_MATCHES_OFF64_T  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lseek64.c b/REORG.TODO/sysdeps/unix/sysv/linux/lseek64.c
new file mode 100644
index 0000000000..a13908a2a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lseek64.c
@@ -0,0 +1,54 @@
+/* Linux lseek implementation, 64 bits off_t.
+   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 <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sysdep.h>
+#include <errno.h>
+
+off64_t
+__lseek64 (int fd, off64_t offset, int whence)
+{
+#ifdef __NR__llseek
+  loff_t res;
+  int rc = INLINE_SYSCALL_CALL (_llseek, fd,
+				(long) (((uint64_t) (offset)) >> 32),
+				(long) offset, &res, whence);
+  return rc ?: res;
+#else
+  return INLINE_SYSCALL_CALL (lseek, fd, offset, whence);
+#endif
+}
+
+#ifdef  __OFF_T_MATCHES_OFF64_T
+weak_alias (__lseek64, lseek)
+weak_alias (__lseek64, __lseek)
+strong_alias (__lseek64, __libc_lseek)
+libc_hidden_def (__lseek)
+#endif
+
+strong_alias (__lseek64, __libc_lseek64)
+weak_alias (__lseek64, lseek64)
+
+/* llseek doesn't have a prototype.  Since the second parameter is a
+   64bit type, this results in wrong behaviour if no prototype is
+   provided.  */
+weak_alias (__lseek64, llseek)
+link_warning (llseek, "\
+the `llseek' function may be dangerous; use `lseek64' instead.")
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lutimes.c b/REORG.TODO/sysdeps/unix/sysv/linux/lutimes.c
new file mode 100644
index 0000000000..433fb06701
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lutimes.c
@@ -0,0 +1,44 @@
+/* Change access and/or modification date of file.  Do not follow symbolic
+   links.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sysdep.h>
+
+
+int
+lutimes (const char *file, const struct timeval tvp[2])
+{
+  /* The system call espects timespec, not timeval.  */
+  struct timespec ts[2];
+  if (tvp != NULL)
+    {
+      if (tvp[0].tv_usec < 0 || tvp[0].tv_usec >= 1000000
+          || tvp[1].tv_usec < 0 || tvp[1].tv_usec >= 1000000)
+	return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+      TIMEVAL_TO_TIMESPEC (&tvp[0], &ts[0]);
+      TIMEVAL_TO_TIMESPEC (&tvp[1], &ts[1]);
+    }
+
+  return INLINE_SYSCALL (utimensat, 4, AT_FDCWD, file, tvp ? ts : NULL,
+			 AT_SYMLINK_NOFOLLOW);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/lxstat.c
new file mode 100644
index 0000000000..6e091d02cf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lxstat.c
@@ -0,0 +1,60 @@
+/* lxstat using old-style Unix lstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (lstat, 2, name, buf);
+
+#ifdef STAT_IS_KERNEL_STAT
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+#else
+  struct kernel_stat kbuf;
+  int result;
+
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
+  if (result == 0)
+    result = __xstat_conv (vers, &kbuf, buf);
+
+  return result;
+#endif
+}
+
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+#if XSTAT_IS_XSTAT64
+#undef __lxstat64
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/lxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/lxstat64.c
new file mode 100644
index 0000000000..9bc548f91c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/lxstat64.c
@@ -0,0 +1,52 @@
+/* lxstat64 using Linux lstat64 system call.
+   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 <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <kernel-features.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+___lxstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  int result;
+  result = INLINE_SYSCALL (lstat64, 2, name, buf);
+#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT
+  if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
+    buf->st_ino = buf->__st_ino;
+#endif
+  return result;
+}
+
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+versioned_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
+strong_alias (___lxstat64, __old__lxstat64)
+compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1);
+hidden_ver (___lxstat64, __lxstat64)
+#else
+strong_alias (___lxstat64, __lxstat64);
+hidden_def (__lxstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Implies
new file mode 100644
index 0000000000..77f1f7dd2b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Implies
@@ -0,0 +1 @@
+m68k/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Makefile
new file mode 100644
index 0000000000..ce1f696a6f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Makefile
@@ -0,0 +1,25 @@
+# Linux/m68k uses Motorola asm syntax and the ELF format.
+
+m68k-syntax-flag = -DMOTOROLA_SYNTAX
+
+ifeq ($(subdir),csu)
+sysdep_routines += m68k-helpers
+ifeq (yes,$(build-shared))
+sysdep_routines += divdi3
+shared-only-routines += divdi3
+CPPFLAGS-divdi3.c = -Din_divdi3_c
+endif
+endif
+
+ifeq ($(subdir),misc)
+sysdep_routines += mremap
+sysdep_headers += sys/reg.h
+endif
+
+ifeq ($(subdir),elf)
+sysdep-dl-routines += dl-static
+sysdep_routines += dl-vdso libc-m68k-vdso
+sysdep-rtld-routines += m68k-vdso
+sysdep-others += lddlibc4
+install-bin += lddlibc4
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Versions
new file mode 100644
index 0000000000..7ecc96ea97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/Versions
@@ -0,0 +1,54 @@
+ld {
+  GLIBC_PRIVATE {
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_2.0 {
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+
+    # c*
+    cacheflush;
+  }
+  GLIBC_2.2 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # a*
+    alphasort64;
+
+    # g*
+    glob64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+
+    # v*
+    versionsort64;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_2.12 {
+    __m68k_read_tp;
+  }
+  GLIBC_PRIVATE {
+    __vdso_atomic_cmpxchg_32; __vdso_atomic_barrier;
+  }
+}
+
+ld {
+  GLIBC_PRIVATE {
+    __rtld___vdso_read_tp;
+    __rtld___vdso_atomic_cmpxchg_32;
+    __rtld___vdso_atomic_barrier;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c
new file mode 100644
index 0000000000..030e46389e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <signal.h>
+#include <sysdep.h>
+#define __longjmp ____longjmp_chk
+#define CHECK_SP(sp)							      \
+  do {									      \
+    register unsigned long this_sp asm ("sp");				      \
+    if ((unsigned long) (sp) < this_sp)					      \
+      {									      \
+	stack_t oss;							      \
+	INTERNAL_SYSCALL_DECL (err);					      \
+	int result = INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &oss);      \
+	if (!INTERNAL_SYSCALL_ERROR_P (result, err)			      \
+	    && ((oss.ss_flags & SS_ONSTACK) == 0			      \
+		|| ((unsigned long) oss.ss_sp + oss.ss_size		      \
+		    - (unsigned long) (sp)) < oss.ss_size))		      \
+	  __fortify_fail ("longjmp causes uninitialized stack frame");	      \
+      }									      \
+  } while (0)
+
+#include <__longjmp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/alphasort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/alphasort64.c
new file mode 100644
index 0000000000..0b5ae47d2f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/alphasort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/alphasort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/arch-fork.h
new file mode 100644
index 0000000000..d1f5664975
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/arch-fork.h
@@ -0,0 +1,28 @@
+/* ARCH_FORK definition for Linux fork implementation.  m68k version.
+   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						      \
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
+		  NULL, &THREAD_SELF->tid, NULL)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/a.out.h
new file mode 100644
index 0000000000..0fb52c3815
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/a.out.h
@@ -0,0 +1,3 @@
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
new file mode 100644
index 0000000000..0f4574eb2c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
@@ -0,0 +1,54 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define __O_DIRECTORY	 040000	/* Must be a directory.	 */
+#define __O_NOFOLLOW	0100000	/* Do not follow links.	 */
+#define __O_DIRECT	0200000	/* Direct disk access.	*/
+#define __O_LARGEFILE	0400000
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/mman.h
new file mode 100644
index 0000000000..cb28d033ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/mman.h
@@ -0,0 +1,40 @@
+/* Definitions for POSIX memory map interface.  Linux/m68k version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/poll.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/poll.h
new file mode 100644
index 0000000000..0f92f34d79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/poll.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for.  These bits may be set in `events'
+   to indicate the interesting event types; they will appear in `revents'
+   to indicate the status of the file descriptor.  */
+#define POLLIN		0x001		/* There is data to read.  */
+#define POLLPRI		0x002		/* There is urgent data to read.  */
+#define POLLOUT		0x004		/* Writing now will not block.  */
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+/* These values are defined in XPG4.2.  */
+# define POLLRDNORM	0x040		/* Normal data may be read.  */
+# define POLLRDBAND	0x080		/* Priority data may be read.  */
+# define POLLWRNORM	POLLOUT		/* Writing now will not block.  */
+# define POLLWRBAND	0x100		/* Priority data may be written.  */
+#endif
+
+#ifdef __USE_GNU
+/* These are extensions for Linux.  */
+# define POLLMSG	0x400
+# define POLLREMOVE	0x1000
+# define POLLRDHUP	0x2000
+#endif
+
+/* Event types always implicitly polled for.  These bits need not be set in
+   `events', but they will appear in `revents' to indicate the status of
+   the file descriptor.  */
+#define POLLERR		0x008		/* Error condition.  */
+#define POLLHUP		0x010		/* Hung up.  */
+#define POLLNVAL	0x020		/* Invalid polling request.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/sockaddr.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/sockaddr.h
new file mode 100644
index 0000000000..dc7dc39562
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/sockaddr.h
@@ -0,0 +1,42 @@
+/* Definition of struct sockaddr_* members and sizes, Linux/m68k version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/*
+ * Never include this file directly; use <sys/socket.h> instead.
+ */
+
+#ifndef _BITS_SOCKADDR_H
+#define _BITS_SOCKADDR_H	1
+
+
+/* POSIX.1g specifies this type name for the `sa_family' member.  */
+typedef unsigned short int sa_family_t;
+
+/* This macro is used to declare the initial common members
+   of the data types used for socket addresses, `struct sockaddr',
+   `struct sockaddr_in', `struct sockaddr_un', etc.  */
+
+#define	__SOCKADDR_COMMON(sa_prefix) \
+  sa_family_t sa_prefix##family
+
+#define __SOCKADDR_COMMON_SIZE	(sizeof (unsigned short int))
+
+/* Size of struct sockaddr_storage.  */
+#define _SS_SIZE 126
+
+#endif	/* bits/sockaddr.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/stat.h
new file mode 100644
index 0000000000..9394d97158
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/bits/stat.h
@@ -0,0 +1,172 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+
+
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned short int __pad1;
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;			/* File serial number.	*/
+#else
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+#endif
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+#ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+#else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+#endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+#else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+#ifndef __USE_FILE_OFFSET64
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+#else
+    __ino64_t st_ino;			/* File serial number.	*/
+#endif
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned short int __pad1;
+
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    __ino64_t st_ino;			/* File serial number.		*/
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/brk.c
new file mode 100644
index 0000000000..6ce9d512bd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/brk.c
@@ -0,0 +1,47 @@
+/* brk system call for Linux/m68k.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux/x86 ELF
+   dynamic linker.  Sigh.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  INTERNAL_SYSCALL_DECL (err);
+  newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
+  __curbrk = newbrk;
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/clone.S
new file mode 100644
index 0000000000..a680191765
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/clone.S
@@ -0,0 +1,111 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tls.h>
+
+#define CLONE_VM      0x00000100
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     void *parent_tidptr, void *tls, void *child_tidptr) */
+
+        .text
+ENTRY (__clone)
+
+	/* Sanity check arguments.  */
+	movel	#-EINVAL, %d0
+	movel	4(%sp), %a0		/* no NULL function pointers */
+	tstl	%a0
+	jeq	SYSCALL_ERROR_LABEL
+	movel	8(%sp), %a1		/* no NULL stack pointers */
+	tstl	%a1
+	jeq	SYSCALL_ERROR_LABEL
+
+	/* Allocate space and copy the argument onto the new stack.  */
+	movel	16(%sp), -(%a1)
+
+	/* Do the system call */
+	movel	12+0(%sp), %d1		/* get flags */
+	movel	%d3, -(%a1)             /* save %d3 and get parent_tidptr */
+	movel	%d3, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d3, 0)
+	movel	20+4(%sp), %d3
+	movel	%d4, -(%a1)		/* save %d4 and get child_tidptr */
+	movel	%d4, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d4, 0)
+	movel	28+8(%sp), %d4
+	movel	%d5, -(%a1)             /* save %d5 and get tls */
+	movel	%d5, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d5, 0)
+	movel	24+12(%sp), %d5
+	/* save %d2 and get stack pointer */
+#ifdef __mcoldfire__
+	movel	%d2, -(%a1)
+	movel	%d2, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d2, 0)
+	movel	%a1, %d2
+#else
+	exg	%d2, %a1		/* save %d2 and get stack pointer */
+	cfi_register (%d2, %a1)
+#endif
+	movel	#SYS_ify (clone), %d0
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
+	trap	#0
+#ifdef __mcoldfire__
+	movel	(%sp)+, %d2
+#else
+	exg	%d2, %a1		/* restore %d2 */
+#endif
+	movel	(%sp)+, %d5             /* restore %d5, %d4 and %d3 */
+	movel	(%sp)+, %d4
+	movel	(%sp)+, %d3
+
+	tstl	%d0
+	jmi	SYSCALL_ERROR_LABEL
+	jeq	1f
+
+	rts
+
+1:
+	cfi_startproc
+	cfi_undefined (pc)	/* Mark end of stack */
+	subl	%fp, %fp	/* terminate the stack frame */
+	jsr	(%a0)
+	movel	%d0, %d1
+	movel	#SYS_ify (exit), %d0
+	trap	#0
+	cfi_endproc
+
+	cfi_startproc
+PSEUDO_END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h
new file mode 100644
index 0000000000..1daac514a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h
@@ -0,0 +1,109 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H	1
+
+#include <stdint.h>
+#include <sysdep.h>
+#include <m68k-vdso.h>
+
+/* Coldfire has no atomic compare-and-exchange operation, but the
+   kernel provides userspace atomicity operations.  Use them.  */
+
+typedef int32_t atomic32_t;
+typedef uint32_t uatomic32_t;
+typedef int_fast32_t atomic_fast32_t;
+typedef uint_fast32_t uatomic_fast32_t;
+
+typedef intptr_t atomicptr_t;
+typedef uintptr_t uatomicptr_t;
+typedef intmax_t atomic_max_t;
+typedef uintmax_t uatomic_max_t;
+
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
+/* XXX Is this actually correct?  */
+#define ATOMIC_EXCHANGE_USES_CAS 1
+
+/* The only basic operation needed is compare and exchange.  */
+/* For ColdFire we'll have to trap into the kernel mode anyway,
+   so trap from the library rather then from the kernel wrapper.  */
+#ifdef SHARED
+# define atomic_compare_and_exchange_val_acq(mem, newval, oldval)	\
+  ({									\
+    /* Use temporary variables to workaround call-clobberness of 	\
+       the registers.  */						\
+    __typeof (mem) _mem = mem;						\
+    __typeof (oldval) _oldval = oldval;					\
+    __typeof (newval) _newval = newval;					\
+    register uint32_t *_a0 asm ("a0") = (uint32_t *) _mem;		\
+    register uint32_t _d0 asm ("d0") = (uint32_t) _oldval;		\
+    register uint32_t _d1 asm ("d1") = (uint32_t) _newval;		\
+    void *tmp;								\
+									\
+    asm ("movel #_GLOBAL_OFFSET_TABLE_@GOTPC, %2\n\t"			\
+	 "lea (-6, %%pc, %2), %2\n\t"					\
+	 "movel " STR_M68K_VDSO_SYMBOL (__vdso_atomic_cmpxchg_32)	\
+	 "@GOT(%2), %2\n\t"						\
+	 "movel (%2), %2\n\t"						\
+	 "jsr (%2)\n\t"							\
+	 : "+d" (_d0), "+m" (*_a0), "=&a" (tmp)				\
+	 : "a" (_a0), "d" (_d1));					\
+    (__typeof (oldval)) _d0;						\
+  })
+#else
+# define atomic_compare_and_exchange_val_acq(mem, newval, oldval)	\
+  ({									\
+    /* Use temporary variables to workaround call-clobberness of 	\
+       the registers.  */						\
+    __typeof (mem) _mem = mem;						\
+    __typeof (oldval) _oldval = oldval;					\
+    __typeof (newval) _newval = newval;					\
+    register uint32_t _d0 asm ("d0") = SYS_ify (atomic_cmpxchg_32);	\
+    register uint32_t *_a0 asm ("a0") = (uint32_t *) _mem;		\
+    register uint32_t _d2 asm ("d2") = (uint32_t) _oldval;		\
+    register uint32_t _d1 asm ("d1") = (uint32_t) _newval;		\
+									\
+    asm ("trap #0"							\
+	 : "+d" (_d0), "+m" (*_a0)					\
+	 : "a" (_a0), "d" (_d2), "d" (_d1));				\
+    (__typeof (oldval)) _d0;						\
+  })
+#endif
+
+#ifdef SHARED
+# define atomic_full_barrier()					 \
+  ({								 \
+    void *tmp;							 \
+								 \
+    asm ("movel #_GLOBAL_OFFSET_TABLE_@GOTPC, %0\n\t"		 \
+	 "lea (-6, %pc, %0), %0\n\t"				 \
+	 "movel " STR_M68K_VDSO_SYMBOL (__vdso_atomic_barrier)	 \
+	 "@GOT(%0), %0\n\t"					 \
+	 "movel (%0), %0\n\t"					 \
+	 "jsr (%0)\n\t"						 \
+	 : "=&a" (tmp));					 \
+  })
+#else
+# define atomic_full_barrier()				\
+  (INTERNAL_SYSCALL (atomic_barrier, , 0), (void) 0)
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
new file mode 100644
index 0000000000..cbf3a3cb2e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __libc_stack_end D 0x4
+GLIBC_2.4 __stack_chk_guard D 0x4
+GLIBC_2.4 __tls_get_addr F
+GLIBC_2.4 _dl_mcount F
+GLIBC_2.4 _r_debug D 0x14
+GLIBC_2.4 calloc F
+GLIBC_2.4 free F
+GLIBC_2.4 malloc F
+GLIBC_2.4 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist
new file mode 100644
index 0000000000..e80f213955
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist
new file mode 100644
index 0000000000..df0c397ddc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 gai_cancel F
+GLIBC_2.4 gai_error F
+GLIBC_2.4 gai_suspend F
+GLIBC_2.4 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
new file mode 100644
index 0000000000..b594ebd7c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -0,0 +1,2133 @@
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __m68k_read_tp F
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.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.4 GLIBC_2.4 A
+GLIBC_2.4 _Exit F
+GLIBC_2.4 _IO_2_1_stderr_ D 0x98
+GLIBC_2.4 _IO_2_1_stdin_ D 0x98
+GLIBC_2.4 _IO_2_1_stdout_ D 0x98
+GLIBC_2.4 _IO_adjust_column F
+GLIBC_2.4 _IO_adjust_wcolumn F
+GLIBC_2.4 _IO_default_doallocate F
+GLIBC_2.4 _IO_default_finish F
+GLIBC_2.4 _IO_default_pbackfail F
+GLIBC_2.4 _IO_default_uflow F
+GLIBC_2.4 _IO_default_xsgetn F
+GLIBC_2.4 _IO_default_xsputn F
+GLIBC_2.4 _IO_do_write F
+GLIBC_2.4 _IO_doallocbuf F
+GLIBC_2.4 _IO_fclose F
+GLIBC_2.4 _IO_fdopen F
+GLIBC_2.4 _IO_feof F
+GLIBC_2.4 _IO_ferror F
+GLIBC_2.4 _IO_fflush F
+GLIBC_2.4 _IO_fgetpos F
+GLIBC_2.4 _IO_fgetpos64 F
+GLIBC_2.4 _IO_fgets F
+GLIBC_2.4 _IO_file_attach F
+GLIBC_2.4 _IO_file_close F
+GLIBC_2.4 _IO_file_close_it F
+GLIBC_2.4 _IO_file_doallocate F
+GLIBC_2.4 _IO_file_finish F
+GLIBC_2.4 _IO_file_fopen F
+GLIBC_2.4 _IO_file_init F
+GLIBC_2.4 _IO_file_jumps D 0x54
+GLIBC_2.4 _IO_file_open F
+GLIBC_2.4 _IO_file_overflow F
+GLIBC_2.4 _IO_file_read F
+GLIBC_2.4 _IO_file_seek F
+GLIBC_2.4 _IO_file_seekoff F
+GLIBC_2.4 _IO_file_setbuf F
+GLIBC_2.4 _IO_file_stat F
+GLIBC_2.4 _IO_file_sync F
+GLIBC_2.4 _IO_file_underflow F
+GLIBC_2.4 _IO_file_write F
+GLIBC_2.4 _IO_file_xsputn F
+GLIBC_2.4 _IO_flockfile F
+GLIBC_2.4 _IO_flush_all F
+GLIBC_2.4 _IO_flush_all_linebuffered F
+GLIBC_2.4 _IO_fopen F
+GLIBC_2.4 _IO_fprintf F
+GLIBC_2.4 _IO_fputs F
+GLIBC_2.4 _IO_fread F
+GLIBC_2.4 _IO_free_backup_area F
+GLIBC_2.4 _IO_free_wbackup_area F
+GLIBC_2.4 _IO_fsetpos F
+GLIBC_2.4 _IO_fsetpos64 F
+GLIBC_2.4 _IO_ftell F
+GLIBC_2.4 _IO_ftrylockfile F
+GLIBC_2.4 _IO_funlockfile F
+GLIBC_2.4 _IO_fwrite F
+GLIBC_2.4 _IO_getc F
+GLIBC_2.4 _IO_getline F
+GLIBC_2.4 _IO_getline_info F
+GLIBC_2.4 _IO_gets F
+GLIBC_2.4 _IO_init F
+GLIBC_2.4 _IO_init_marker F
+GLIBC_2.4 _IO_init_wmarker F
+GLIBC_2.4 _IO_iter_begin F
+GLIBC_2.4 _IO_iter_end F
+GLIBC_2.4 _IO_iter_file F
+GLIBC_2.4 _IO_iter_next F
+GLIBC_2.4 _IO_least_wmarker F
+GLIBC_2.4 _IO_link_in F
+GLIBC_2.4 _IO_list_all D 0x4
+GLIBC_2.4 _IO_list_lock F
+GLIBC_2.4 _IO_list_resetlock F
+GLIBC_2.4 _IO_list_unlock F
+GLIBC_2.4 _IO_marker_delta F
+GLIBC_2.4 _IO_marker_difference F
+GLIBC_2.4 _IO_padn F
+GLIBC_2.4 _IO_peekc_locked F
+GLIBC_2.4 _IO_popen F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_proc_close F
+GLIBC_2.4 _IO_proc_open F
+GLIBC_2.4 _IO_putc F
+GLIBC_2.4 _IO_puts F
+GLIBC_2.4 _IO_remove_marker F
+GLIBC_2.4 _IO_seekmark F
+GLIBC_2.4 _IO_seekoff F
+GLIBC_2.4 _IO_seekpos F
+GLIBC_2.4 _IO_seekwmark F
+GLIBC_2.4 _IO_setb F
+GLIBC_2.4 _IO_setbuffer F
+GLIBC_2.4 _IO_setvbuf F
+GLIBC_2.4 _IO_sgetn F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sputbackc F
+GLIBC_2.4 _IO_sputbackwc F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_str_init_readonly F
+GLIBC_2.4 _IO_str_init_static F
+GLIBC_2.4 _IO_str_overflow F
+GLIBC_2.4 _IO_str_pbackfail F
+GLIBC_2.4 _IO_str_seekoff F
+GLIBC_2.4 _IO_str_underflow F
+GLIBC_2.4 _IO_sungetc F
+GLIBC_2.4 _IO_sungetwc F
+GLIBC_2.4 _IO_switch_to_get_mode F
+GLIBC_2.4 _IO_switch_to_main_wget_area F
+GLIBC_2.4 _IO_switch_to_wbackup_area F
+GLIBC_2.4 _IO_switch_to_wget_mode F
+GLIBC_2.4 _IO_un_link F
+GLIBC_2.4 _IO_ungetc F
+GLIBC_2.4 _IO_unsave_markers F
+GLIBC_2.4 _IO_unsave_wmarkers F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 _IO_wdefault_doallocate F
+GLIBC_2.4 _IO_wdefault_finish F
+GLIBC_2.4 _IO_wdefault_pbackfail F
+GLIBC_2.4 _IO_wdefault_uflow F
+GLIBC_2.4 _IO_wdefault_xsgetn F
+GLIBC_2.4 _IO_wdefault_xsputn F
+GLIBC_2.4 _IO_wdo_write F
+GLIBC_2.4 _IO_wdoallocbuf F
+GLIBC_2.4 _IO_wfile_jumps D 0x54
+GLIBC_2.4 _IO_wfile_overflow F
+GLIBC_2.4 _IO_wfile_seekoff F
+GLIBC_2.4 _IO_wfile_sync F
+GLIBC_2.4 _IO_wfile_underflow F
+GLIBC_2.4 _IO_wfile_xsputn F
+GLIBC_2.4 _IO_wmarker_delta F
+GLIBC_2.4 _IO_wsetb F
+GLIBC_2.4 ___brk_addr D 0x4
+GLIBC_2.4 __adjtimex F
+GLIBC_2.4 __after_morecore_hook D 0x4
+GLIBC_2.4 __argz_count F
+GLIBC_2.4 __argz_next F
+GLIBC_2.4 __argz_stringify F
+GLIBC_2.4 __asprintf F
+GLIBC_2.4 __assert F
+GLIBC_2.4 __assert_fail F
+GLIBC_2.4 __assert_perror_fail F
+GLIBC_2.4 __backtrace F
+GLIBC_2.4 __backtrace_symbols F
+GLIBC_2.4 __backtrace_symbols_fd F
+GLIBC_2.4 __bsd_getpgrp F
+GLIBC_2.4 __bzero F
+GLIBC_2.4 __check_rhosts_file D 0x4
+GLIBC_2.4 __chk_fail F
+GLIBC_2.4 __clone F
+GLIBC_2.4 __close F
+GLIBC_2.4 __cmsg_nxthdr F
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __connect F
+GLIBC_2.4 __ctype_b_loc F
+GLIBC_2.4 __ctype_get_mb_cur_max F
+GLIBC_2.4 __ctype_tolower_loc F
+GLIBC_2.4 __ctype_toupper_loc F
+GLIBC_2.4 __curbrk D 0x4
+GLIBC_2.4 __cxa_atexit F
+GLIBC_2.4 __cxa_finalize F
+GLIBC_2.4 __cyg_profile_func_enter F
+GLIBC_2.4 __cyg_profile_func_exit F
+GLIBC_2.4 __daylight D 0x4
+GLIBC_2.4 __dcgettext F
+GLIBC_2.4 __default_morecore F
+GLIBC_2.4 __dgettext F
+GLIBC_2.4 __divdi3 F
+GLIBC_2.4 __dup2 F
+GLIBC_2.4 __duplocale F
+GLIBC_2.4 __endmntent F
+GLIBC_2.4 __environ D 0x4
+GLIBC_2.4 __errno_location F
+GLIBC_2.4 __fbufsize F
+GLIBC_2.4 __fcntl F
+GLIBC_2.4 __ffs 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 __finite F
+GLIBC_2.4 __finitef F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __flbf F
+GLIBC_2.4 __fork F
+GLIBC_2.4 __fpending F
+GLIBC_2.4 __fprintf_chk F
+GLIBC_2.4 __fpu_control D 0x4
+GLIBC_2.4 __fpurge F
+GLIBC_2.4 __freadable F
+GLIBC_2.4 __freading F
+GLIBC_2.4 __free_hook D 0x4
+GLIBC_2.4 __freelocale F
+GLIBC_2.4 __fsetlocking F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fwritable F
+GLIBC_2.4 __fwriting F
+GLIBC_2.4 __fxstat F
+GLIBC_2.4 __fxstat64 F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdelim 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 __getmntent_r F
+GLIBC_2.4 __getpagesize F
+GLIBC_2.4 __getpgid F
+GLIBC_2.4 __getpid F
+GLIBC_2.4 __gets_chk F
+GLIBC_2.4 __gettimeofday F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __gmtime_r F
+GLIBC_2.4 __h_errno_location F
+GLIBC_2.4 __isalnum_l F
+GLIBC_2.4 __isalpha_l F
+GLIBC_2.4 __isascii_l F
+GLIBC_2.4 __isblank_l F
+GLIBC_2.4 __iscntrl_l F
+GLIBC_2.4 __isctype F
+GLIBC_2.4 __isdigit_l F
+GLIBC_2.4 __isgraph_l F
+GLIBC_2.4 __isinf F
+GLIBC_2.4 __isinff F
+GLIBC_2.4 __isinfl F
+GLIBC_2.4 __islower_l F
+GLIBC_2.4 __isnan F
+GLIBC_2.4 __isnanf F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __isprint_l F
+GLIBC_2.4 __ispunct_l F
+GLIBC_2.4 __isspace_l F
+GLIBC_2.4 __isupper_l F
+GLIBC_2.4 __iswalnum_l F
+GLIBC_2.4 __iswalpha_l F
+GLIBC_2.4 __iswblank_l F
+GLIBC_2.4 __iswcntrl_l F
+GLIBC_2.4 __iswctype F
+GLIBC_2.4 __iswctype_l F
+GLIBC_2.4 __iswdigit_l F
+GLIBC_2.4 __iswgraph_l F
+GLIBC_2.4 __iswlower_l F
+GLIBC_2.4 __iswprint_l F
+GLIBC_2.4 __iswpunct_l F
+GLIBC_2.4 __iswspace_l F
+GLIBC_2.4 __iswupper_l F
+GLIBC_2.4 __iswxdigit_l F
+GLIBC_2.4 __isxdigit_l F
+GLIBC_2.4 __ivaliduser F
+GLIBC_2.4 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.4 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.4 __key_gendes_LOCAL D 0x4
+GLIBC_2.4 __libc_allocate_rtsig F
+GLIBC_2.4 __libc_calloc F
+GLIBC_2.4 __libc_current_sigrtmax F
+GLIBC_2.4 __libc_current_sigrtmin F
+GLIBC_2.4 __libc_free F
+GLIBC_2.4 __libc_freeres F
+GLIBC_2.4 __libc_init_first F
+GLIBC_2.4 __libc_mallinfo F
+GLIBC_2.4 __libc_malloc F
+GLIBC_2.4 __libc_mallopt F
+GLIBC_2.4 __libc_memalign F
+GLIBC_2.4 __libc_pvalloc F
+GLIBC_2.4 __libc_realloc F
+GLIBC_2.4 __libc_sa_len F
+GLIBC_2.4 __libc_start_main F
+GLIBC_2.4 __libc_valloc F
+GLIBC_2.4 __lseek F
+GLIBC_2.4 __lxstat F
+GLIBC_2.4 __lxstat64 F
+GLIBC_2.4 __malloc_hook D 0x4
+GLIBC_2.4 __malloc_initialize_hook D 0x4
+GLIBC_2.4 __mbrlen F
+GLIBC_2.4 __mbrtowc F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __memalign_hook D 0x4
+GLIBC_2.4 __memcpy_chk F
+GLIBC_2.4 __memmove_chk F
+GLIBC_2.4 __mempcpy F
+GLIBC_2.4 __mempcpy_chk F
+GLIBC_2.4 __mempcpy_small F
+GLIBC_2.4 __memset_chk F
+GLIBC_2.4 __moddi3 F
+GLIBC_2.4 __monstartup F
+GLIBC_2.4 __morecore D 0x4
+GLIBC_2.4 __nanosleep F
+GLIBC_2.4 __newlocale F
+GLIBC_2.4 __nl_langinfo_l F
+GLIBC_2.4 __nss_configure_lookup F
+GLIBC_2.4 __nss_database_lookup F
+GLIBC_2.4 __nss_group_lookup F
+GLIBC_2.4 __nss_hostname_digits_dots F
+GLIBC_2.4 __nss_hosts_lookup F
+GLIBC_2.4 __nss_next F
+GLIBC_2.4 __nss_passwd_lookup F
+GLIBC_2.4 __open F
+GLIBC_2.4 __open64 F
+GLIBC_2.4 __overflow F
+GLIBC_2.4 __pipe F
+GLIBC_2.4 __poll F
+GLIBC_2.4 __pread64 F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp F
+GLIBC_2.4 __profile_frequency F
+GLIBC_2.4 __progname D 0x4
+GLIBC_2.4 __progname_full D 0x4
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __pwrite64 F
+GLIBC_2.4 __rawmemchr F
+GLIBC_2.4 __rcmd_errstr D 0x4
+GLIBC_2.4 __read F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realloc_hook D 0x4
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __register_atfork F
+GLIBC_2.4 __res_init F
+GLIBC_2.4 __res_nclose F
+GLIBC_2.4 __res_ninit F
+GLIBC_2.4 __res_randomid F
+GLIBC_2.4 __res_state F
+GLIBC_2.4 __rpc_thread_createerr F
+GLIBC_2.4 __rpc_thread_svc_fdset F
+GLIBC_2.4 __rpc_thread_svc_max_pollfd F
+GLIBC_2.4 __rpc_thread_svc_pollfd F
+GLIBC_2.4 __sbrk F
+GLIBC_2.4 __sched_get_priority_max F
+GLIBC_2.4 __sched_get_priority_min F
+GLIBC_2.4 __sched_getparam F
+GLIBC_2.4 __sched_getscheduler F
+GLIBC_2.4 __sched_setscheduler F
+GLIBC_2.4 __sched_yield F
+GLIBC_2.4 __secure_getenv F
+GLIBC_2.4 __select F
+GLIBC_2.4 __send F
+GLIBC_2.4 __setmntent F
+GLIBC_2.4 __setpgid F
+GLIBC_2.4 __sigaction F
+GLIBC_2.4 __sigaddset F
+GLIBC_2.4 __sigdelset F
+GLIBC_2.4 __sigismember F
+GLIBC_2.4 __signbit F
+GLIBC_2.4 __signbitf F
+GLIBC_2.4 __sigpause F
+GLIBC_2.4 __sigsetjmp F
+GLIBC_2.4 __sigsuspend F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __statfs F
+GLIBC_2.4 __stpcpy F
+GLIBC_2.4 __stpcpy_chk F
+GLIBC_2.4 __stpcpy_small F
+GLIBC_2.4 __stpncpy F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strcasecmp F
+GLIBC_2.4 __strcasecmp_l F
+GLIBC_2.4 __strcasestr F
+GLIBC_2.4 __strcat_chk F
+GLIBC_2.4 __strcoll_l F
+GLIBC_2.4 __strcpy_chk F
+GLIBC_2.4 __strcpy_small F
+GLIBC_2.4 __strcspn_c1 F
+GLIBC_2.4 __strcspn_c2 F
+GLIBC_2.4 __strcspn_c3 F
+GLIBC_2.4 __strdup F
+GLIBC_2.4 __strerror_r F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strftime_l F
+GLIBC_2.4 __strncasecmp_l F
+GLIBC_2.4 __strncat_chk F
+GLIBC_2.4 __strncpy_chk F
+GLIBC_2.4 __strndup F
+GLIBC_2.4 __strpbrk_c2 F
+GLIBC_2.4 __strpbrk_c3 F
+GLIBC_2.4 __strsep_1c F
+GLIBC_2.4 __strsep_2c F
+GLIBC_2.4 __strsep_3c F
+GLIBC_2.4 __strsep_g F
+GLIBC_2.4 __strspn_c1 F
+GLIBC_2.4 __strspn_c2 F
+GLIBC_2.4 __strspn_c3 F
+GLIBC_2.4 __strtod_internal F
+GLIBC_2.4 __strtod_l F
+GLIBC_2.4 __strtof_internal F
+GLIBC_2.4 __strtof_l F
+GLIBC_2.4 __strtok_r F
+GLIBC_2.4 __strtok_r_1c F
+GLIBC_2.4 __strtol_internal F
+GLIBC_2.4 __strtol_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __strtoll_internal F
+GLIBC_2.4 __strtoll_l F
+GLIBC_2.4 __strtoul_internal F
+GLIBC_2.4 __strtoul_l F
+GLIBC_2.4 __strtoull_internal F
+GLIBC_2.4 __strtoull_l F
+GLIBC_2.4 __strverscmp F
+GLIBC_2.4 __strxfrm_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __sysconf F
+GLIBC_2.4 __sysctl F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __sysv_signal F
+GLIBC_2.4 __timezone D 0x4
+GLIBC_2.4 __toascii_l F
+GLIBC_2.4 __tolower_l F
+GLIBC_2.4 __toupper_l F
+GLIBC_2.4 __towctrans F
+GLIBC_2.4 __towctrans_l F
+GLIBC_2.4 __towlower_l F
+GLIBC_2.4 __towupper_l F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __tzname D 0x8
+GLIBC_2.4 __udivdi3 F
+GLIBC_2.4 __uflow F
+GLIBC_2.4 __umoddi3 F
+GLIBC_2.4 __underflow F
+GLIBC_2.4 __uselocale F
+GLIBC_2.4 __vfork F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wait F
+GLIBC_2.4 __waitpid F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscasecmp_l F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscoll_l F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsftime_l F
+GLIBC_2.4 __wcsncasecmp_l 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 __wcstod_internal F
+GLIBC_2.4 __wcstod_l F
+GLIBC_2.4 __wcstof_internal F
+GLIBC_2.4 __wcstof_l F
+GLIBC_2.4 __wcstol_internal F
+GLIBC_2.4 __wcstol_l F
+GLIBC_2.4 __wcstold_internal F
+GLIBC_2.4 __wcstold_l F
+GLIBC_2.4 __wcstoll_internal F
+GLIBC_2.4 __wcstoll_l F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wcstoul_internal F
+GLIBC_2.4 __wcstoul_l F
+GLIBC_2.4 __wcstoull_internal F
+GLIBC_2.4 __wcstoull_l F
+GLIBC_2.4 __wcsxfrm_l F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wctrans_l F
+GLIBC_2.4 __wctype_l 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 __woverflow F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __write F
+GLIBC_2.4 __wuflow F
+GLIBC_2.4 __wunderflow F
+GLIBC_2.4 __xmknod F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 __xpg_basename F
+GLIBC_2.4 __xpg_sigpause F
+GLIBC_2.4 __xpg_strerror_r F
+GLIBC_2.4 __xstat F
+GLIBC_2.4 __xstat64 F
+GLIBC_2.4 _authenticate F
+GLIBC_2.4 _dl_mcount_wrapper F
+GLIBC_2.4 _dl_mcount_wrapper_check F
+GLIBC_2.4 _environ D 0x4
+GLIBC_2.4 _exit F
+GLIBC_2.4 _flushlbf F
+GLIBC_2.4 _libc_intl_domainname D 0x5
+GLIBC_2.4 _longjmp F
+GLIBC_2.4 _mcleanup F
+GLIBC_2.4 _mcount F
+GLIBC_2.4 _nl_default_dirname D 0x12
+GLIBC_2.4 _nl_domain_bindings D 0x4
+GLIBC_2.4 _nl_msg_cat_cntr D 0x4
+GLIBC_2.4 _null_auth D 0xc
+GLIBC_2.4 _obstack_allocated_p F
+GLIBC_2.4 _obstack_begin F
+GLIBC_2.4 _obstack_begin_1 F
+GLIBC_2.4 _obstack_free F
+GLIBC_2.4 _obstack_memory_used F
+GLIBC_2.4 _obstack_newchunk F
+GLIBC_2.4 _res D 0x1fe
+GLIBC_2.4 _res_hconf D 0x30
+GLIBC_2.4 _rpc_dtablesize F
+GLIBC_2.4 _seterr_reply F
+GLIBC_2.4 _setjmp F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 _sys_siglist D 0x104
+GLIBC_2.4 _tolower F
+GLIBC_2.4 _toupper F
+GLIBC_2.4 a64l F
+GLIBC_2.4 abort F
+GLIBC_2.4 abs F
+GLIBC_2.4 accept F
+GLIBC_2.4 access F
+GLIBC_2.4 acct F
+GLIBC_2.4 addmntent F
+GLIBC_2.4 addseverity F
+GLIBC_2.4 adjtime F
+GLIBC_2.4 adjtimex F
+GLIBC_2.4 advance F
+GLIBC_2.4 alarm F
+GLIBC_2.4 alphasort F
+GLIBC_2.4 alphasort64 F
+GLIBC_2.4 argp_err_exit_status D 0x4
+GLIBC_2.4 argp_error F
+GLIBC_2.4 argp_failure F
+GLIBC_2.4 argp_help F
+GLIBC_2.4 argp_parse F
+GLIBC_2.4 argp_program_bug_address D 0x4
+GLIBC_2.4 argp_program_version D 0x4
+GLIBC_2.4 argp_program_version_hook D 0x4
+GLIBC_2.4 argp_state_help F
+GLIBC_2.4 argp_usage F
+GLIBC_2.4 argz_add F
+GLIBC_2.4 argz_add_sep F
+GLIBC_2.4 argz_append F
+GLIBC_2.4 argz_count F
+GLIBC_2.4 argz_create F
+GLIBC_2.4 argz_create_sep F
+GLIBC_2.4 argz_delete F
+GLIBC_2.4 argz_extract F
+GLIBC_2.4 argz_insert F
+GLIBC_2.4 argz_next F
+GLIBC_2.4 argz_replace F
+GLIBC_2.4 argz_stringify F
+GLIBC_2.4 asctime F
+GLIBC_2.4 asctime_r F
+GLIBC_2.4 asprintf F
+GLIBC_2.4 atof F
+GLIBC_2.4 atoi F
+GLIBC_2.4 atol F
+GLIBC_2.4 atoll F
+GLIBC_2.4 authdes_create F
+GLIBC_2.4 authdes_getucred F
+GLIBC_2.4 authdes_pk_create F
+GLIBC_2.4 authnone_create F
+GLIBC_2.4 authunix_create F
+GLIBC_2.4 authunix_create_default F
+GLIBC_2.4 backtrace F
+GLIBC_2.4 backtrace_symbols F
+GLIBC_2.4 backtrace_symbols_fd F
+GLIBC_2.4 basename F
+GLIBC_2.4 bcmp F
+GLIBC_2.4 bcopy F
+GLIBC_2.4 bdflush F
+GLIBC_2.4 bind F
+GLIBC_2.4 bind_textdomain_codeset F
+GLIBC_2.4 bindresvport F
+GLIBC_2.4 bindtextdomain F
+GLIBC_2.4 brk F
+GLIBC_2.4 bsd_signal F
+GLIBC_2.4 bsearch F
+GLIBC_2.4 btowc F
+GLIBC_2.4 bzero F
+GLIBC_2.4 cacheflush F
+GLIBC_2.4 calloc F
+GLIBC_2.4 callrpc F
+GLIBC_2.4 canonicalize_file_name F
+GLIBC_2.4 capget F
+GLIBC_2.4 capset F
+GLIBC_2.4 catclose F
+GLIBC_2.4 catgets F
+GLIBC_2.4 catopen F
+GLIBC_2.4 cbc_crypt F
+GLIBC_2.4 cfgetispeed F
+GLIBC_2.4 cfgetospeed F
+GLIBC_2.4 cfmakeraw F
+GLIBC_2.4 cfree F
+GLIBC_2.4 cfsetispeed F
+GLIBC_2.4 cfsetospeed F
+GLIBC_2.4 cfsetspeed F
+GLIBC_2.4 chdir F
+GLIBC_2.4 chflags F
+GLIBC_2.4 chmod F
+GLIBC_2.4 chown F
+GLIBC_2.4 chroot F
+GLIBC_2.4 clearenv F
+GLIBC_2.4 clearerr F
+GLIBC_2.4 clearerr_unlocked F
+GLIBC_2.4 clnt_broadcast F
+GLIBC_2.4 clnt_create F
+GLIBC_2.4 clnt_pcreateerror F
+GLIBC_2.4 clnt_perrno F
+GLIBC_2.4 clnt_perror F
+GLIBC_2.4 clnt_spcreateerror F
+GLIBC_2.4 clnt_sperrno F
+GLIBC_2.4 clnt_sperror F
+GLIBC_2.4 clntraw_create F
+GLIBC_2.4 clnttcp_create F
+GLIBC_2.4 clntudp_bufcreate F
+GLIBC_2.4 clntudp_create F
+GLIBC_2.4 clntunix_create F
+GLIBC_2.4 clock F
+GLIBC_2.4 clone F
+GLIBC_2.4 close F
+GLIBC_2.4 closedir F
+GLIBC_2.4 closelog F
+GLIBC_2.4 confstr F
+GLIBC_2.4 connect F
+GLIBC_2.4 copysign F
+GLIBC_2.4 copysignf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 creat F
+GLIBC_2.4 creat64 F
+GLIBC_2.4 create_module F
+GLIBC_2.4 ctermid F
+GLIBC_2.4 ctime F
+GLIBC_2.4 ctime_r F
+GLIBC_2.4 cuserid F
+GLIBC_2.4 daemon F
+GLIBC_2.4 daylight D 0x4
+GLIBC_2.4 dcgettext F
+GLIBC_2.4 dcngettext F
+GLIBC_2.4 delete_module F
+GLIBC_2.4 des_setparity F
+GLIBC_2.4 dgettext F
+GLIBC_2.4 difftime F
+GLIBC_2.4 dirfd F
+GLIBC_2.4 dirname F
+GLIBC_2.4 div F
+GLIBC_2.4 dl_iterate_phdr F
+GLIBC_2.4 dngettext F
+GLIBC_2.4 dprintf F
+GLIBC_2.4 drand48 F
+GLIBC_2.4 drand48_r F
+GLIBC_2.4 dup F
+GLIBC_2.4 dup2 F
+GLIBC_2.4 duplocale F
+GLIBC_2.4 dysize F
+GLIBC_2.4 eaccess F
+GLIBC_2.4 ecb_crypt F
+GLIBC_2.4 ecvt F
+GLIBC_2.4 ecvt_r F
+GLIBC_2.4 endaliasent F
+GLIBC_2.4 endfsent F
+GLIBC_2.4 endgrent F
+GLIBC_2.4 endhostent F
+GLIBC_2.4 endmntent F
+GLIBC_2.4 endnetent F
+GLIBC_2.4 endnetgrent F
+GLIBC_2.4 endprotoent F
+GLIBC_2.4 endpwent F
+GLIBC_2.4 endrpcent F
+GLIBC_2.4 endservent F
+GLIBC_2.4 endspent F
+GLIBC_2.4 endttyent F
+GLIBC_2.4 endusershell F
+GLIBC_2.4 endutent F
+GLIBC_2.4 endutxent F
+GLIBC_2.4 environ D 0x4
+GLIBC_2.4 envz_add F
+GLIBC_2.4 envz_entry F
+GLIBC_2.4 envz_get F
+GLIBC_2.4 envz_merge F
+GLIBC_2.4 envz_remove F
+GLIBC_2.4 envz_strip F
+GLIBC_2.4 epoll_create F
+GLIBC_2.4 epoll_ctl F
+GLIBC_2.4 epoll_wait F
+GLIBC_2.4 erand48 F
+GLIBC_2.4 erand48_r F
+GLIBC_2.4 err F
+GLIBC_2.4 error F
+GLIBC_2.4 error_at_line F
+GLIBC_2.4 error_message_count D 0x4
+GLIBC_2.4 error_one_per_line D 0x4
+GLIBC_2.4 error_print_progname D 0x4
+GLIBC_2.4 errx F
+GLIBC_2.4 ether_aton F
+GLIBC_2.4 ether_aton_r F
+GLIBC_2.4 ether_hostton F
+GLIBC_2.4 ether_line F
+GLIBC_2.4 ether_ntoa F
+GLIBC_2.4 ether_ntoa_r F
+GLIBC_2.4 ether_ntohost F
+GLIBC_2.4 euidaccess F
+GLIBC_2.4 execl F
+GLIBC_2.4 execle F
+GLIBC_2.4 execlp F
+GLIBC_2.4 execv F
+GLIBC_2.4 execve F
+GLIBC_2.4 execvp F
+GLIBC_2.4 exit F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fattach F
+GLIBC_2.4 fchdir F
+GLIBC_2.4 fchflags F
+GLIBC_2.4 fchmod F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchown F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fclose F
+GLIBC_2.4 fcloseall F
+GLIBC_2.4 fcntl F
+GLIBC_2.4 fcvt F
+GLIBC_2.4 fcvt_r F
+GLIBC_2.4 fdatasync F
+GLIBC_2.4 fdetach F
+GLIBC_2.4 fdopen F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 feof F
+GLIBC_2.4 feof_unlocked F
+GLIBC_2.4 ferror F
+GLIBC_2.4 ferror_unlocked F
+GLIBC_2.4 fexecve F
+GLIBC_2.4 fflush F
+GLIBC_2.4 fflush_unlocked F
+GLIBC_2.4 ffs F
+GLIBC_2.4 ffsl F
+GLIBC_2.4 ffsll F
+GLIBC_2.4 fgetc F
+GLIBC_2.4 fgetc_unlocked F
+GLIBC_2.4 fgetgrent F
+GLIBC_2.4 fgetgrent_r F
+GLIBC_2.4 fgetpos F
+GLIBC_2.4 fgetpos64 F
+GLIBC_2.4 fgetpwent F
+GLIBC_2.4 fgetpwent_r F
+GLIBC_2.4 fgets F
+GLIBC_2.4 fgets_unlocked F
+GLIBC_2.4 fgetspent F
+GLIBC_2.4 fgetspent_r F
+GLIBC_2.4 fgetwc F
+GLIBC_2.4 fgetwc_unlocked F
+GLIBC_2.4 fgetws F
+GLIBC_2.4 fgetws_unlocked F
+GLIBC_2.4 fgetxattr F
+GLIBC_2.4 fileno F
+GLIBC_2.4 fileno_unlocked F
+GLIBC_2.4 finite F
+GLIBC_2.4 finitef F
+GLIBC_2.4 finitel F
+GLIBC_2.4 flistxattr F
+GLIBC_2.4 flock F
+GLIBC_2.4 flockfile F
+GLIBC_2.4 fmemopen F
+GLIBC_2.4 fmtmsg F
+GLIBC_2.4 fnmatch F
+GLIBC_2.4 fopen F
+GLIBC_2.4 fopen64 F
+GLIBC_2.4 fopencookie F
+GLIBC_2.4 fork F
+GLIBC_2.4 fpathconf F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 fputc F
+GLIBC_2.4 fputc_unlocked F
+GLIBC_2.4 fputs F
+GLIBC_2.4 fputs_unlocked F
+GLIBC_2.4 fputwc F
+GLIBC_2.4 fputwc_unlocked F
+GLIBC_2.4 fputws F
+GLIBC_2.4 fputws_unlocked F
+GLIBC_2.4 fread F
+GLIBC_2.4 fread_unlocked F
+GLIBC_2.4 free F
+GLIBC_2.4 freeaddrinfo F
+GLIBC_2.4 freeifaddrs F
+GLIBC_2.4 freelocale F
+GLIBC_2.4 fremovexattr F
+GLIBC_2.4 freopen F
+GLIBC_2.4 freopen64 F
+GLIBC_2.4 frexp F
+GLIBC_2.4 frexpf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 fseek F
+GLIBC_2.4 fseeko F
+GLIBC_2.4 fseeko64 F
+GLIBC_2.4 fsetpos F
+GLIBC_2.4 fsetpos64 F
+GLIBC_2.4 fsetxattr F
+GLIBC_2.4 fstatfs F
+GLIBC_2.4 fstatfs64 F
+GLIBC_2.4 fstatvfs F
+GLIBC_2.4 fstatvfs64 F
+GLIBC_2.4 fsync F
+GLIBC_2.4 ftell F
+GLIBC_2.4 ftello F
+GLIBC_2.4 ftello64 F
+GLIBC_2.4 ftime F
+GLIBC_2.4 ftok F
+GLIBC_2.4 ftruncate F
+GLIBC_2.4 ftruncate64 F
+GLIBC_2.4 ftrylockfile F
+GLIBC_2.4 fts_children F
+GLIBC_2.4 fts_close F
+GLIBC_2.4 fts_open F
+GLIBC_2.4 fts_read F
+GLIBC_2.4 fts_set F
+GLIBC_2.4 ftw F
+GLIBC_2.4 ftw64 F
+GLIBC_2.4 funlockfile F
+GLIBC_2.4 futimes F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwide F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwrite F
+GLIBC_2.4 fwrite_unlocked F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 gai_strerror F
+GLIBC_2.4 gcvt F
+GLIBC_2.4 get_avphys_pages F
+GLIBC_2.4 get_current_dir_name F
+GLIBC_2.4 get_kernel_syms F
+GLIBC_2.4 get_myaddress F
+GLIBC_2.4 get_nprocs F
+GLIBC_2.4 get_nprocs_conf F
+GLIBC_2.4 get_phys_pages F
+GLIBC_2.4 getaddrinfo F
+GLIBC_2.4 getaliasbyname F
+GLIBC_2.4 getaliasbyname_r F
+GLIBC_2.4 getaliasent F
+GLIBC_2.4 getaliasent_r F
+GLIBC_2.4 getc F
+GLIBC_2.4 getc_unlocked F
+GLIBC_2.4 getchar F
+GLIBC_2.4 getchar_unlocked F
+GLIBC_2.4 getcontext F
+GLIBC_2.4 getcwd F
+GLIBC_2.4 getdate F
+GLIBC_2.4 getdate_err D 0x4
+GLIBC_2.4 getdate_r F
+GLIBC_2.4 getdelim F
+GLIBC_2.4 getdirentries F
+GLIBC_2.4 getdirentries64 F
+GLIBC_2.4 getdomainname F
+GLIBC_2.4 getdtablesize F
+GLIBC_2.4 getegid F
+GLIBC_2.4 getenv F
+GLIBC_2.4 geteuid F
+GLIBC_2.4 getfsent F
+GLIBC_2.4 getfsfile F
+GLIBC_2.4 getfsspec F
+GLIBC_2.4 getgid F
+GLIBC_2.4 getgrent F
+GLIBC_2.4 getgrent_r F
+GLIBC_2.4 getgrgid F
+GLIBC_2.4 getgrgid_r F
+GLIBC_2.4 getgrnam F
+GLIBC_2.4 getgrnam_r F
+GLIBC_2.4 getgrouplist F
+GLIBC_2.4 getgroups F
+GLIBC_2.4 gethostbyaddr F
+GLIBC_2.4 gethostbyaddr_r F
+GLIBC_2.4 gethostbyname F
+GLIBC_2.4 gethostbyname2 F
+GLIBC_2.4 gethostbyname2_r F
+GLIBC_2.4 gethostbyname_r F
+GLIBC_2.4 gethostent F
+GLIBC_2.4 gethostent_r F
+GLIBC_2.4 gethostid F
+GLIBC_2.4 gethostname F
+GLIBC_2.4 getifaddrs F
+GLIBC_2.4 getipv4sourcefilter F
+GLIBC_2.4 getitimer F
+GLIBC_2.4 getline F
+GLIBC_2.4 getloadavg F
+GLIBC_2.4 getlogin F
+GLIBC_2.4 getlogin_r F
+GLIBC_2.4 getmntent F
+GLIBC_2.4 getmntent_r F
+GLIBC_2.4 getmsg F
+GLIBC_2.4 getnameinfo F
+GLIBC_2.4 getnetbyaddr F
+GLIBC_2.4 getnetbyaddr_r F
+GLIBC_2.4 getnetbyname F
+GLIBC_2.4 getnetbyname_r F
+GLIBC_2.4 getnetent F
+GLIBC_2.4 getnetent_r F
+GLIBC_2.4 getnetgrent F
+GLIBC_2.4 getnetgrent_r F
+GLIBC_2.4 getnetname F
+GLIBC_2.4 getopt F
+GLIBC_2.4 getopt_long F
+GLIBC_2.4 getopt_long_only F
+GLIBC_2.4 getpagesize F
+GLIBC_2.4 getpass F
+GLIBC_2.4 getpeername F
+GLIBC_2.4 getpgid F
+GLIBC_2.4 getpgrp F
+GLIBC_2.4 getpid F
+GLIBC_2.4 getpmsg F
+GLIBC_2.4 getppid F
+GLIBC_2.4 getpriority F
+GLIBC_2.4 getprotobyname F
+GLIBC_2.4 getprotobyname_r F
+GLIBC_2.4 getprotobynumber F
+GLIBC_2.4 getprotobynumber_r F
+GLIBC_2.4 getprotoent F
+GLIBC_2.4 getprotoent_r F
+GLIBC_2.4 getpt F
+GLIBC_2.4 getpublickey F
+GLIBC_2.4 getpw F
+GLIBC_2.4 getpwent F
+GLIBC_2.4 getpwent_r F
+GLIBC_2.4 getpwnam F
+GLIBC_2.4 getpwnam_r F
+GLIBC_2.4 getpwuid F
+GLIBC_2.4 getpwuid_r F
+GLIBC_2.4 getresgid F
+GLIBC_2.4 getresuid F
+GLIBC_2.4 getrlimit F
+GLIBC_2.4 getrlimit64 F
+GLIBC_2.4 getrpcbyname F
+GLIBC_2.4 getrpcbyname_r F
+GLIBC_2.4 getrpcbynumber F
+GLIBC_2.4 getrpcbynumber_r F
+GLIBC_2.4 getrpcent F
+GLIBC_2.4 getrpcent_r F
+GLIBC_2.4 getrpcport F
+GLIBC_2.4 getrusage F
+GLIBC_2.4 gets F
+GLIBC_2.4 getsecretkey F
+GLIBC_2.4 getservbyname F
+GLIBC_2.4 getservbyname_r F
+GLIBC_2.4 getservbyport F
+GLIBC_2.4 getservbyport_r F
+GLIBC_2.4 getservent F
+GLIBC_2.4 getservent_r F
+GLIBC_2.4 getsid F
+GLIBC_2.4 getsockname F
+GLIBC_2.4 getsockopt F
+GLIBC_2.4 getsourcefilter F
+GLIBC_2.4 getspent F
+GLIBC_2.4 getspent_r F
+GLIBC_2.4 getspnam F
+GLIBC_2.4 getspnam_r F
+GLIBC_2.4 getsubopt F
+GLIBC_2.4 gettext F
+GLIBC_2.4 gettimeofday F
+GLIBC_2.4 getttyent F
+GLIBC_2.4 getttynam F
+GLIBC_2.4 getuid F
+GLIBC_2.4 getusershell F
+GLIBC_2.4 getutent F
+GLIBC_2.4 getutent_r F
+GLIBC_2.4 getutid F
+GLIBC_2.4 getutid_r F
+GLIBC_2.4 getutline F
+GLIBC_2.4 getutline_r F
+GLIBC_2.4 getutmp F
+GLIBC_2.4 getutmpx F
+GLIBC_2.4 getutxent F
+GLIBC_2.4 getutxid F
+GLIBC_2.4 getutxline F
+GLIBC_2.4 getw F
+GLIBC_2.4 getwc F
+GLIBC_2.4 getwc_unlocked F
+GLIBC_2.4 getwchar F
+GLIBC_2.4 getwchar_unlocked F
+GLIBC_2.4 getwd F
+GLIBC_2.4 getxattr F
+GLIBC_2.4 glob F
+GLIBC_2.4 glob64 F
+GLIBC_2.4 glob_pattern_p F
+GLIBC_2.4 globfree F
+GLIBC_2.4 globfree64 F
+GLIBC_2.4 gmtime F
+GLIBC_2.4 gmtime_r F
+GLIBC_2.4 gnu_dev_major F
+GLIBC_2.4 gnu_dev_makedev F
+GLIBC_2.4 gnu_dev_minor F
+GLIBC_2.4 gnu_get_libc_release F
+GLIBC_2.4 gnu_get_libc_version F
+GLIBC_2.4 grantpt F
+GLIBC_2.4 group_member F
+GLIBC_2.4 gsignal F
+GLIBC_2.4 gtty F
+GLIBC_2.4 h_errlist D 0x14
+GLIBC_2.4 h_nerr D 0x4
+GLIBC_2.4 hasmntopt F
+GLIBC_2.4 hcreate F
+GLIBC_2.4 hcreate_r F
+GLIBC_2.4 hdestroy F
+GLIBC_2.4 hdestroy_r F
+GLIBC_2.4 herror F
+GLIBC_2.4 host2netname F
+GLIBC_2.4 hsearch F
+GLIBC_2.4 hsearch_r F
+GLIBC_2.4 hstrerror F
+GLIBC_2.4 htonl F
+GLIBC_2.4 htons F
+GLIBC_2.4 iconv F
+GLIBC_2.4 iconv_close F
+GLIBC_2.4 iconv_open F
+GLIBC_2.4 if_freenameindex F
+GLIBC_2.4 if_indextoname F
+GLIBC_2.4 if_nameindex F
+GLIBC_2.4 if_nametoindex F
+GLIBC_2.4 imaxabs F
+GLIBC_2.4 imaxdiv F
+GLIBC_2.4 in6addr_any D 0x10
+GLIBC_2.4 in6addr_loopback D 0x10
+GLIBC_2.4 index F
+GLIBC_2.4 inet6_option_alloc F
+GLIBC_2.4 inet6_option_append F
+GLIBC_2.4 inet6_option_find F
+GLIBC_2.4 inet6_option_init F
+GLIBC_2.4 inet6_option_next F
+GLIBC_2.4 inet6_option_space F
+GLIBC_2.4 inet_addr F
+GLIBC_2.4 inet_aton F
+GLIBC_2.4 inet_lnaof F
+GLIBC_2.4 inet_makeaddr F
+GLIBC_2.4 inet_netof F
+GLIBC_2.4 inet_network F
+GLIBC_2.4 inet_nsap_addr F
+GLIBC_2.4 inet_nsap_ntoa F
+GLIBC_2.4 inet_ntoa F
+GLIBC_2.4 inet_ntop F
+GLIBC_2.4 inet_pton F
+GLIBC_2.4 init_module F
+GLIBC_2.4 initgroups F
+GLIBC_2.4 initstate F
+GLIBC_2.4 initstate_r F
+GLIBC_2.4 innetgr F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 insque F
+GLIBC_2.4 ioctl F
+GLIBC_2.4 iruserok F
+GLIBC_2.4 iruserok_af F
+GLIBC_2.4 isalnum F
+GLIBC_2.4 isalnum_l F
+GLIBC_2.4 isalpha F
+GLIBC_2.4 isalpha_l F
+GLIBC_2.4 isascii F
+GLIBC_2.4 isastream F
+GLIBC_2.4 isatty F
+GLIBC_2.4 isblank F
+GLIBC_2.4 isblank_l F
+GLIBC_2.4 iscntrl F
+GLIBC_2.4 iscntrl_l F
+GLIBC_2.4 isctype F
+GLIBC_2.4 isdigit F
+GLIBC_2.4 isdigit_l F
+GLIBC_2.4 isfdtype F
+GLIBC_2.4 isgraph F
+GLIBC_2.4 isgraph_l F
+GLIBC_2.4 isinf F
+GLIBC_2.4 isinff F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 islower F
+GLIBC_2.4 islower_l F
+GLIBC_2.4 isnan F
+GLIBC_2.4 isnanf F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 isprint F
+GLIBC_2.4 isprint_l F
+GLIBC_2.4 ispunct F
+GLIBC_2.4 ispunct_l F
+GLIBC_2.4 isspace F
+GLIBC_2.4 isspace_l F
+GLIBC_2.4 isupper F
+GLIBC_2.4 isupper_l F
+GLIBC_2.4 iswalnum F
+GLIBC_2.4 iswalnum_l F
+GLIBC_2.4 iswalpha F
+GLIBC_2.4 iswalpha_l F
+GLIBC_2.4 iswblank F
+GLIBC_2.4 iswblank_l F
+GLIBC_2.4 iswcntrl F
+GLIBC_2.4 iswcntrl_l F
+GLIBC_2.4 iswctype F
+GLIBC_2.4 iswctype_l F
+GLIBC_2.4 iswdigit F
+GLIBC_2.4 iswdigit_l F
+GLIBC_2.4 iswgraph F
+GLIBC_2.4 iswgraph_l F
+GLIBC_2.4 iswlower F
+GLIBC_2.4 iswlower_l F
+GLIBC_2.4 iswprint F
+GLIBC_2.4 iswprint_l F
+GLIBC_2.4 iswpunct F
+GLIBC_2.4 iswpunct_l F
+GLIBC_2.4 iswspace F
+GLIBC_2.4 iswspace_l F
+GLIBC_2.4 iswupper F
+GLIBC_2.4 iswupper_l F
+GLIBC_2.4 iswxdigit F
+GLIBC_2.4 iswxdigit_l F
+GLIBC_2.4 isxdigit F
+GLIBC_2.4 isxdigit_l F
+GLIBC_2.4 jrand48 F
+GLIBC_2.4 jrand48_r F
+GLIBC_2.4 key_decryptsession F
+GLIBC_2.4 key_decryptsession_pk F
+GLIBC_2.4 key_encryptsession F
+GLIBC_2.4 key_encryptsession_pk F
+GLIBC_2.4 key_gendes F
+GLIBC_2.4 key_get_conv F
+GLIBC_2.4 key_secretkey_is_set F
+GLIBC_2.4 key_setnet F
+GLIBC_2.4 key_setsecret F
+GLIBC_2.4 kill F
+GLIBC_2.4 killpg F
+GLIBC_2.4 klogctl F
+GLIBC_2.4 l64a F
+GLIBC_2.4 labs F
+GLIBC_2.4 lchmod F
+GLIBC_2.4 lchown F
+GLIBC_2.4 lckpwdf F
+GLIBC_2.4 lcong48 F
+GLIBC_2.4 lcong48_r F
+GLIBC_2.4 ldexp F
+GLIBC_2.4 ldexpf F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 ldiv F
+GLIBC_2.4 lfind F
+GLIBC_2.4 lgetxattr F
+GLIBC_2.4 link F
+GLIBC_2.4 linkat F
+GLIBC_2.4 listen F
+GLIBC_2.4 listxattr F
+GLIBC_2.4 llabs F
+GLIBC_2.4 lldiv F
+GLIBC_2.4 llistxattr F
+GLIBC_2.4 llseek F
+GLIBC_2.4 loc1 D 0x4
+GLIBC_2.4 loc2 D 0x4
+GLIBC_2.4 localeconv F
+GLIBC_2.4 localtime F
+GLIBC_2.4 localtime_r F
+GLIBC_2.4 lockf F
+GLIBC_2.4 lockf64 F
+GLIBC_2.4 locs D 0x4
+GLIBC_2.4 longjmp F
+GLIBC_2.4 lrand48 F
+GLIBC_2.4 lrand48_r F
+GLIBC_2.4 lremovexattr F
+GLIBC_2.4 lsearch F
+GLIBC_2.4 lseek F
+GLIBC_2.4 lseek64 F
+GLIBC_2.4 lsetxattr F
+GLIBC_2.4 lutimes F
+GLIBC_2.4 madvise F
+GLIBC_2.4 makecontext F
+GLIBC_2.4 mallinfo F
+GLIBC_2.4 malloc F
+GLIBC_2.4 malloc_get_state F
+GLIBC_2.4 malloc_set_state F
+GLIBC_2.4 malloc_stats F
+GLIBC_2.4 malloc_trim F
+GLIBC_2.4 malloc_usable_size F
+GLIBC_2.4 mallopt F
+GLIBC_2.4 mallwatch D 0x4
+GLIBC_2.4 mblen F
+GLIBC_2.4 mbrlen F
+GLIBC_2.4 mbrtowc F
+GLIBC_2.4 mbsinit F
+GLIBC_2.4 mbsnrtowcs F
+GLIBC_2.4 mbsrtowcs F
+GLIBC_2.4 mbstowcs F
+GLIBC_2.4 mbtowc F
+GLIBC_2.4 mcheck F
+GLIBC_2.4 mcheck_check_all F
+GLIBC_2.4 mcheck_pedantic F
+GLIBC_2.4 mcount F
+GLIBC_2.4 memalign F
+GLIBC_2.4 memccpy F
+GLIBC_2.4 memchr F
+GLIBC_2.4 memcmp F
+GLIBC_2.4 memcpy F
+GLIBC_2.4 memfrob F
+GLIBC_2.4 memmem F
+GLIBC_2.4 memmove F
+GLIBC_2.4 mempcpy F
+GLIBC_2.4 memrchr F
+GLIBC_2.4 memset F
+GLIBC_2.4 mincore F
+GLIBC_2.4 mkdir F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkdtemp F
+GLIBC_2.4 mkfifo F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 mkstemp F
+GLIBC_2.4 mkstemp64 F
+GLIBC_2.4 mktemp F
+GLIBC_2.4 mktime F
+GLIBC_2.4 mlock F
+GLIBC_2.4 mlockall F
+GLIBC_2.4 mmap F
+GLIBC_2.4 mmap64 F
+GLIBC_2.4 modf F
+GLIBC_2.4 modff F
+GLIBC_2.4 modfl F
+GLIBC_2.4 moncontrol F
+GLIBC_2.4 monstartup F
+GLIBC_2.4 mount F
+GLIBC_2.4 mprobe F
+GLIBC_2.4 mprotect F
+GLIBC_2.4 mrand48 F
+GLIBC_2.4 mrand48_r F
+GLIBC_2.4 mremap F
+GLIBC_2.4 msgctl F
+GLIBC_2.4 msgget F
+GLIBC_2.4 msgrcv F
+GLIBC_2.4 msgsnd F
+GLIBC_2.4 msync F
+GLIBC_2.4 mtrace F
+GLIBC_2.4 munlock F
+GLIBC_2.4 munlockall F
+GLIBC_2.4 munmap F
+GLIBC_2.4 muntrace F
+GLIBC_2.4 nanosleep F
+GLIBC_2.4 netname2host F
+GLIBC_2.4 netname2user F
+GLIBC_2.4 newlocale F
+GLIBC_2.4 nfsservctl F
+GLIBC_2.4 nftw F
+GLIBC_2.4 nftw64 F
+GLIBC_2.4 ngettext F
+GLIBC_2.4 nice F
+GLIBC_2.4 nl_langinfo F
+GLIBC_2.4 nl_langinfo_l F
+GLIBC_2.4 nrand48 F
+GLIBC_2.4 nrand48_r F
+GLIBC_2.4 ntohl F
+GLIBC_2.4 ntohs F
+GLIBC_2.4 ntp_adjtime F
+GLIBC_2.4 ntp_gettime F
+GLIBC_2.4 obstack_alloc_failed_handler D 0x4
+GLIBC_2.4 obstack_exit_failure D 0x4
+GLIBC_2.4 obstack_free F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf F
+GLIBC_2.4 on_exit F
+GLIBC_2.4 open F
+GLIBC_2.4 open64 F
+GLIBC_2.4 open_memstream F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 opendir F
+GLIBC_2.4 openlog F
+GLIBC_2.4 optarg D 0x4
+GLIBC_2.4 opterr D 0x4
+GLIBC_2.4 optind D 0x4
+GLIBC_2.4 optopt D 0x4
+GLIBC_2.4 parse_printf_format F
+GLIBC_2.4 passwd2des F
+GLIBC_2.4 pathconf F
+GLIBC_2.4 pause F
+GLIBC_2.4 pclose F
+GLIBC_2.4 perror F
+GLIBC_2.4 personality F
+GLIBC_2.4 pipe F
+GLIBC_2.4 pivot_root F
+GLIBC_2.4 pmap_getmaps F
+GLIBC_2.4 pmap_getport F
+GLIBC_2.4 pmap_rmtcall F
+GLIBC_2.4 pmap_set F
+GLIBC_2.4 pmap_unset F
+GLIBC_2.4 poll F
+GLIBC_2.4 popen F
+GLIBC_2.4 posix_fadvise F
+GLIBC_2.4 posix_fadvise64 F
+GLIBC_2.4 posix_fallocate F
+GLIBC_2.4 posix_fallocate64 F
+GLIBC_2.4 posix_madvise F
+GLIBC_2.4 posix_memalign F
+GLIBC_2.4 posix_openpt F
+GLIBC_2.4 posix_spawn F
+GLIBC_2.4 posix_spawn_file_actions_addclose F
+GLIBC_2.4 posix_spawn_file_actions_adddup2 F
+GLIBC_2.4 posix_spawn_file_actions_addopen F
+GLIBC_2.4 posix_spawn_file_actions_destroy F
+GLIBC_2.4 posix_spawn_file_actions_init F
+GLIBC_2.4 posix_spawnattr_destroy F
+GLIBC_2.4 posix_spawnattr_getflags F
+GLIBC_2.4 posix_spawnattr_getpgroup F
+GLIBC_2.4 posix_spawnattr_getschedparam F
+GLIBC_2.4 posix_spawnattr_getschedpolicy F
+GLIBC_2.4 posix_spawnattr_getsigdefault F
+GLIBC_2.4 posix_spawnattr_getsigmask F
+GLIBC_2.4 posix_spawnattr_init F
+GLIBC_2.4 posix_spawnattr_setflags F
+GLIBC_2.4 posix_spawnattr_setpgroup F
+GLIBC_2.4 posix_spawnattr_setschedparam F
+GLIBC_2.4 posix_spawnattr_setschedpolicy F
+GLIBC_2.4 posix_spawnattr_setsigdefault F
+GLIBC_2.4 posix_spawnattr_setsigmask F
+GLIBC_2.4 posix_spawnp F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 prctl F
+GLIBC_2.4 pread F
+GLIBC_2.4 pread64 F
+GLIBC_2.4 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 printf_size_info F
+GLIBC_2.4 profil F
+GLIBC_2.4 program_invocation_name D 0x4
+GLIBC_2.4 program_invocation_short_name D 0x4
+GLIBC_2.4 pselect F
+GLIBC_2.4 psignal F
+GLIBC_2.4 pthread_attr_destroy F
+GLIBC_2.4 pthread_attr_getdetachstate F
+GLIBC_2.4 pthread_attr_getinheritsched F
+GLIBC_2.4 pthread_attr_getschedparam F
+GLIBC_2.4 pthread_attr_getschedpolicy F
+GLIBC_2.4 pthread_attr_getscope F
+GLIBC_2.4 pthread_attr_init F
+GLIBC_2.4 pthread_attr_setdetachstate F
+GLIBC_2.4 pthread_attr_setinheritsched F
+GLIBC_2.4 pthread_attr_setschedparam F
+GLIBC_2.4 pthread_attr_setschedpolicy F
+GLIBC_2.4 pthread_attr_setscope F
+GLIBC_2.4 pthread_cond_broadcast F
+GLIBC_2.4 pthread_cond_destroy F
+GLIBC_2.4 pthread_cond_init F
+GLIBC_2.4 pthread_cond_signal F
+GLIBC_2.4 pthread_cond_timedwait F
+GLIBC_2.4 pthread_cond_wait F
+GLIBC_2.4 pthread_condattr_destroy F
+GLIBC_2.4 pthread_condattr_init F
+GLIBC_2.4 pthread_equal F
+GLIBC_2.4 pthread_exit F
+GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_mutex_destroy F
+GLIBC_2.4 pthread_mutex_init F
+GLIBC_2.4 pthread_mutex_lock F
+GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_self F
+GLIBC_2.4 pthread_setcancelstate F
+GLIBC_2.4 pthread_setcanceltype F
+GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 ptrace F
+GLIBC_2.4 ptsname F
+GLIBC_2.4 ptsname_r F
+GLIBC_2.4 putc F
+GLIBC_2.4 putc_unlocked F
+GLIBC_2.4 putchar F
+GLIBC_2.4 putchar_unlocked F
+GLIBC_2.4 putenv F
+GLIBC_2.4 putgrent F
+GLIBC_2.4 putmsg F
+GLIBC_2.4 putpmsg F
+GLIBC_2.4 putpwent F
+GLIBC_2.4 puts F
+GLIBC_2.4 putspent F
+GLIBC_2.4 pututline F
+GLIBC_2.4 pututxline F
+GLIBC_2.4 putw F
+GLIBC_2.4 putwc F
+GLIBC_2.4 putwc_unlocked F
+GLIBC_2.4 putwchar F
+GLIBC_2.4 putwchar_unlocked F
+GLIBC_2.4 pvalloc F
+GLIBC_2.4 pwrite F
+GLIBC_2.4 pwrite64 F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 qsort F
+GLIBC_2.4 query_module F
+GLIBC_2.4 quotactl F
+GLIBC_2.4 raise F
+GLIBC_2.4 rand F
+GLIBC_2.4 rand_r F
+GLIBC_2.4 random F
+GLIBC_2.4 random_r F
+GLIBC_2.4 rawmemchr F
+GLIBC_2.4 rcmd F
+GLIBC_2.4 rcmd_af F
+GLIBC_2.4 re_comp F
+GLIBC_2.4 re_compile_fastmap F
+GLIBC_2.4 re_compile_pattern F
+GLIBC_2.4 re_exec F
+GLIBC_2.4 re_match F
+GLIBC_2.4 re_match_2 F
+GLIBC_2.4 re_search F
+GLIBC_2.4 re_search_2 F
+GLIBC_2.4 re_set_registers F
+GLIBC_2.4 re_set_syntax F
+GLIBC_2.4 re_syntax_options D 0x4
+GLIBC_2.4 read F
+GLIBC_2.4 readahead F
+GLIBC_2.4 readdir F
+GLIBC_2.4 readdir64 F
+GLIBC_2.4 readdir64_r F
+GLIBC_2.4 readdir_r F
+GLIBC_2.4 readlink F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 readv F
+GLIBC_2.4 realloc F
+GLIBC_2.4 realpath F
+GLIBC_2.4 reboot F
+GLIBC_2.4 recv F
+GLIBC_2.4 recvfrom F
+GLIBC_2.4 recvmsg F
+GLIBC_2.4 regcomp F
+GLIBC_2.4 regerror F
+GLIBC_2.4 regexec F
+GLIBC_2.4 regfree F
+GLIBC_2.4 register_printf_function F
+GLIBC_2.4 registerrpc F
+GLIBC_2.4 remap_file_pages F
+GLIBC_2.4 remove F
+GLIBC_2.4 removexattr F
+GLIBC_2.4 remque F
+GLIBC_2.4 rename F
+GLIBC_2.4 renameat F
+GLIBC_2.4 revoke F
+GLIBC_2.4 rewind F
+GLIBC_2.4 rewinddir F
+GLIBC_2.4 rexec F
+GLIBC_2.4 rexec_af F
+GLIBC_2.4 rexecoptions D 0x4
+GLIBC_2.4 rindex F
+GLIBC_2.4 rmdir F
+GLIBC_2.4 rpc_createerr D 0x10
+GLIBC_2.4 rpmatch F
+GLIBC_2.4 rresvport F
+GLIBC_2.4 rresvport_af F
+GLIBC_2.4 rtime F
+GLIBC_2.4 ruserok F
+GLIBC_2.4 ruserok_af F
+GLIBC_2.4 ruserpass F
+GLIBC_2.4 sbrk F
+GLIBC_2.4 scalbn F
+GLIBC_2.4 scalbnf F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scandir F
+GLIBC_2.4 scandir64 F
+GLIBC_2.4 scanf F
+GLIBC_2.4 sched_get_priority_max F
+GLIBC_2.4 sched_get_priority_min F
+GLIBC_2.4 sched_getaffinity F
+GLIBC_2.4 sched_getparam F
+GLIBC_2.4 sched_getscheduler F
+GLIBC_2.4 sched_rr_get_interval F
+GLIBC_2.4 sched_setaffinity F
+GLIBC_2.4 sched_setparam F
+GLIBC_2.4 sched_setscheduler F
+GLIBC_2.4 sched_yield F
+GLIBC_2.4 seed48 F
+GLIBC_2.4 seed48_r F
+GLIBC_2.4 seekdir F
+GLIBC_2.4 select F
+GLIBC_2.4 semctl F
+GLIBC_2.4 semget F
+GLIBC_2.4 semop F
+GLIBC_2.4 semtimedop F
+GLIBC_2.4 send F
+GLIBC_2.4 sendfile F
+GLIBC_2.4 sendfile64 F
+GLIBC_2.4 sendmsg F
+GLIBC_2.4 sendto F
+GLIBC_2.4 setaliasent F
+GLIBC_2.4 setbuf F
+GLIBC_2.4 setbuffer F
+GLIBC_2.4 setcontext F
+GLIBC_2.4 setdomainname F
+GLIBC_2.4 setegid F
+GLIBC_2.4 setenv F
+GLIBC_2.4 seteuid F
+GLIBC_2.4 setfsent F
+GLIBC_2.4 setfsgid F
+GLIBC_2.4 setfsuid F
+GLIBC_2.4 setgid F
+GLIBC_2.4 setgrent F
+GLIBC_2.4 setgroups F
+GLIBC_2.4 sethostent F
+GLIBC_2.4 sethostid F
+GLIBC_2.4 sethostname F
+GLIBC_2.4 setipv4sourcefilter F
+GLIBC_2.4 setitimer F
+GLIBC_2.4 setjmp F
+GLIBC_2.4 setlinebuf F
+GLIBC_2.4 setlocale F
+GLIBC_2.4 setlogin F
+GLIBC_2.4 setlogmask F
+GLIBC_2.4 setmntent F
+GLIBC_2.4 setnetent F
+GLIBC_2.4 setnetgrent F
+GLIBC_2.4 setpgid F
+GLIBC_2.4 setpgrp F
+GLIBC_2.4 setpriority F
+GLIBC_2.4 setprotoent F
+GLIBC_2.4 setpwent F
+GLIBC_2.4 setregid F
+GLIBC_2.4 setresgid F
+GLIBC_2.4 setresuid F
+GLIBC_2.4 setreuid F
+GLIBC_2.4 setrlimit F
+GLIBC_2.4 setrlimit64 F
+GLIBC_2.4 setrpcent F
+GLIBC_2.4 setservent F
+GLIBC_2.4 setsid F
+GLIBC_2.4 setsockopt F
+GLIBC_2.4 setsourcefilter F
+GLIBC_2.4 setspent F
+GLIBC_2.4 setstate F
+GLIBC_2.4 setstate_r F
+GLIBC_2.4 settimeofday F
+GLIBC_2.4 setttyent F
+GLIBC_2.4 setuid F
+GLIBC_2.4 setusershell F
+GLIBC_2.4 setutent F
+GLIBC_2.4 setutxent F
+GLIBC_2.4 setvbuf F
+GLIBC_2.4 setxattr F
+GLIBC_2.4 sgetspent F
+GLIBC_2.4 sgetspent_r F
+GLIBC_2.4 shmat F
+GLIBC_2.4 shmctl F
+GLIBC_2.4 shmdt F
+GLIBC_2.4 shmget F
+GLIBC_2.4 shutdown F
+GLIBC_2.4 sigaction F
+GLIBC_2.4 sigaddset F
+GLIBC_2.4 sigaltstack F
+GLIBC_2.4 sigandset F
+GLIBC_2.4 sigblock F
+GLIBC_2.4 sigdelset F
+GLIBC_2.4 sigemptyset F
+GLIBC_2.4 sigfillset F
+GLIBC_2.4 siggetmask F
+GLIBC_2.4 sighold F
+GLIBC_2.4 sigignore F
+GLIBC_2.4 siginterrupt F
+GLIBC_2.4 sigisemptyset F
+GLIBC_2.4 sigismember F
+GLIBC_2.4 siglongjmp F
+GLIBC_2.4 signal F
+GLIBC_2.4 sigorset F
+GLIBC_2.4 sigpause F
+GLIBC_2.4 sigpending F
+GLIBC_2.4 sigprocmask F
+GLIBC_2.4 sigqueue F
+GLIBC_2.4 sigrelse F
+GLIBC_2.4 sigreturn F
+GLIBC_2.4 sigset F
+GLIBC_2.4 sigsetmask F
+GLIBC_2.4 sigstack F
+GLIBC_2.4 sigsuspend F
+GLIBC_2.4 sigtimedwait F
+GLIBC_2.4 sigvec F
+GLIBC_2.4 sigwait F
+GLIBC_2.4 sigwaitinfo F
+GLIBC_2.4 sleep F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sockatmark F
+GLIBC_2.4 socket F
+GLIBC_2.4 socketpair F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sprofil F
+GLIBC_2.4 srand F
+GLIBC_2.4 srand48 F
+GLIBC_2.4 srand48_r F
+GLIBC_2.4 srandom F
+GLIBC_2.4 srandom_r F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 ssignal F
+GLIBC_2.4 sstk F
+GLIBC_2.4 statfs F
+GLIBC_2.4 statfs64 F
+GLIBC_2.4 statvfs F
+GLIBC_2.4 statvfs64 F
+GLIBC_2.4 stderr D 0x4
+GLIBC_2.4 stdin D 0x4
+GLIBC_2.4 stdout D 0x4
+GLIBC_2.4 step F
+GLIBC_2.4 stime F
+GLIBC_2.4 stpcpy F
+GLIBC_2.4 stpncpy F
+GLIBC_2.4 strcasecmp F
+GLIBC_2.4 strcasecmp_l F
+GLIBC_2.4 strcasestr F
+GLIBC_2.4 strcat F
+GLIBC_2.4 strchr F
+GLIBC_2.4 strchrnul F
+GLIBC_2.4 strcmp F
+GLIBC_2.4 strcoll F
+GLIBC_2.4 strcoll_l F
+GLIBC_2.4 strcpy F
+GLIBC_2.4 strcspn F
+GLIBC_2.4 strdup F
+GLIBC_2.4 strerror F
+GLIBC_2.4 strerror_r F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strfry F
+GLIBC_2.4 strftime F
+GLIBC_2.4 strftime_l F
+GLIBC_2.4 strlen F
+GLIBC_2.4 strncasecmp F
+GLIBC_2.4 strncasecmp_l F
+GLIBC_2.4 strncat F
+GLIBC_2.4 strncmp F
+GLIBC_2.4 strncpy F
+GLIBC_2.4 strndup F
+GLIBC_2.4 strnlen F
+GLIBC_2.4 strpbrk F
+GLIBC_2.4 strptime F
+GLIBC_2.4 strptime_l F
+GLIBC_2.4 strrchr F
+GLIBC_2.4 strsep F
+GLIBC_2.4 strsignal F
+GLIBC_2.4 strspn F
+GLIBC_2.4 strstr F
+GLIBC_2.4 strtod F
+GLIBC_2.4 strtod_l F
+GLIBC_2.4 strtof F
+GLIBC_2.4 strtof_l F
+GLIBC_2.4 strtoimax F
+GLIBC_2.4 strtok F
+GLIBC_2.4 strtok_r F
+GLIBC_2.4 strtol F
+GLIBC_2.4 strtol_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 strtoll F
+GLIBC_2.4 strtoll_l F
+GLIBC_2.4 strtoq F
+GLIBC_2.4 strtoul F
+GLIBC_2.4 strtoul_l F
+GLIBC_2.4 strtoull F
+GLIBC_2.4 strtoull_l F
+GLIBC_2.4 strtoumax F
+GLIBC_2.4 strtouq F
+GLIBC_2.4 strverscmp F
+GLIBC_2.4 strxfrm F
+GLIBC_2.4 strxfrm_l F
+GLIBC_2.4 stty F
+GLIBC_2.4 svc_exit F
+GLIBC_2.4 svc_fdset D 0x80
+GLIBC_2.4 svc_getreq F
+GLIBC_2.4 svc_getreq_common F
+GLIBC_2.4 svc_getreq_poll F
+GLIBC_2.4 svc_getreqset F
+GLIBC_2.4 svc_max_pollfd D 0x4
+GLIBC_2.4 svc_pollfd D 0x4
+GLIBC_2.4 svc_register F
+GLIBC_2.4 svc_run F
+GLIBC_2.4 svc_sendreply F
+GLIBC_2.4 svc_unregister F
+GLIBC_2.4 svcauthdes_stats D 0xc
+GLIBC_2.4 svcerr_auth F
+GLIBC_2.4 svcerr_decode F
+GLIBC_2.4 svcerr_noproc F
+GLIBC_2.4 svcerr_noprog F
+GLIBC_2.4 svcerr_progvers F
+GLIBC_2.4 svcerr_systemerr F
+GLIBC_2.4 svcerr_weakauth F
+GLIBC_2.4 svcfd_create F
+GLIBC_2.4 svcraw_create F
+GLIBC_2.4 svctcp_create F
+GLIBC_2.4 svcudp_bufcreate F
+GLIBC_2.4 svcudp_create F
+GLIBC_2.4 svcudp_enablecache F
+GLIBC_2.4 svcunix_create F
+GLIBC_2.4 svcunixfd_create F
+GLIBC_2.4 swab F
+GLIBC_2.4 swapcontext F
+GLIBC_2.4 swapoff F
+GLIBC_2.4 swapon F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlink F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sync F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 sys_sigabbrev D 0x104
+GLIBC_2.4 sys_siglist D 0x104
+GLIBC_2.4 syscall F
+GLIBC_2.4 sysconf F
+GLIBC_2.4 sysctl F
+GLIBC_2.4 sysinfo F
+GLIBC_2.4 syslog F
+GLIBC_2.4 system F
+GLIBC_2.4 sysv_signal F
+GLIBC_2.4 tcdrain F
+GLIBC_2.4 tcflow F
+GLIBC_2.4 tcflush F
+GLIBC_2.4 tcgetattr F
+GLIBC_2.4 tcgetpgrp F
+GLIBC_2.4 tcgetsid F
+GLIBC_2.4 tcsendbreak F
+GLIBC_2.4 tcsetattr F
+GLIBC_2.4 tcsetpgrp F
+GLIBC_2.4 tdelete F
+GLIBC_2.4 tdestroy F
+GLIBC_2.4 telldir F
+GLIBC_2.4 tempnam F
+GLIBC_2.4 textdomain F
+GLIBC_2.4 tfind F
+GLIBC_2.4 time F
+GLIBC_2.4 timegm F
+GLIBC_2.4 timelocal F
+GLIBC_2.4 times F
+GLIBC_2.4 timezone D 0x4
+GLIBC_2.4 tmpfile F
+GLIBC_2.4 tmpfile64 F
+GLIBC_2.4 tmpnam F
+GLIBC_2.4 tmpnam_r F
+GLIBC_2.4 toascii F
+GLIBC_2.4 tolower F
+GLIBC_2.4 tolower_l F
+GLIBC_2.4 toupper F
+GLIBC_2.4 toupper_l F
+GLIBC_2.4 towctrans F
+GLIBC_2.4 towctrans_l F
+GLIBC_2.4 towlower F
+GLIBC_2.4 towlower_l F
+GLIBC_2.4 towupper F
+GLIBC_2.4 towupper_l F
+GLIBC_2.4 tr_break F
+GLIBC_2.4 truncate F
+GLIBC_2.4 truncate64 F
+GLIBC_2.4 tsearch F
+GLIBC_2.4 ttyname F
+GLIBC_2.4 ttyname_r F
+GLIBC_2.4 ttyslot F
+GLIBC_2.4 twalk F
+GLIBC_2.4 tzname D 0x8
+GLIBC_2.4 tzset F
+GLIBC_2.4 ualarm F
+GLIBC_2.4 ulckpwdf F
+GLIBC_2.4 ulimit F
+GLIBC_2.4 umask F
+GLIBC_2.4 umount F
+GLIBC_2.4 umount2 F
+GLIBC_2.4 uname F
+GLIBC_2.4 ungetc F
+GLIBC_2.4 ungetwc F
+GLIBC_2.4 unlink F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unlockpt F
+GLIBC_2.4 unsetenv F
+GLIBC_2.4 unshare F
+GLIBC_2.4 updwtmp F
+GLIBC_2.4 updwtmpx F
+GLIBC_2.4 uselib F
+GLIBC_2.4 uselocale F
+GLIBC_2.4 user2netname F
+GLIBC_2.4 usleep F
+GLIBC_2.4 ustat F
+GLIBC_2.4 utime F
+GLIBC_2.4 utimes F
+GLIBC_2.4 utmpname F
+GLIBC_2.4 utmpxname F
+GLIBC_2.4 valloc F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 verr F
+GLIBC_2.4 verrx F
+GLIBC_2.4 versionsort F
+GLIBC_2.4 versionsort64 F
+GLIBC_2.4 vfork F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vhangup F
+GLIBC_2.4 vlimit F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vtimes F
+GLIBC_2.4 vwarn F
+GLIBC_2.4 vwarnx F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wait F
+GLIBC_2.4 wait3 F
+GLIBC_2.4 wait4 F
+GLIBC_2.4 waitid F
+GLIBC_2.4 waitpid F
+GLIBC_2.4 warn F
+GLIBC_2.4 warnx F
+GLIBC_2.4 wcpcpy F
+GLIBC_2.4 wcpncpy F
+GLIBC_2.4 wcrtomb F
+GLIBC_2.4 wcscasecmp F
+GLIBC_2.4 wcscasecmp_l F
+GLIBC_2.4 wcscat F
+GLIBC_2.4 wcschr F
+GLIBC_2.4 wcschrnul F
+GLIBC_2.4 wcscmp F
+GLIBC_2.4 wcscoll F
+GLIBC_2.4 wcscoll_l F
+GLIBC_2.4 wcscpy F
+GLIBC_2.4 wcscspn F
+GLIBC_2.4 wcsdup F
+GLIBC_2.4 wcsftime F
+GLIBC_2.4 wcsftime_l F
+GLIBC_2.4 wcslen F
+GLIBC_2.4 wcsncasecmp F
+GLIBC_2.4 wcsncasecmp_l F
+GLIBC_2.4 wcsncat F
+GLIBC_2.4 wcsncmp F
+GLIBC_2.4 wcsncpy F
+GLIBC_2.4 wcsnlen F
+GLIBC_2.4 wcsnrtombs F
+GLIBC_2.4 wcspbrk F
+GLIBC_2.4 wcsrchr F
+GLIBC_2.4 wcsrtombs F
+GLIBC_2.4 wcsspn F
+GLIBC_2.4 wcsstr F
+GLIBC_2.4 wcstod F
+GLIBC_2.4 wcstod_l F
+GLIBC_2.4 wcstof F
+GLIBC_2.4 wcstof_l F
+GLIBC_2.4 wcstoimax F
+GLIBC_2.4 wcstok F
+GLIBC_2.4 wcstol F
+GLIBC_2.4 wcstol_l F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wcstoll F
+GLIBC_2.4 wcstoll_l F
+GLIBC_2.4 wcstombs F
+GLIBC_2.4 wcstoq F
+GLIBC_2.4 wcstoul F
+GLIBC_2.4 wcstoul_l F
+GLIBC_2.4 wcstoull F
+GLIBC_2.4 wcstoull_l F
+GLIBC_2.4 wcstoumax F
+GLIBC_2.4 wcstouq F
+GLIBC_2.4 wcswcs F
+GLIBC_2.4 wcswidth F
+GLIBC_2.4 wcsxfrm F
+GLIBC_2.4 wcsxfrm_l F
+GLIBC_2.4 wctob F
+GLIBC_2.4 wctomb F
+GLIBC_2.4 wctrans F
+GLIBC_2.4 wctrans_l F
+GLIBC_2.4 wctype F
+GLIBC_2.4 wctype_l F
+GLIBC_2.4 wcwidth F
+GLIBC_2.4 wmemchr F
+GLIBC_2.4 wmemcmp F
+GLIBC_2.4 wmemcpy F
+GLIBC_2.4 wmemmove F
+GLIBC_2.4 wmempcpy F
+GLIBC_2.4 wmemset F
+GLIBC_2.4 wordexp F
+GLIBC_2.4 wordfree F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 write F
+GLIBC_2.4 writev F
+GLIBC_2.4 wscanf F
+GLIBC_2.4 xdecrypt F
+GLIBC_2.4 xdr_accepted_reply F
+GLIBC_2.4 xdr_array F
+GLIBC_2.4 xdr_authdes_cred F
+GLIBC_2.4 xdr_authdes_verf F
+GLIBC_2.4 xdr_authunix_parms F
+GLIBC_2.4 xdr_bool F
+GLIBC_2.4 xdr_bytes F
+GLIBC_2.4 xdr_callhdr F
+GLIBC_2.4 xdr_callmsg F
+GLIBC_2.4 xdr_char F
+GLIBC_2.4 xdr_cryptkeyarg F
+GLIBC_2.4 xdr_cryptkeyarg2 F
+GLIBC_2.4 xdr_cryptkeyres F
+GLIBC_2.4 xdr_des_block F
+GLIBC_2.4 xdr_double F
+GLIBC_2.4 xdr_enum F
+GLIBC_2.4 xdr_float F
+GLIBC_2.4 xdr_free F
+GLIBC_2.4 xdr_getcredres F
+GLIBC_2.4 xdr_hyper F
+GLIBC_2.4 xdr_int F
+GLIBC_2.4 xdr_int16_t F
+GLIBC_2.4 xdr_int32_t F
+GLIBC_2.4 xdr_int64_t F
+GLIBC_2.4 xdr_int8_t F
+GLIBC_2.4 xdr_key_netstarg F
+GLIBC_2.4 xdr_key_netstres F
+GLIBC_2.4 xdr_keybuf F
+GLIBC_2.4 xdr_keystatus F
+GLIBC_2.4 xdr_long F
+GLIBC_2.4 xdr_longlong_t F
+GLIBC_2.4 xdr_netnamestr F
+GLIBC_2.4 xdr_netobj F
+GLIBC_2.4 xdr_opaque F
+GLIBC_2.4 xdr_opaque_auth F
+GLIBC_2.4 xdr_pmap F
+GLIBC_2.4 xdr_pmaplist F
+GLIBC_2.4 xdr_pointer F
+GLIBC_2.4 xdr_quad_t F
+GLIBC_2.4 xdr_reference F
+GLIBC_2.4 xdr_rejected_reply F
+GLIBC_2.4 xdr_replymsg F
+GLIBC_2.4 xdr_rmtcall_args F
+GLIBC_2.4 xdr_rmtcallres F
+GLIBC_2.4 xdr_short F
+GLIBC_2.4 xdr_sizeof F
+GLIBC_2.4 xdr_string F
+GLIBC_2.4 xdr_u_char F
+GLIBC_2.4 xdr_u_hyper F
+GLIBC_2.4 xdr_u_int F
+GLIBC_2.4 xdr_u_long F
+GLIBC_2.4 xdr_u_longlong_t F
+GLIBC_2.4 xdr_u_quad_t F
+GLIBC_2.4 xdr_u_short F
+GLIBC_2.4 xdr_uint16_t F
+GLIBC_2.4 xdr_uint32_t F
+GLIBC_2.4 xdr_uint64_t F
+GLIBC_2.4 xdr_uint8_t F
+GLIBC_2.4 xdr_union F
+GLIBC_2.4 xdr_unixcred F
+GLIBC_2.4 xdr_vector F
+GLIBC_2.4 xdr_void F
+GLIBC_2.4 xdr_wrapstring F
+GLIBC_2.4 xdrmem_create F
+GLIBC_2.4 xdrrec_create F
+GLIBC_2.4 xdrrec_endofrecord F
+GLIBC_2.4 xdrrec_eof F
+GLIBC_2.4 xdrrec_skiprecord F
+GLIBC_2.4 xdrstdio_create F
+GLIBC_2.4 xencrypt F
+GLIBC_2.4 xprt_register F
+GLIBC_2.4 xprt_unregister 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/m68k/coldfire/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist
new file mode 100644
index 0000000000..04f1f02fa3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 crypt F
+GLIBC_2.4 crypt_r F
+GLIBC_2.4 encrypt F
+GLIBC_2.4 encrypt_r F
+GLIBC_2.4 fcrypt F
+GLIBC_2.4 setkey F
+GLIBC_2.4 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
new file mode 100644
index 0000000000..89a750a0a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 dladdr F
+GLIBC_2.4 dladdr1 F
+GLIBC_2.4 dlclose F
+GLIBC_2.4 dlerror F
+GLIBC_2.4 dlinfo F
+GLIBC_2.4 dlmopen F
+GLIBC_2.4 dlopen F
+GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
new file mode 100644
index 0000000000..d0c33d2a11
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -0,0 +1,432 @@
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 _LIB_VERSION D 0x4
+GLIBC_2.4 __clog10 F
+GLIBC_2.4 __clog10f F
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finite F
+GLIBC_2.4 __finitef F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassify F
+GLIBC_2.4 __fpclassifyf F
+GLIBC_2.4 __signbit F
+GLIBC_2.4 __signbitf F
+GLIBC_2.4 acos F
+GLIBC_2.4 acosf F
+GLIBC_2.4 acosh F
+GLIBC_2.4 acoshf F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asin F
+GLIBC_2.4 asinf F
+GLIBC_2.4 asinh F
+GLIBC_2.4 asinhf F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan F
+GLIBC_2.4 atan2 F
+GLIBC_2.4 atan2f F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanf F
+GLIBC_2.4 atanh F
+GLIBC_2.4 atanhf F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabs F
+GLIBC_2.4 cabsf F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacos F
+GLIBC_2.4 cacosf F
+GLIBC_2.4 cacosh F
+GLIBC_2.4 cacoshf F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 carg F
+GLIBC_2.4 cargf F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casin F
+GLIBC_2.4 casinf F
+GLIBC_2.4 casinh F
+GLIBC_2.4 casinhf F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catan F
+GLIBC_2.4 catanf F
+GLIBC_2.4 catanh F
+GLIBC_2.4 catanhf F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrt F
+GLIBC_2.4 cbrtf F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccos F
+GLIBC_2.4 ccosf F
+GLIBC_2.4 ccosh F
+GLIBC_2.4 ccoshf F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceil F
+GLIBC_2.4 ceilf F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexp F
+GLIBC_2.4 cexpf F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimag F
+GLIBC_2.4 cimagf F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog F
+GLIBC_2.4 clog10 F
+GLIBC_2.4 clog10f F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogf F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conj F
+GLIBC_2.4 conjf F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysign F
+GLIBC_2.4 copysignf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 cos F
+GLIBC_2.4 cosf F
+GLIBC_2.4 cosh F
+GLIBC_2.4 coshf F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpow F
+GLIBC_2.4 cpowf F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cproj F
+GLIBC_2.4 cprojf F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creal F
+GLIBC_2.4 crealf F
+GLIBC_2.4 creall F
+GLIBC_2.4 csin F
+GLIBC_2.4 csinf F
+GLIBC_2.4 csinh F
+GLIBC_2.4 csinhf F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrt F
+GLIBC_2.4 csqrtf F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctan F
+GLIBC_2.4 ctanf F
+GLIBC_2.4 ctanh F
+GLIBC_2.4 ctanhf F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 drem F
+GLIBC_2.4 dremf F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erf F
+GLIBC_2.4 erfc F
+GLIBC_2.4 erfcf F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erff F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp F
+GLIBC_2.4 exp10 F
+GLIBC_2.4 exp10f F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2 F
+GLIBC_2.4 exp2f F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expf F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1 F
+GLIBC_2.4 expm1f F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabs F
+GLIBC_2.4 fabsf F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdim F
+GLIBC_2.4 fdimf F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 feclearexcept F
+GLIBC_2.4 fedisableexcept F
+GLIBC_2.4 feenableexcept F
+GLIBC_2.4 fegetenv F
+GLIBC_2.4 fegetexcept F
+GLIBC_2.4 fegetexceptflag F
+GLIBC_2.4 fegetround F
+GLIBC_2.4 feholdexcept F
+GLIBC_2.4 feraiseexcept F
+GLIBC_2.4 fesetenv F
+GLIBC_2.4 fesetexceptflag F
+GLIBC_2.4 fesetround F
+GLIBC_2.4 fetestexcept F
+GLIBC_2.4 feupdateenv F
+GLIBC_2.4 finite F
+GLIBC_2.4 finitef F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floor F
+GLIBC_2.4 floorf F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fma F
+GLIBC_2.4 fmaf F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmax F
+GLIBC_2.4 fmaxf F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fmin F
+GLIBC_2.4 fminf F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmod F
+GLIBC_2.4 fmodf F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexp F
+GLIBC_2.4 frexpf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gamma F
+GLIBC_2.4 gammaf F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypot F
+GLIBC_2.4 hypotf F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogb F
+GLIBC_2.4 ilogbf F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0 F
+GLIBC_2.4 j0f F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1 F
+GLIBC_2.4 j1f F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jn F
+GLIBC_2.4 jnf F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexp F
+GLIBC_2.4 ldexpf F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgamma F
+GLIBC_2.4 lgamma_r F
+GLIBC_2.4 lgammaf F
+GLIBC_2.4 lgammaf_r F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrint F
+GLIBC_2.4 llrintf F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llround F
+GLIBC_2.4 llroundf F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log F
+GLIBC_2.4 log10 F
+GLIBC_2.4 log10f F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1p F
+GLIBC_2.4 log1pf F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2 F
+GLIBC_2.4 log2f F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logb F
+GLIBC_2.4 logbf F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logf F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrint F
+GLIBC_2.4 lrintf F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lround F
+GLIBC_2.4 lroundf F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 matherr F
+GLIBC_2.4 modf F
+GLIBC_2.4 modff F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nan F
+GLIBC_2.4 nanf F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyint F
+GLIBC_2.4 nearbyintf F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafter F
+GLIBC_2.4 nextafterf F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow F
+GLIBC_2.4 pow10 F
+GLIBC_2.4 pow10f F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powf F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainder F
+GLIBC_2.4 remainderf F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquo F
+GLIBC_2.4 remquof F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rint F
+GLIBC_2.4 rintf F
+GLIBC_2.4 rintl F
+GLIBC_2.4 round F
+GLIBC_2.4 roundf F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalb F
+GLIBC_2.4 scalbf F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalbln F
+GLIBC_2.4 scalblnf F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbn F
+GLIBC_2.4 scalbnf F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 signgam D 0x4
+GLIBC_2.4 significand F
+GLIBC_2.4 significandf F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sin F
+GLIBC_2.4 sincos F
+GLIBC_2.4 sincosf F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinf F
+GLIBC_2.4 sinh F
+GLIBC_2.4 sinhf F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrt F
+GLIBC_2.4 sqrtf F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tan F
+GLIBC_2.4 tanf F
+GLIBC_2.4 tanh F
+GLIBC_2.4 tanhf F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgamma F
+GLIBC_2.4 tgammaf F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 trunc F
+GLIBC_2.4 truncf F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0 F
+GLIBC_2.4 y0f F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1 F
+GLIBC_2.4 y1f F
+GLIBC_2.4 y1l F
+GLIBC_2.4 yn F
+GLIBC_2.4 ynf F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist
new file mode 100644
index 0000000000..2b2e49e6a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __free_fdresult F
+GLIBC_2.4 __nis_default_access F
+GLIBC_2.4 __nis_default_group F
+GLIBC_2.4 __nis_default_owner F
+GLIBC_2.4 __nis_default_ttl F
+GLIBC_2.4 __nis_finddirectory F
+GLIBC_2.4 __nis_hash F
+GLIBC_2.4 __nisbind_connect F
+GLIBC_2.4 __nisbind_create F
+GLIBC_2.4 __nisbind_destroy F
+GLIBC_2.4 __nisbind_next F
+GLIBC_2.4 __yp_check F
+GLIBC_2.4 nis_add F
+GLIBC_2.4 nis_add_entry F
+GLIBC_2.4 nis_addmember F
+GLIBC_2.4 nis_checkpoint F
+GLIBC_2.4 nis_clone_directory F
+GLIBC_2.4 nis_clone_object F
+GLIBC_2.4 nis_clone_result F
+GLIBC_2.4 nis_creategroup F
+GLIBC_2.4 nis_destroy_object F
+GLIBC_2.4 nis_destroygroup F
+GLIBC_2.4 nis_dir_cmp F
+GLIBC_2.4 nis_domain_of F
+GLIBC_2.4 nis_domain_of_r F
+GLIBC_2.4 nis_first_entry F
+GLIBC_2.4 nis_free_directory F
+GLIBC_2.4 nis_free_object F
+GLIBC_2.4 nis_free_request F
+GLIBC_2.4 nis_freenames F
+GLIBC_2.4 nis_freeresult F
+GLIBC_2.4 nis_freeservlist F
+GLIBC_2.4 nis_freetags F
+GLIBC_2.4 nis_getnames F
+GLIBC_2.4 nis_getservlist F
+GLIBC_2.4 nis_ismember F
+GLIBC_2.4 nis_leaf_of F
+GLIBC_2.4 nis_leaf_of_r F
+GLIBC_2.4 nis_lerror F
+GLIBC_2.4 nis_list F
+GLIBC_2.4 nis_local_directory F
+GLIBC_2.4 nis_local_group F
+GLIBC_2.4 nis_local_host F
+GLIBC_2.4 nis_local_principal F
+GLIBC_2.4 nis_lookup F
+GLIBC_2.4 nis_mkdir F
+GLIBC_2.4 nis_modify F
+GLIBC_2.4 nis_modify_entry F
+GLIBC_2.4 nis_name_of F
+GLIBC_2.4 nis_name_of_r F
+GLIBC_2.4 nis_next_entry F
+GLIBC_2.4 nis_perror F
+GLIBC_2.4 nis_ping F
+GLIBC_2.4 nis_print_directory F
+GLIBC_2.4 nis_print_entry F
+GLIBC_2.4 nis_print_group F
+GLIBC_2.4 nis_print_group_entry F
+GLIBC_2.4 nis_print_link F
+GLIBC_2.4 nis_print_object F
+GLIBC_2.4 nis_print_result F
+GLIBC_2.4 nis_print_rights F
+GLIBC_2.4 nis_print_table F
+GLIBC_2.4 nis_read_obj F
+GLIBC_2.4 nis_remove F
+GLIBC_2.4 nis_remove_entry F
+GLIBC_2.4 nis_removemember F
+GLIBC_2.4 nis_rmdir F
+GLIBC_2.4 nis_servstate F
+GLIBC_2.4 nis_sperrno F
+GLIBC_2.4 nis_sperror F
+GLIBC_2.4 nis_sperror_r F
+GLIBC_2.4 nis_stats F
+GLIBC_2.4 nis_verifygroup F
+GLIBC_2.4 nis_write_obj F
+GLIBC_2.4 readColdStartFile F
+GLIBC_2.4 writeColdStartFile F
+GLIBC_2.4 xdr_cback_data F
+GLIBC_2.4 xdr_domainname F
+GLIBC_2.4 xdr_keydat F
+GLIBC_2.4 xdr_mapname F
+GLIBC_2.4 xdr_obj_p F
+GLIBC_2.4 xdr_peername F
+GLIBC_2.4 xdr_valdat F
+GLIBC_2.4 xdr_yp_buf F
+GLIBC_2.4 xdr_ypall F
+GLIBC_2.4 xdr_ypbind_binding F
+GLIBC_2.4 xdr_ypbind_resp F
+GLIBC_2.4 xdr_ypbind_resptype F
+GLIBC_2.4 xdr_ypbind_setdom F
+GLIBC_2.4 xdr_ypdelete_args F
+GLIBC_2.4 xdr_ypmap_parms F
+GLIBC_2.4 xdr_ypmaplist F
+GLIBC_2.4 xdr_yppush_status F
+GLIBC_2.4 xdr_yppushresp_xfr F
+GLIBC_2.4 xdr_ypreq_key F
+GLIBC_2.4 xdr_ypreq_nokey F
+GLIBC_2.4 xdr_ypreq_xfr F
+GLIBC_2.4 xdr_ypresp_all F
+GLIBC_2.4 xdr_ypresp_key_val F
+GLIBC_2.4 xdr_ypresp_maplist F
+GLIBC_2.4 xdr_ypresp_master F
+GLIBC_2.4 xdr_ypresp_order F
+GLIBC_2.4 xdr_ypresp_val F
+GLIBC_2.4 xdr_ypresp_xfr F
+GLIBC_2.4 xdr_ypstat F
+GLIBC_2.4 xdr_ypupdate_args F
+GLIBC_2.4 xdr_ypxfrstat F
+GLIBC_2.4 yp_all F
+GLIBC_2.4 yp_bind F
+GLIBC_2.4 yp_first F
+GLIBC_2.4 yp_get_default_domain F
+GLIBC_2.4 yp_maplist F
+GLIBC_2.4 yp_master F
+GLIBC_2.4 yp_match F
+GLIBC_2.4 yp_next F
+GLIBC_2.4 yp_order F
+GLIBC_2.4 yp_unbind F
+GLIBC_2.4 yp_update F
+GLIBC_2.4 ypbinderr_string F
+GLIBC_2.4 yperr_string F
+GLIBC_2.4 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
new file mode 100644
index 0000000000..91545c1542
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -0,0 +1,228 @@
+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.4 GLIBC_2.4 A
+GLIBC_2.4 _IO_flockfile F
+GLIBC_2.4 _IO_ftrylockfile F
+GLIBC_2.4 _IO_funlockfile F
+GLIBC_2.4 __close F
+GLIBC_2.4 __connect F
+GLIBC_2.4 __errno_location F
+GLIBC_2.4 __fcntl F
+GLIBC_2.4 __fork F
+GLIBC_2.4 __h_errno_location F
+GLIBC_2.4 __libc_allocate_rtsig F
+GLIBC_2.4 __libc_current_sigrtmax F
+GLIBC_2.4 __libc_current_sigrtmin F
+GLIBC_2.4 __lseek F
+GLIBC_2.4 __nanosleep F
+GLIBC_2.4 __open F
+GLIBC_2.4 __open64 F
+GLIBC_2.4 __pread64 F
+GLIBC_2.4 __pthread_cleanup_routine F
+GLIBC_2.4 __pthread_getspecific F
+GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_trylock F
+GLIBC_2.4 __pthread_mutex_unlock F
+GLIBC_2.4 __pthread_mutexattr_destroy F
+GLIBC_2.4 __pthread_mutexattr_init F
+GLIBC_2.4 __pthread_mutexattr_settype F
+GLIBC_2.4 __pthread_once F
+GLIBC_2.4 __pthread_register_cancel F
+GLIBC_2.4 __pthread_register_cancel_defer F
+GLIBC_2.4 __pthread_rwlock_destroy F
+GLIBC_2.4 __pthread_rwlock_init F
+GLIBC_2.4 __pthread_rwlock_rdlock F
+GLIBC_2.4 __pthread_rwlock_tryrdlock F
+GLIBC_2.4 __pthread_rwlock_trywrlock F
+GLIBC_2.4 __pthread_rwlock_unlock F
+GLIBC_2.4 __pthread_rwlock_wrlock F
+GLIBC_2.4 __pthread_setspecific F
+GLIBC_2.4 __pthread_unregister_cancel F
+GLIBC_2.4 __pthread_unregister_cancel_restore F
+GLIBC_2.4 __pthread_unwind_next F
+GLIBC_2.4 __pwrite64 F
+GLIBC_2.4 __read F
+GLIBC_2.4 __res_state F
+GLIBC_2.4 __send F
+GLIBC_2.4 __sigaction F
+GLIBC_2.4 __vfork F
+GLIBC_2.4 __wait F
+GLIBC_2.4 __write F
+GLIBC_2.4 _pthread_cleanup_pop F
+GLIBC_2.4 _pthread_cleanup_pop_restore F
+GLIBC_2.4 _pthread_cleanup_push F
+GLIBC_2.4 _pthread_cleanup_push_defer F
+GLIBC_2.4 accept F
+GLIBC_2.4 close F
+GLIBC_2.4 connect F
+GLIBC_2.4 fcntl F
+GLIBC_2.4 flockfile F
+GLIBC_2.4 fork F
+GLIBC_2.4 fsync F
+GLIBC_2.4 ftrylockfile F
+GLIBC_2.4 funlockfile F
+GLIBC_2.4 longjmp F
+GLIBC_2.4 lseek F
+GLIBC_2.4 lseek64 F
+GLIBC_2.4 msync F
+GLIBC_2.4 nanosleep F
+GLIBC_2.4 open F
+GLIBC_2.4 open64 F
+GLIBC_2.4 pause F
+GLIBC_2.4 pread F
+GLIBC_2.4 pread64 F
+GLIBC_2.4 pthread_attr_destroy F
+GLIBC_2.4 pthread_attr_getaffinity_np F
+GLIBC_2.4 pthread_attr_getdetachstate F
+GLIBC_2.4 pthread_attr_getguardsize F
+GLIBC_2.4 pthread_attr_getinheritsched F
+GLIBC_2.4 pthread_attr_getschedparam F
+GLIBC_2.4 pthread_attr_getschedpolicy F
+GLIBC_2.4 pthread_attr_getscope F
+GLIBC_2.4 pthread_attr_getstack F
+GLIBC_2.4 pthread_attr_getstackaddr F
+GLIBC_2.4 pthread_attr_getstacksize F
+GLIBC_2.4 pthread_attr_init F
+GLIBC_2.4 pthread_attr_setaffinity_np F
+GLIBC_2.4 pthread_attr_setdetachstate F
+GLIBC_2.4 pthread_attr_setguardsize F
+GLIBC_2.4 pthread_attr_setinheritsched F
+GLIBC_2.4 pthread_attr_setschedparam F
+GLIBC_2.4 pthread_attr_setschedpolicy F
+GLIBC_2.4 pthread_attr_setscope F
+GLIBC_2.4 pthread_attr_setstack F
+GLIBC_2.4 pthread_attr_setstackaddr F
+GLIBC_2.4 pthread_attr_setstacksize F
+GLIBC_2.4 pthread_barrier_destroy F
+GLIBC_2.4 pthread_barrier_init F
+GLIBC_2.4 pthread_barrier_wait F
+GLIBC_2.4 pthread_barrierattr_destroy F
+GLIBC_2.4 pthread_barrierattr_getpshared F
+GLIBC_2.4 pthread_barrierattr_init F
+GLIBC_2.4 pthread_barrierattr_setpshared F
+GLIBC_2.4 pthread_cancel F
+GLIBC_2.4 pthread_cond_broadcast F
+GLIBC_2.4 pthread_cond_destroy F
+GLIBC_2.4 pthread_cond_init F
+GLIBC_2.4 pthread_cond_signal F
+GLIBC_2.4 pthread_cond_timedwait F
+GLIBC_2.4 pthread_cond_wait F
+GLIBC_2.4 pthread_condattr_destroy F
+GLIBC_2.4 pthread_condattr_getclock F
+GLIBC_2.4 pthread_condattr_getpshared F
+GLIBC_2.4 pthread_condattr_init F
+GLIBC_2.4 pthread_condattr_setclock F
+GLIBC_2.4 pthread_condattr_setpshared F
+GLIBC_2.4 pthread_create F
+GLIBC_2.4 pthread_detach F
+GLIBC_2.4 pthread_equal F
+GLIBC_2.4 pthread_exit F
+GLIBC_2.4 pthread_getaffinity_np F
+GLIBC_2.4 pthread_getattr_np F
+GLIBC_2.4 pthread_getconcurrency F
+GLIBC_2.4 pthread_getcpuclockid F
+GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_getspecific F
+GLIBC_2.4 pthread_join F
+GLIBC_2.4 pthread_key_create F
+GLIBC_2.4 pthread_key_delete F
+GLIBC_2.4 pthread_kill F
+GLIBC_2.4 pthread_kill_other_threads_np F
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_destroy F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_init F
+GLIBC_2.4 pthread_mutex_lock F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutex_timedlock F
+GLIBC_2.4 pthread_mutex_trylock F
+GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_mutexattr_destroy F
+GLIBC_2.4 pthread_mutexattr_getkind_np F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getpshared F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_gettype F
+GLIBC_2.4 pthread_mutexattr_init F
+GLIBC_2.4 pthread_mutexattr_setkind_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setpshared F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
+GLIBC_2.4 pthread_mutexattr_settype F
+GLIBC_2.4 pthread_once F
+GLIBC_2.4 pthread_rwlock_destroy F
+GLIBC_2.4 pthread_rwlock_init F
+GLIBC_2.4 pthread_rwlock_rdlock F
+GLIBC_2.4 pthread_rwlock_timedrdlock F
+GLIBC_2.4 pthread_rwlock_timedwrlock F
+GLIBC_2.4 pthread_rwlock_tryrdlock F
+GLIBC_2.4 pthread_rwlock_trywrlock F
+GLIBC_2.4 pthread_rwlock_unlock F
+GLIBC_2.4 pthread_rwlock_wrlock F
+GLIBC_2.4 pthread_rwlockattr_destroy F
+GLIBC_2.4 pthread_rwlockattr_getkind_np F
+GLIBC_2.4 pthread_rwlockattr_getpshared F
+GLIBC_2.4 pthread_rwlockattr_init F
+GLIBC_2.4 pthread_rwlockattr_setkind_np F
+GLIBC_2.4 pthread_rwlockattr_setpshared F
+GLIBC_2.4 pthread_self F
+GLIBC_2.4 pthread_setaffinity_np F
+GLIBC_2.4 pthread_setcancelstate F
+GLIBC_2.4 pthread_setcanceltype F
+GLIBC_2.4 pthread_setconcurrency F
+GLIBC_2.4 pthread_setschedparam F
+GLIBC_2.4 pthread_setschedprio F
+GLIBC_2.4 pthread_setspecific F
+GLIBC_2.4 pthread_sigmask F
+GLIBC_2.4 pthread_spin_destroy F
+GLIBC_2.4 pthread_spin_init F
+GLIBC_2.4 pthread_spin_lock F
+GLIBC_2.4 pthread_spin_trylock F
+GLIBC_2.4 pthread_spin_unlock F
+GLIBC_2.4 pthread_testcancel F
+GLIBC_2.4 pthread_timedjoin_np F
+GLIBC_2.4 pthread_tryjoin_np F
+GLIBC_2.4 pthread_yield F
+GLIBC_2.4 pwrite F
+GLIBC_2.4 pwrite64 F
+GLIBC_2.4 raise F
+GLIBC_2.4 read F
+GLIBC_2.4 recv F
+GLIBC_2.4 recvfrom F
+GLIBC_2.4 recvmsg F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_destroy F
+GLIBC_2.4 sem_getvalue F
+GLIBC_2.4 sem_init F
+GLIBC_2.4 sem_open F
+GLIBC_2.4 sem_post F
+GLIBC_2.4 sem_timedwait F
+GLIBC_2.4 sem_trywait F
+GLIBC_2.4 sem_unlink F
+GLIBC_2.4 sem_wait F
+GLIBC_2.4 send F
+GLIBC_2.4 sendmsg F
+GLIBC_2.4 sendto F
+GLIBC_2.4 sigaction F
+GLIBC_2.4 siglongjmp F
+GLIBC_2.4 sigwait F
+GLIBC_2.4 system F
+GLIBC_2.4 tcdrain F
+GLIBC_2.4 vfork F
+GLIBC_2.4 wait F
+GLIBC_2.4 waitpid F
+GLIBC_2.4 write F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
new file mode 100644
index 0000000000..c7023be532
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
@@ -0,0 +1,93 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __b64_ntop F
+GLIBC_2.4 __b64_pton F
+GLIBC_2.4 __dn_comp F
+GLIBC_2.4 __dn_count_labels F
+GLIBC_2.4 __dn_expand F
+GLIBC_2.4 __dn_skipname F
+GLIBC_2.4 __fp_nquery F
+GLIBC_2.4 __fp_query F
+GLIBC_2.4 __fp_resstat F
+GLIBC_2.4 __hostalias F
+GLIBC_2.4 __loc_aton F
+GLIBC_2.4 __loc_ntoa F
+GLIBC_2.4 __p_cdname F
+GLIBC_2.4 __p_cdnname F
+GLIBC_2.4 __p_class F
+GLIBC_2.4 __p_class_syms D 0x54
+GLIBC_2.4 __p_fqname F
+GLIBC_2.4 __p_fqnname F
+GLIBC_2.4 __p_option F
+GLIBC_2.4 __p_query F
+GLIBC_2.4 __p_rcode F
+GLIBC_2.4 __p_secstodate F
+GLIBC_2.4 __p_time F
+GLIBC_2.4 __p_type F
+GLIBC_2.4 __p_type_syms D 0x228
+GLIBC_2.4 __putlong F
+GLIBC_2.4 __putshort F
+GLIBC_2.4 __res_close F
+GLIBC_2.4 __res_dnok F
+GLIBC_2.4 __res_hnok F
+GLIBC_2.4 __res_hostalias F
+GLIBC_2.4 __res_isourserver F
+GLIBC_2.4 __res_mailok F
+GLIBC_2.4 __res_mkquery F
+GLIBC_2.4 __res_nameinquery F
+GLIBC_2.4 __res_nmkquery F
+GLIBC_2.4 __res_nquery F
+GLIBC_2.4 __res_nquerydomain F
+GLIBC_2.4 __res_nsearch F
+GLIBC_2.4 __res_nsend F
+GLIBC_2.4 __res_ownok F
+GLIBC_2.4 __res_queriesmatch F
+GLIBC_2.4 __res_query F
+GLIBC_2.4 __res_querydomain F
+GLIBC_2.4 __res_search F
+GLIBC_2.4 __res_send F
+GLIBC_2.4 __sym_ntop F
+GLIBC_2.4 __sym_ntos F
+GLIBC_2.4 __sym_ston F
+GLIBC_2.4 _gethtbyaddr F
+GLIBC_2.4 _gethtbyname F
+GLIBC_2.4 _gethtbyname2 F
+GLIBC_2.4 _gethtent F
+GLIBC_2.4 _getlong F
+GLIBC_2.4 _getshort F
+GLIBC_2.4 _res_opcodes D 0x40
+GLIBC_2.4 _sethtent F
+GLIBC_2.4 inet_net_ntop F
+GLIBC_2.4 inet_net_pton F
+GLIBC_2.4 inet_neta F
+GLIBC_2.4 res_gethostbyaddr F
+GLIBC_2.4 res_gethostbyname F
+GLIBC_2.4 res_gethostbyname2 F
+GLIBC_2.4 res_send_setqhook F
+GLIBC_2.4 res_send_setrhook 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/m68k/coldfire/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
new file mode 100644
index 0000000000..b47aa0cc9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -0,0 +1,42 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 aio_cancel F
+GLIBC_2.4 aio_cancel64 F
+GLIBC_2.4 aio_error F
+GLIBC_2.4 aio_error64 F
+GLIBC_2.4 aio_fsync F
+GLIBC_2.4 aio_fsync64 F
+GLIBC_2.4 aio_init F
+GLIBC_2.4 aio_read F
+GLIBC_2.4 aio_read64 F
+GLIBC_2.4 aio_return F
+GLIBC_2.4 aio_return64 F
+GLIBC_2.4 aio_suspend F
+GLIBC_2.4 aio_suspend64 F
+GLIBC_2.4 aio_write F
+GLIBC_2.4 aio_write64 F
+GLIBC_2.4 clock_getcpuclockid F
+GLIBC_2.4 clock_getres F
+GLIBC_2.4 clock_gettime F
+GLIBC_2.4 clock_nanosleep F
+GLIBC_2.4 clock_settime F
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.4 mq_close F
+GLIBC_2.4 mq_getattr F
+GLIBC_2.4 mq_notify F
+GLIBC_2.4 mq_open F
+GLIBC_2.4 mq_receive F
+GLIBC_2.4 mq_send F
+GLIBC_2.4 mq_setattr F
+GLIBC_2.4 mq_timedreceive F
+GLIBC_2.4 mq_timedsend F
+GLIBC_2.4 mq_unlink F
+GLIBC_2.4 shm_open F
+GLIBC_2.4 shm_unlink F
+GLIBC_2.4 timer_create F
+GLIBC_2.4 timer_delete F
+GLIBC_2.4 timer_getoverrun F
+GLIBC_2.4 timer_gettime F
+GLIBC_2.4 timer_settime F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist
new file mode 100644
index 0000000000..4cffcd2238
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 td_init F
+GLIBC_2.4 td_log F
+GLIBC_2.4 td_symbol_list F
+GLIBC_2.4 td_ta_clear_event F
+GLIBC_2.4 td_ta_delete F
+GLIBC_2.4 td_ta_enable_stats F
+GLIBC_2.4 td_ta_event_addr F
+GLIBC_2.4 td_ta_event_getmsg F
+GLIBC_2.4 td_ta_get_nthreads F
+GLIBC_2.4 td_ta_get_ph F
+GLIBC_2.4 td_ta_get_stats F
+GLIBC_2.4 td_ta_map_id2thr F
+GLIBC_2.4 td_ta_map_lwp2thr F
+GLIBC_2.4 td_ta_new F
+GLIBC_2.4 td_ta_reset_stats F
+GLIBC_2.4 td_ta_set_event F
+GLIBC_2.4 td_ta_setconcurrency F
+GLIBC_2.4 td_ta_thr_iter F
+GLIBC_2.4 td_ta_tsd_iter F
+GLIBC_2.4 td_thr_clear_event F
+GLIBC_2.4 td_thr_dbresume F
+GLIBC_2.4 td_thr_dbsuspend F
+GLIBC_2.4 td_thr_event_enable F
+GLIBC_2.4 td_thr_event_getmsg F
+GLIBC_2.4 td_thr_get_info F
+GLIBC_2.4 td_thr_getfpregs F
+GLIBC_2.4 td_thr_getgregs F
+GLIBC_2.4 td_thr_getxregs F
+GLIBC_2.4 td_thr_getxregsize F
+GLIBC_2.4 td_thr_set_event F
+GLIBC_2.4 td_thr_setfpregs F
+GLIBC_2.4 td_thr_setgregs F
+GLIBC_2.4 td_thr_setprio F
+GLIBC_2.4 td_thr_setsigpending F
+GLIBC_2.4 td_thr_setxregs F
+GLIBC_2.4 td_thr_sigsetmask F
+GLIBC_2.4 td_thr_tls_get_addr F
+GLIBC_2.4 td_thr_tlsbase F
+GLIBC_2.4 td_thr_tsd F
+GLIBC_2.4 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist
new file mode 100644
index 0000000000..0b4f746094
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 forkpty F
+GLIBC_2.4 login F
+GLIBC_2.4 login_tty F
+GLIBC_2.4 logout F
+GLIBC_2.4 logwtmp F
+GLIBC_2.4 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions
new file mode 100644
index 0000000000..4309e4a368
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions
@@ -0,0 +1 @@
+DEFAULT                 GLIBC_2.4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
new file mode 100644
index 0000000000..e55e650cc9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_M68K_COLDFIRE_SYSDEP_H
+#define _LINUX_M68K_COLDFIRE_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/m68k/coldfire/sysdep.h>
+#include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
+
+#define SYSCALL_ERROR_LOAD_GOT(reg)					      \
+    move.l &_GLOBAL_OFFSET_TABLE_@GOTPC, reg;				      \
+    lea (-6, %pc, reg), reg
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure
new file mode 100644
index 0000000000..8e955387b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure
@@ -0,0 +1,9 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ case $machine in
+m68k/coldfire)
+  ;;
+*)
+  libc_cv_gcc_unwind_find_fde=yes
+  ;;
+esac
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure.ac
new file mode 100644
index 0000000000..c21ca9dd47
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/configure.ac
@@ -0,0 +1,10 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+case $machine in
+m68k/coldfire)
+  ;;
+*)
+  libc_cv_gcc_unwind_find_fde=yes
+  ;;
+esac
+ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-librecon.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-librecon.h
new file mode 100644
index 0000000000..dbb4e75712
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-librecon.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/dl-librecon.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-static.c
new file mode 100644
index 0000000000..048572df7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  M68K version.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0,
+    };
+
+  GLRO(dl_pagesize) = *(size_t *) array[DL_PAGESIZE];
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize)
+};
+
+static void
+_dl_unprotect_relro (struct link_map *l)
+{
+  ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
+		      & ~(GLRO(dl_pagesize) - 1));
+  ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
+		    & ~(GLRO(dl_pagesize) - 1));
+
+  if (start != end)
+    __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
+}
+
+void
+_dl_static_init (struct link_map *l)
+{
+  struct link_map *rtld_map = l;
+  struct r_scope_elem **scope;
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+  size_t i;
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
+				  NULL, 0, 1, NULL);
+
+  for (scope = l->l_local_scope; *scope != NULL; scope++)
+    for (i = 0; i < (*scope)->r_nlist; i++)
+      if ((*scope)->r_list[i] == loadbase)
+	{
+	  rtld_map = (*scope)->r_list[i];
+	  break;
+	}
+
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      _dl_unprotect_relro (rtld_map);
+      f (variables);
+      _dl_protect_relro (rtld_map);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getmsg.c
new file mode 100644
index 0000000000..3a1fa08525
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getpagesize.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getpagesize.c
new file mode 100644
index 0000000000..2233253793
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getpagesize.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@suse.de>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sys/param.h>
+#include <errno.h>
+
+#include <ldsodefs.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Return the system page size.  */
+int
+__getpagesize (void)
+{
+#ifdef __NR_getpagesize
+  int result;
+#endif
+
+  if (GLRO(dl_pagesize) != 0)
+    return GLRO(dl_pagesize);
+
+#ifdef __NR_getpagesize
+  INTERNAL_SYSCALL_DECL (err);
+  result = INTERNAL_SYSCALL (getpagesize, err, 0);
+  /* The only possible error is ENOSYS.  */
+  if (!INTERNAL_SYSCALL_ERROR_P (result, err))
+    return result;
+#endif
+
+  return 4096;
+}
+libc_hidden_def (__getpagesize)
+weak_alias (__getpagesize, getpagesize)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getsysstats.c
new file mode 100644
index 0000000000..b919b1fe3e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/getsysstats.c
@@ -0,0 +1,37 @@
+/* Determine various system internal values, Linux/m68k version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@suse.de>
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* We need to define a special parser for /proc/cpuinfo.  */
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)	  \
+  do									  \
+    {									  \
+      (RESULT) = 0;							  \
+      /* Read all lines and count the lines starting with the string	  \
+	 "CPU:".  We don't have to fear extremely long lines since	  \
+	 the kernel will not generate them.  8192 bytes are really	  \
+	 enough.  */							  \
+      char *l;								  \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)  \
+	if (strncmp (l, "CPU:", 4) == 0)	      	     		  \
+	  ++(RESULT);							  \
+    }									  \
+  while (0)
+
+#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/glob64.c
new file mode 100644
index 0000000000..82a9a296a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/glob64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/glob64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/init-first.c
new file mode 100644
index 0000000000..227dead30e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/init-first.c
@@ -0,0 +1,74 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/m68k.
+   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Note: linking in vDSO to a static binary requires changes to
+   the main GLIBC proper.  Not yet implemented.  */
+#ifdef SHARED
+
+#include <dl-vdso.h>
+#include <m68k-vdso.h>
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  void *p;
+
+  PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
+
+  /* It may happen that rtld didn't initialize the vDSO, so fallback
+     to the syscall implementations if _dl_vdso_vsym returns NULL.
+     This may happen when a static executable dlopen's a dynamic library.
+     This really is nothing more than a workaround for rtld/csu
+     deficiency.  Ideally, init code would setup the vDSO for static
+     binaries too.  */
+
+  p = _dl_vdso_vsym ("__kernel_read_tp", &linux26);
+  if (p != NULL)
+    {
+      __vdso_read_tp = p;
+      __rtld___vdso_read_tp = p;
+    }
+  else
+    assert (__vdso_read_tp == (void *) __vdso_read_tp_stub);
+
+  p = _dl_vdso_vsym ("__kernel_atomic_cmpxchg_32", &linux26);
+  if (p != NULL)
+    {
+      __vdso_atomic_cmpxchg_32 = p;
+      __rtld___vdso_atomic_cmpxchg_32 = p;
+    }
+  else
+    assert (__vdso_atomic_cmpxchg_32
+	    == (void *) __vdso_atomic_cmpxchg_32_stub);
+
+  p = _dl_vdso_vsym ("__kernel_atomic_barrier", &linux26);
+  if (p != NULL)
+    {
+      __vdso_atomic_barrier = p;
+      __rtld___vdso_atomic_barrier = p;
+    }
+  else
+    assert (__vdso_atomic_barrier == (void *) __vdso_atomic_barrier_stub);
+}
+
+#define VDSO_SETUP _libc_vdso_platform_setup
+
+#endif /* SHARED */
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/kernel-features.h
new file mode 100644
index 0000000000..cdd5e6c935
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/kernel-features.h
@@ -0,0 +1,57 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 2008-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/>.  */
+
+/* m68k uses socketcall.  */
+#define __ASSUME_SOCKETCALL	1
+
+/* Direct socketcalls available with kernel 4.3.  */
+#if __LINUX_KERNEL_VERSION >= 0x040300
+# define __ASSUME_SOCKET_SYSCALL             1
+# define __ASSUME_SOCKETPAIR_SYSCALL         1
+# define __ASSUME_BIND_SYSCALL               1
+# define __ASSUME_LISTEN_SYSCALL             1
+# define __ASSUME_GETSOCKOPT_SYSCALL         1
+# define __ASSUME_SETSOCKOPT_SYSCALL         1
+# define __ASSUME_GETSOCKNAME_SYSCALL        1
+# define __ASSUME_GETPEERNAME_SYSCALL        1
+# define __ASSUME_SHUTDOWN_SYSCALL           1
+#endif
+
+#include_next <kernel-features.h>
+
+#undef __ASSUME_ACCEPT_SYSCALL
+
+#if __LINUX_KERNEL_VERSION < 0x040300
+# undef __ASSUME_ACCEPT4_SYSCALL
+# undef __ASSUME_RECVMMSG_SYSCALL
+# undef __ASSUME_SENDMMSG_SYSCALL
+# undef __ASSUME_SENDMSG_SYSCALL
+# undef __ASSUME_RECVMSG_SYSCALL
+# undef __ASSUME_CONNECT_SYSCALL
+# undef __ASSUME_RECVFROM_SYSCALL
+# undef __ASSUME_SENDTO_SYSCALL
+#endif
+
+/* No support for PI futexes or robust mutexes before 3.10 for m68k.  */
+#if __LINUX_KERNEL_VERSION < 0x030a00
+# undef __ASSUME_SET_ROBUST_LIST
+#endif
+
+/* m68k only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldconfig.h
new file mode 100644
index 0000000000..953f192bcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldconfig.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/ldconfig.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldsodefs.h
new file mode 100644
index 0000000000..93a18bd18b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/ldsodefs.h
@@ -0,0 +1,32 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. M68K.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c
new file mode 100644
index 0000000000..45982e99b9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c
@@ -0,0 +1 @@
+#include "m68k-vdso.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/localplt.data
new file mode 100644
index 0000000000..1a2acfdb93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/localplt.data
@@ -0,0 +1,17 @@
+libc.so: _Unwind_Find_FDE
+libc.so: __m68k_read_tp
+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/m68k/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/lxstat.c
new file mode 100644
index 0000000000..0efa0aea49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/lxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/Makefile
new file mode 100644
index 0000000000..91bd35800a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
new file mode 100644
index 0000000000..d8a0cc7e91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
@@ -0,0 +1,63 @@
+/* Save current context.
+   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>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__getcontext)
+	/* Load address of the context data structure.  */
+	move.l	4(%sp), %a0
+
+	/* Save the preserved registers and the return address.  */
+	movem.l	%d2-%d7, oGREGS+2*4(%a0)
+	movem.l	%a2-%a6, oGREGS+10*4(%a0)
+	lea	4(%sp), %a1
+	move.l	%a1, oSP(%a0)
+	move.l	(%sp), oPC(%a0)
+	fmovem.l %fpsr/%fpcr/%fpiar, oFPREGS(%a0)
+	fmovem.x %fp2-%fp7, oFP2(%a0)
+	cfi_def_cfa (%a0, 0)
+	cfi_offset (%d2, oGREGS+2*4)
+	cfi_offset (%d3, oGREGS+3*4)
+	cfi_offset (%pc, oPC)
+
+	/* Save the current signal mask.  */
+	lea	oSIGMASK(%a0), %a1
+	move.l	%a1, %d3
+	clr.l	%d2
+	move.l	#SIG_SETMASK, %d1
+	move.l	#__NR_sigprocmask, %d0
+	trap	#0
+	/* Restore registers.  */
+	move.l	oGREGS+2*4(%a0), %d2
+	cfi_restore (%d2)
+	move.l	oGREGS+3*4(%a0), %d3
+	cfi_restore (%d3)
+	cfi_def_cfa (%sp, 4)
+	cfi_offset (%pc, -4)
+	cmp.l	#-4095, %d0		/* Check %d0 for error.  */
+	jcc	SYSCALL_ERROR_LABEL	/* Jump to error handler.  */
+
+0:	/* All done, return 0 for success.  */
+	clr.l	%d0
+	rts
+PSEUDO_END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
new file mode 100644
index 0000000000..3907c9da33
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x4
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __stack_chk_guard D 0x4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
new file mode 100644
index 0000000000..a36739d41c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -0,0 +1,2288 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divdi3 F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __moddi3 F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __udivdi3 F
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __umoddi3 F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x1fe
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 cacheflush F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 mcount F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0x98
+GLIBC_2.1 _IO_2_1_stdin_ D 0x98
+GLIBC_2.1 _IO_2_1_stdout_ D 0x98
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __signbitl F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1f4
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1f4
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __m68k_read_tp F
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 alphasort64 F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __fgets_chk F
+GLIBC_2.4 __fgets_unlocked_chk F
+GLIBC_2.4 __fgetws_chk F
+GLIBC_2.4 __fgetws_unlocked_chk F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdomainname_chk F
+GLIBC_2.4 __getgroups_chk F
+GLIBC_2.4 __gethostname_chk F
+GLIBC_2.4 __getlogin_r_chk F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsncat_chk F
+GLIBC_2.4 __wcsncpy_chk F
+GLIBC_2.4 __wcsnrtombs_chk F
+GLIBC_2.4 __wcsrtombs_chk F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 eaccess F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.5 GLIBC_2.5 A
+GLIBC_2.5 __readlinkat_chk F
+GLIBC_2.5 inet6_opt_append F
+GLIBC_2.5 inet6_opt_find F
+GLIBC_2.5 inet6_opt_finish F
+GLIBC_2.5 inet6_opt_get_val F
+GLIBC_2.5 inet6_opt_init F
+GLIBC_2.5 inet6_opt_next F
+GLIBC_2.5 inet6_opt_set_val F
+GLIBC_2.5 inet6_rth_add F
+GLIBC_2.5 inet6_rth_getaddr F
+GLIBC_2.5 inet6_rth_init F
+GLIBC_2.5 inet6_rth_reverse F
+GLIBC_2.5 inet6_rth_segments F
+GLIBC_2.5 inet6_rth_space F
+GLIBC_2.5 splice F
+GLIBC_2.5 tee F
+GLIBC_2.5 vmsplice F
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 __sched_cpucount F
+GLIBC_2.6 epoll_pwait F
+GLIBC_2.6 futimens F
+GLIBC_2.6 sched_getcpu F
+GLIBC_2.6 strerror_l F
+GLIBC_2.6 sync_file_range F
+GLIBC_2.6 utimensat F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __fread_chk F
+GLIBC_2.7 __fread_unlocked_chk F
+GLIBC_2.7 __isoc99_fscanf F
+GLIBC_2.7 __isoc99_fwscanf F
+GLIBC_2.7 __isoc99_scanf F
+GLIBC_2.7 __isoc99_sscanf F
+GLIBC_2.7 __isoc99_swscanf F
+GLIBC_2.7 __isoc99_vfscanf F
+GLIBC_2.7 __isoc99_vfwscanf F
+GLIBC_2.7 __isoc99_vscanf F
+GLIBC_2.7 __isoc99_vsscanf F
+GLIBC_2.7 __isoc99_vswscanf F
+GLIBC_2.7 __isoc99_vwscanf F
+GLIBC_2.7 __isoc99_wscanf F
+GLIBC_2.7 __open64_2 F
+GLIBC_2.7 __open_2 F
+GLIBC_2.7 __openat64_2 F
+GLIBC_2.7 __openat_2 F
+GLIBC_2.7 __sched_cpualloc F
+GLIBC_2.7 __sched_cpufree F
+GLIBC_2.7 eventfd F
+GLIBC_2.7 eventfd_read F
+GLIBC_2.7 eventfd_write F
+GLIBC_2.7 mkostemp F
+GLIBC_2.7 mkostemp64 F
+GLIBC_2.7 signalfd F
+GLIBC_2.8 GLIBC_2.8 A
+GLIBC_2.8 __asprintf_chk F
+GLIBC_2.8 __dprintf_chk F
+GLIBC_2.8 __obstack_printf_chk F
+GLIBC_2.8 __obstack_vprintf_chk F
+GLIBC_2.8 __vasprintf_chk F
+GLIBC_2.8 __vdprintf_chk F
+GLIBC_2.8 qsort_r F
+GLIBC_2.8 timerfd_create F
+GLIBC_2.8 timerfd_gettime F
+GLIBC_2.8 timerfd_settime F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 dup3 F
+GLIBC_2.9 epoll_create1 F
+GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 pipe2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
new file mode 100644
index 0000000000..f3de018cd9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -0,0 +1,474 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __fpclassifyl F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __signbitl F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 exp2l F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
new file mode 100644
index 0000000000..8f9c3254be
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -0,0 +1,257 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 pthread_attr_getaffinity_np F
+GLIBC_2.3.4 pthread_attr_setaffinity_np F
+GLIBC_2.3.4 pthread_getaffinity_np F
+GLIBC_2.3.4 pthread_setaffinity_np F
+GLIBC_2.3.4 pthread_setschedprio F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/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/m68k/m680x0/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
new file mode 100644
index 0000000000..59fe3a3b2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
@@ -0,0 +1,103 @@
+/* Create new context.
+   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>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__makecontext)
+	move.l	4(%sp), %a0
+
+	/* Get the address of the function we are supposed to run.  */
+	move.l	8(%sp), oPC(%a0)
+
+	/* Compute the address of the stack.  The information comes from
+	   to us_stack element.  */
+	move.l	oSS_SP(%a0), %a1
+	add.l	oSS_SIZE(%a0), %a1
+
+	/* Remember the number of parameters for the exit handler since
+	   it has to remove them.  We store the number in the D7 register
+	   which the function we will call must preserve.  */
+	move.l	12(%sp), %d1
+	move.l	%d1, oGREGS+7*4(%a0)
+
+	/* Make room on the new stack for the parameters.
+	   Room for the arguments, return address (== 1f) and
+	   oLINK pointer is needed.  */
+	neg.l	%d1
+	lea	-8(%a1,%d1.l*4), %a1
+	neg.l	%d1
+
+	/* Store the future stack pointer.  */
+	move.l	%a1, oSP(%a0)
+
+	/* Put the next context on the new stack (from the uc_link
+	   element).  */
+	move.l	oLINK(%a0), 4(%a1,%d1.l*4)
+
+	/* Copy all the parameters.  */
+1:	subq.l	#1,%d1
+	jmi	2f
+	move.l	16(%sp,%d1.l*4), 4(%a1,%d1.l*4)
+	jra	1b
+2:
+
+	/* If the function we call returns we must continue with the
+	   context which is given in the uc_link element.  To do this
+	   set the return address for the function the user provides
+	   to a little bit of helper code which does the magic (see
+	   below).  */
+	lea	1f(%pc), %a0
+	move.l	%a0, (%a1)
+	/* 'makecontext' returns no value.  */
+	rts
+
+	/* 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.
+	   Make sure to separate the return label from the previous unwind
+	   region, because the unwinder uses ra-1 to find the FDE.  */
+	cfi_endproc
+	nop
+1:
+	/* This removes the parameters passed to the function given to
+	   'makecontext' from the stack.  D7 contains the number of
+	   parameters (see above).  */
+	lea	(%sp,%d7.l*4), %sp
+
+	tst.l	(%sp)			/* Check the next context.  */
+	jeq	2f			/* If it is zero exit.  */
+
+	jbsr	JUMPTARGET(__setcontext)
+	/* If this returns (which can happen if the syscall fails) we'll
+	   exit the program with the return error value (-1).  */
+
+	move.l	%d0, (%sp)
+2:	jbsr	HIDDEN_JUMPTARGET(exit)
+	/* The 'exit' call should never return.  In case it does cause
+	   the process to terminate.  */
+	illegal
+	cfi_startproc
+END(__makecontext)
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/setcontext.S
new file mode 100644
index 0000000000..29ac7df9b3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/setcontext.S
@@ -0,0 +1,94 @@
+/* Install given context.
+   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>
+
+#include "ucontext_i.h"
+
+ENTRY(__setcontext)
+	/* Load address of the context data structure.  */
+	move.l	4(%sp), %a0
+
+	/* Get the current signal mask.  Note that we preserve D2/D3 in case
+	   the system call fails and we return from the function with an
+	   error.  */
+	move.l	%d3, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d3, 0)
+	move.l	%d2, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d2, 0)
+	clr.l	%d3
+	lea	oSIGMASK(%a0), %a1
+	move.l	%a1, %d2
+	move.l	#SIG_SETMASK, %d1
+	move.l	#__NR_sigprocmask, %d0
+	trap	#0
+	cmp.l	#-4095, %d0		/* Check %d0 for error.  */
+	jcs	0f
+	move.l	(%sp)+, %d2
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (d2)
+	move.l	(%sp)+, %d3
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (d3)
+	jra	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+0:	/* Load the new stack pointer.  */
+	move.l	oSP(%a0), %sp
+	cfi_def_cfa (%a0, 0)
+	cfi_offset (%d2, oGREGS+2*4)
+	cfi_offset (%d3, oGREGS+3*4)
+	cfi_offset (%d4, oGREGS+4*4)
+	cfi_offset (%d5, oGREGS+5*4)
+	cfi_offset (%d6, oGREGS+6*4)
+	cfi_offset (%d7, oGREGS+7*4)
+	cfi_offset (%a2, oGREGS+10*4)
+	cfi_offset (%a3, oGREGS+11*4)
+	cfi_offset (%a4, oGREGS+12*4)
+	cfi_offset (%a5, oGREGS+13*4)
+	cfi_offset (%a6, oGREGS+14*4)
+	cfi_offset (%fp2, oFP2+0*12)
+	cfi_offset (%fp3, oFP2+1*12)
+	cfi_offset (%fp4, oFP2+2*12)
+	cfi_offset (%fp5, oFP2+3*12)
+	cfi_offset (%fp6, oFP2+4*12)
+	cfi_offset (%fp7, oFP2+5*12)
+	cfi_offset (%pc, oPC)
+
+	/* Load the values of all the preserved registers (except SP).  */
+	movem.l	oGREGS+2*4(%a0), %d2-%d7
+	movem.l	oGREGS+10*4(%a0), %a2-%a6
+	fmovem.l oFPREGS(%a0), %fpsr/%fpcr/%fpiar
+	fmovem.x oFP2(%a0), %fp2-%fp7
+	clr.l	%d0
+
+	/* Fetch the address to return to.  */
+	movl	oPC(%a0), %a1
+
+	/* End FDE here, we fall into another context.  */
+	cfi_endproc
+	cfi_startproc
+	cfi_register (%pc, %a1)
+
+	jmp	(%a1)
+
+	cfi_offset (%pc, -4)
+PSEUDO_END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/swapcontext.S
new file mode 100644
index 0000000000..b36a5db21c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/swapcontext.S
@@ -0,0 +1,108 @@
+/* Save current context and install the given one.
+   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>
+
+#include "ucontext_i.h"
+
+
+ENTRY(__swapcontext)
+	/* Load address of the context data structure we save in.  */
+	move.l	4(%sp), %a0
+
+	/* Save the preserved registers and the return address.  */
+	movem.l	%d2-%d7, oGREGS+2*4(%a0)
+	movem.l	%a2-%a6, oGREGS+10*4(%a0)
+	lea	4(%sp), %a1
+	move.l	%a1, oSP(%a0)
+	move.l	(%sp), oPC(%a0)
+	fmovem.l %fpsr/%fpcr/%fpiar, oFPREGS(%a0)
+	fmovem.x %fp2-%fp7, oFP2(%a0)
+	cfi_def_cfa (%a0, 0)
+	cfi_offset (%d2, oGREGS+2*4)
+	cfi_offset (%d3, oGREGS+3*4)
+	cfi_offset (%a2, oGREGS+10*4)
+	cfi_offset (%pc, oPC)
+
+	/* Load address of the context data structure we have to load.  */
+	move.l	8(%sp), %a1
+
+	/* Save the current signal mask and install the new one.  */
+	lea	oSIGMASK(%a0), %a2
+	move.l	%a2, %d3
+	lea	oSIGMASK(%a1), %a2
+	move.l	%a2, %d2
+	move.l	#SIG_SETMASK, %d1
+	move.l	#__NR_sigprocmask, %d0
+	trap	#0
+	cmp.l	#-4095, %d0		/* Check %d0 for error.  */
+	jcs	0f
+	/* Restore registers.  */
+	move.l	oGREGS+2*4(%a0), %d2
+	cfi_restore (%d2)
+	move.l	oGREGS+3*4(%a0), %d3
+	cfi_restore (%d3)
+	move.l	oGREGS+10*4(%a0), %a2
+	cfi_restore (%a2)
+	jra	SYSCALL_ERROR_LABEL	/* Jump to error handler.  */
+
+0:	/* Load the new stack pointer.  */
+	move.l	oSP(%a1), %sp
+	cfi_def_cfa (%a1, 0)
+	cfi_offset (%d2, oGREGS+2*4)
+	cfi_offset (%d3, oGREGS+3*4)
+	cfi_offset (%d4, oGREGS+4*4)
+	cfi_offset (%d5, oGREGS+5*4)
+	cfi_offset (%d6, oGREGS+6*4)
+	cfi_offset (%d7, oGREGS+7*4)
+	cfi_offset (%a2, oGREGS+10*4)
+	cfi_offset (%a3, oGREGS+11*4)
+	cfi_offset (%a4, oGREGS+12*4)
+	cfi_offset (%a5, oGREGS+13*4)
+	cfi_offset (%a6, oGREGS+14*4)
+	cfi_offset (%fp2, oFP2+0*12)
+	cfi_offset (%fp3, oFP2+1*12)
+	cfi_offset (%fp4, oFP2+2*12)
+	cfi_offset (%fp5, oFP2+3*12)
+	cfi_offset (%fp6, oFP2+4*12)
+	cfi_offset (%fp7, oFP2+5*12)
+	cfi_offset (%pc, oPC)
+
+	/* Load the values of all the preserved registers (except SP).  */
+	movem.l	oGREGS+2*4(%a1), %d2-%d7
+	movem.l	oGREGS+10*4(%a1), %a2-%a6
+	fmovem.l oFPREGS(%a1), %fpsr/%fpcr/%fpiar
+	fmovem.x oFP2(%a1), %fp2-%fp7
+
+	/* Clear D0 to indicate success.  */
+	clr.l	%d0
+
+	/* Fetch the address to return to.  */
+	move.l	oPC(%a1), %a0
+
+	/* End FDE here, we fall into another context.  */
+	cfi_endproc
+	cfi_startproc
+	cfi_register (%pc, %a0)
+
+	jmp	(%a0)
+
+	cfi_offset (%pc, -4)
+PSEUDO_END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
new file mode 100644
index 0000000000..e3848f684b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_M68K_M680X0_SYSDEP_H
+#define _LINUX_M68K_M680X0_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/m68k/m680x0/sysdep.h>
+#include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
+
+#define SYSCALL_ERROR_LOAD_GOT(reg)					      \
+    lea (_GLOBAL_OFFSET_TABLE_@GOTPC, %pc), reg
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
new file mode 100644
index 0000000000..46bd4bf15f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
@@ -0,0 +1,20 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_SETMASK
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+oLINK		ucontext (uc_link)
+oSS_SP		ucontext (uc_stack.ss_sp)
+oSS_SIZE	ucontext (uc_stack.ss_size)
+oGREGS		mcontext (gregs)
+oSP		mcontext (gregs[R_SP])
+oPC		mcontext (gregs[R_PC])
+oFPREGS		mcontext (fpregs)
+oFP2		mcontext (fpregs.f_fpregs[2])
+oSIGMASK	ucontext (uc_sigmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S
new file mode 100644
index 0000000000..8752f1c632
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-helpers.S
@@ -0,0 +1,95 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <m68k-vdso.h>
+
+	.text
+
+	.hidden __vdso_read_tp_stub
+ENTRY (__vdso_read_tp_stub)
+	move.l	#__NR_get_thread_area, %d0
+	trap	#0
+	move.l	%d0, %a0
+	rts
+END (__vdso_read_tp_stub)
+
+# ifdef SHARED
+/* GCC will emit calls to this routine.  Linux has an
+   equivalent helper function (which clobbers fewer registers than
+   a normal function call) in a vdso; tail call to the
+   helper.  */
+# if IS_IN (rtld)
+/* rtld gets a hidden copy of __m68k_read_tp.  */
+	.hidden __m68k_read_tp
+# endif
+ENTRY (__m68k_read_tp)
+	LOAD_GOT (%a0)
+	move.l	M68K_VDSO_SYMBOL (__vdso_read_tp)@GOT(%a0), %a0
+	move.l	(%a0), %a0
+	jmp	(%a0)
+END (__m68k_read_tp)
+
+/* The following two stubs are for macros in atomic.h, they can't
+   clobber anything.  */
+
+	.hidden __vdso_atomic_cmpxchg_32_stub
+ENTRY (__vdso_atomic_cmpxchg_32_stub)
+	move.l	%d2, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%d2, 0)
+	move.l	%d0, %d2
+	move.l	#SYS_ify (atomic_cmpxchg_32), %d0
+	trap	#0
+	move.l	(%sp)+, %d2
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (%d2)
+	rts
+END (__vdso_atomic_cmpxchg_32_stub)
+
+	.hidden __vdso_atomic_barrier_stub
+ENTRY (__vdso_atomic_barrier_stub)
+	move.l	%d0, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	move.l	#SYS_ify (atomic_barrier), %d0
+	trap	#0
+	move.l	(%sp)+, %d0
+	cfi_adjust_cfa_offset (-4)
+	rts
+END (__vdso_atomic_barrier_stub)
+# else /* !SHARED */
+/* If the vDSO is not available, use a syscall to get TP.  */
+	strong_alias (__vdso_read_tp_stub, __m68k_read_tp)
+# endif /* SHARED */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.c
new file mode 100644
index 0000000000..f346dac077
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+
+#include <m68k-vdso.h>
+
+/* Because these pointers are used from other libraries than libc,
+   they are exported at GLIBC_PRIVATE version.
+   We initialize them to syscall implementation so that they will be ready
+   to use from the very beginning.  */
+void * M68K_VDSO_SYMBOL (__vdso_read_tp)
+= (void *) __vdso_read_tp_stub;
+void * M68K_VDSO_SYMBOL (__vdso_atomic_cmpxchg_32)
+= (void *) __vdso_atomic_cmpxchg_32_stub;
+void * M68K_VDSO_SYMBOL (__vdso_atomic_barrier)
+= (void *) __vdso_atomic_barrier_stub;
+
+#endif /* SHARED */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.h
new file mode 100644
index 0000000000..cf67af7dc2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/m68k-vdso.h
@@ -0,0 +1,60 @@
+/* Resolve function pointers to VDSO functions.
+   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 _M68K_VDSO_H
+#define _M68K_VDSO_H
+
+#ifdef SHARED
+
+# if IS_IN (rtld)
+# define M68K_VDSO_SYMBOL(name) __rtld_##name
+# define STR_M68K_VDSO_SYMBOL(name) "__rtld_" #name
+# else
+# define M68K_VDSO_SYMBOL(name) name
+# define STR_M68K_VDSO_SYMBOL(name) #name
+# endif
+
+# ifndef __ASSEMBLER__
+
+/* We define __rtld_* copies for rtld.
+   We need them visible in libc to initialize.  */
+#  if IS_IN (rtld) || IS_IN (libc)
+extern void *__rtld___vdso_read_tp;
+extern void *__rtld___vdso_atomic_cmpxchg_32;
+extern void *__rtld___vdso_atomic_barrier;
+
+/* These stubs are meant to be invoked only from the assembly.  */
+extern void __vdso_read_tp_stub (void);
+extern void __vdso_atomic_cmpxchg_32_stub (void);
+extern void __vdso_atomic_barrier_stub (void);
+#  endif /* IS_IN (rtld) || IS_IN (libc) */
+
+/* RTLD should only use its own copies.  */
+#  if !IS_IN (rtld)
+extern void *__vdso_read_tp;
+extern void *__vdso_atomic_cmpxchg_32;
+extern void *__vdso_atomic_barrier;
+#  endif /* !IS_IN (rtld) */
+
+# endif /* !__ASSEMBLER__ */
+
+#endif /* SHARED */
+
+#endif /* _M68K_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mmap_internal.h
new file mode 100644
index 0000000000..bd8bd3843b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mmap_internal.h
@@ -0,0 +1,29 @@
+/* Common mmap definition for Linux implementation.  Linux/m68k version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef MMAP_M68K_INTERNAL_LINUX_H
+#define MMAP_M68K_INTERNAL_LINUX_H
+
+/* ColdFire and Sun 3 kernels have PAGE_SHIFT set to 13 and expect
+   mmap2 offset to be provided in 8K pages.  Determine the shift
+   dynamically with getpagesize.  */
+#define MMAP2_PAGE_SHIFT -1
+
+#include_next <mmap_internal.h>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mremap.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mremap.S
new file mode 100644
index 0000000000..01be848f45
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/mremap.S
@@ -0,0 +1,28 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* The mremap system call is special because it needs to return
+   its value in register %a0.  */
+
+	.text
+PSEUDO (__mremap, mremap, 5)
+	move.l %d0, %a0
+	rts
+PSEUDO_END (__mremap)
+weak_alias (__mremap, mremap)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/pt-vfork.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/pt-vfork.c
new file mode 100644
index 0000000000..5fbc6526aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/pt-vfork.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/aarch64/pt-vfork.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/putmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/putmsg.c
new file mode 100644
index 0000000000..ebc1680ca7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/putmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64.c
new file mode 100644
index 0000000000..2ea26dd409
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64_r.c
new file mode 100644
index 0000000000..9f54f897e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/readdir64_r.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/register-dump.h
new file mode 100644
index 0000000000..d1818c35d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/register-dump.h
@@ -0,0 +1,207 @@
+/* Dump registers.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@gnu.org>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+  D0: XXXXXXXX   D1: XXXXXXXX   D2: XXXXXXXX   D3: XXXXXXXX
+  D4: XXXXXXXX   D5: XXXXXXXX   D6: XXXXXXXX   D7: XXXXXXXX
+  A0: XXXXXXXX   A1: XXXXXXXX   A2: XXXXXXXX   A3: XXXXXXXX
+  A4: XXXXXXXX   A5: XXXXXXXX   A6: XXXXXXXX   A7: XXXXXXXX
+  PC: XXXXXXXX   SR: XXXX
+
+  OldMask: XXXXXXXX  Vector: XXXX
+
+  FP0: XXXXXXXXXXXXXXXXXXXXXXXX   FP1: XXXXXXXXXXXXXXXXXXXXXXXX
+  FP2: XXXXXXXXXXXXXXXXXXXXXXXX   FP3: XXXXXXXXXXXXXXXXXXXXXXXX
+  FP4: XXXXXXXXXXXXXXXXXXXXXXXX   FP5: XXXXXXXXXXXXXXXXXXXXXXXX
+  FP6: XXXXXXXXXXXXXXXXXXXXXXXX   FP7: XXXXXXXXXXXXXXXXXXXXXXXX
+  FPCR: XXXXXXXX   FPSR: XXXXXXXX   FPIAR: XXXXXXXX
+
+*/
+
+/* Linux saves only the call-clobbered registers in the sigcontext.  We
+   need to use a trampoline that saves the rest so that the C code can
+   access them.  We use the sc_fpstate field, since the handler is not
+   supposed to return anyway, thus it doesn't matter that it's clobbered.  */
+
+/* static */ void catch_segfault (int, int, struct sigcontext *);
+
+/* Dummy function so that we can use asm with arguments.  */
+static void __attribute_used__
+__dummy__ (void)
+{
+  asm ("\n\
+catch_segfault:\n\
+	move.l 12(%%sp),%%a0\n\
+	lea %c0(%%a0),%%a0\n\
+	/* Clear the first 4 bytes to make it a null fp state, just\n\
+	   in case the handler does return.  */\n\
+	clr.l (%%a0)+\n\
+	movem.l %%d2-%%d7/%%a2-%%a6,(%%a0)\n"
+#ifndef __mcoldfire__
+       "fmovem.x %%fp2-%%fp7,11*4(%%a0)\n"
+#elif defined __mcffpu__
+       "fmovem.d %%fp2-%%fp7,11*4(%%a0)\n"
+#endif
+       "jra real_catch_segfault"
+       : : "n" (offsetof (struct sigcontext, sc_fpstate)));
+}
+#define catch_segfault(a,b) \
+  __attribute_used__ real_catch_segfault(a,b)
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[20][8];
+  char fpregs[11][24];
+  struct iovec iov[63], *next_iov = iov;
+  unsigned long *p = (unsigned long *) ctx->sc_fpstate + 1;
+  unsigned long *pfp = (unsigned long *) ctx->sc_fpregs;
+  int i, j, fpreg_size;
+
+#define ADD_STRING(str) \
+  next_iov->iov_base = (char *) (str); \
+  next_iov->iov_len = strlen (str); \
+  ++next_iov
+#define ADD_MEM(str, len) \
+  next_iov->iov_base = (str); \
+  next_iov->iov_len = (len); \
+  ++next_iov
+
+#ifdef __mcoldfire__
+  fpreg_size = 16;
+#else
+  fpreg_size = 24;
+#endif
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sc_d0, regs[0], 8);
+  hexvalue (ctx->sc_d1, regs[1], 8);
+  hexvalue (*p++, regs[2], 8);
+  hexvalue (*p++, regs[3], 8);
+  hexvalue (*p++, regs[4], 8);
+  hexvalue (*p++, regs[5], 8);
+  hexvalue (*p++, regs[6], 8);
+  hexvalue (*p++, regs[7], 8);
+  hexvalue (ctx->sc_a0, regs[8], 8);
+  hexvalue (ctx->sc_a1, regs[9], 8);
+  hexvalue (*p++, regs[10], 8);
+  hexvalue (*p++, regs[11], 8);
+  hexvalue (*p++, regs[12], 8);
+  hexvalue (*p++, regs[13], 8);
+  hexvalue (*p++, regs[14], 8);
+  hexvalue (ctx->sc_usp, regs[15], 8);
+  hexvalue (ctx->sc_pc, regs[16], 8);
+  hexvalue (ctx->sc_sr, regs[17], 4);
+  hexvalue (ctx->sc_mask, regs[18], 8);
+  hexvalue (ctx->sc_formatvec & 0xfff, regs[19], 4);
+  for (i = 0; i < 2; i++)
+    for (j = 0; j < fpreg_size; j += 8)
+      hexvalue (*pfp++, fpregs[i] + j, 8);
+  for (i = 2; i < 8; i++)
+    for (j = 0; j < fpreg_size; j += 8)
+      hexvalue (*p++, fpregs[i] + j, 8);
+  hexvalue (ctx->sc_fpcntl[0], fpregs[8], 8);
+  hexvalue (ctx->sc_fpcntl[1], fpregs[9], 8);
+  hexvalue (ctx->sc_fpcntl[2], fpregs[10], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n  D0: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("  D1: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("  D2: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("  D3: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n  D4: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("  D5: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("  D6: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("  D7: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n  A0: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("  A1: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("  A2: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("  A3: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("\n  A4: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("  A5: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("  A6: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("  A7: ");
+  ADD_MEM (regs[15], 8);
+  ADD_STRING ("\n  PC: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING ("  SR: ");
+  ADD_MEM (regs[17], 4);
+
+  ADD_STRING ("\n\n  OldMask: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("  Vector: ");
+  ADD_MEM (regs[19], 4);
+
+  ADD_STRING ("\n\n  FP0: ");
+  ADD_MEM (fpregs[0], fpreg_size);
+  ADD_STRING ("  FP1: ");
+  ADD_MEM (fpregs[1], fpreg_size);
+  ADD_STRING ("\n  FP2: ");
+  ADD_MEM (fpregs[2], fpreg_size);
+  ADD_STRING ("  FP3: ");
+  ADD_MEM (fpregs[3], fpreg_size);
+  ADD_STRING ("\n  FP4: ");
+  ADD_MEM (fpregs[4], fpreg_size);
+  ADD_STRING ("  FP5: ");
+  ADD_MEM (fpregs[5], fpreg_size);
+  ADD_STRING ("\n  FP6: ");
+  ADD_MEM (fpregs[6], fpreg_size);
+  ADD_STRING ("  FP7: ");
+  ADD_MEM (fpregs[7], fpreg_size);
+  ADD_STRING ("\n  FPCR: ");
+  ADD_MEM (fpregs[8], 8);
+  ADD_STRING ("  FPSR: ");
+  ADD_MEM (fpregs[9], 8);
+  ADD_STRING ("  FPIAR: ");
+  ADD_MEM (fpregs[10], 8);
+  ADD_STRING ("\n");
+
+  /* Write the stuff out.  */
+  writev (fd, iov, next_iov - iov);
+}
+
+#define REGISTER_DUMP register_dump (fd, ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/scandir64.c
new file mode 100644
index 0000000000..506fd8877c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/scandir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
new file mode 100644
index 0000000000..3c43e55cae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SIGCONTEXT int _code, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)	((void *) (ctx)->sc_pc)
+#define GET_FRAME(ctx)	((void *) __builtin_frame_address (1))
+#define GET_STACK(ctx)	((void *) (ctx)->sc_usp)
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/procfs.h
new file mode 100644
index 0000000000..f2d63d52e1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/procfs.h
@@ -0,0 +1,125 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   user_regs_struct' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_m68kfp_struct elf_fpregset_t;
+
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/reg.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/reg.h
new file mode 100644
index 0000000000..133c862b49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/reg.h
@@ -0,0 +1,101 @@
+/* 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 _SYS_REG_H
+#define _SYS_REG_H	1
+
+/* Index into an array of 4 byte integers returned from ptrace for
+   location of the users' stored general purpose registers. */
+
+enum
+{
+  PT_D1 = 0,
+#define PT_D1 PT_D1
+  PT_D2 = 1,
+#define PT_D2 PT_D2
+  PT_D3 = 2,
+#define PT_D3 PT_D3
+  PT_D4 = 3,
+#define PT_D4 PT_D4
+  PT_D5 = 4,
+#define PT_D5 PT_D5
+  PT_D6 = 5,
+#define PT_D6 PT_D6
+  PT_D7 = 6,
+#define PT_D7 PT_D7
+  PT_A0 = 7,
+#define PT_A0 PT_A0
+  PT_A1 = 8,
+#define PT_A1 PT_A1
+  PT_A2 = 9,
+#define PT_A2 PT_A2
+  PT_A3 = 10,
+#define PT_A3 PT_A3
+  PT_A4 = 11,
+#define PT_A4 PT_A4
+  PT_A5 = 12,
+#define PT_A5 PT_A5
+  PT_A6 = 13,
+#define PT_A6 PT_A6
+  PT_D0 = 14,
+#define PT_D0 PT_D0
+  PT_USP = 15,
+#define PT_USP PT_USP
+  PT_ORIG_D0 = 16,
+#define PT_ORIG_D0 PT_ORIG_D0
+  PT_SR = 17,
+#define PT_SR PT_SR
+  PT_PC = 18,
+#define PT_PC PT_PC
+
+#ifdef __mcoldfire__
+  PT_FP0 = 21,
+  PT_FP1 = 23,
+  PT_FP2 = 25,
+  PT_FP3 = 27,
+  PT_FP4 = 29,
+  PT_FP5 = 31,
+  PT_FP6 = 33,
+  PT_FP7 = 35,
+#else
+  PT_FP0 = 21,
+  PT_FP1 = 24,
+  PT_FP2 = 27,
+  PT_FP3 = 30,
+  PT_FP4 = 33,
+  PT_FP5 = 36,
+  PT_FP6 = 39,
+  PT_FP7 = 42,
+#endif
+#define PT_FP0 PT_FP0
+#define PT_FP1 PT_FP1
+#define PT_FP2 PT_FP2
+#define PT_FP3 PT_FP3
+#define PT_FP4 PT_FP4
+#define PT_FP5 PT_FP5
+#define PT_FP6 PT_FP6
+#define PT_FP7 PT_FP7
+
+  PT_FPCR = 45,
+#define PT_FPCR PT_FPCR
+  PT_FPSR = 46,
+#define PT_FPSR PT_FPSR
+  PT_FPIAR = 47
+#define PT_FPIAR PT_FPIAR
+};
+
+#endif	/* _SYS_REG_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
new file mode 100644
index 0000000000..e6ecbe6ab5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
@@ -0,0 +1,131 @@
+/* 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/>.  */
+
+/* System V/m68k ABI compliant context switching support.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+/* Type for general register.  */
+typedef int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	18
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_MISC
+/* Number of each register is the `gregset_t' array.  */
+enum
+{
+  R_D0 = 0,
+# define R_D0	R_D0
+  R_D1 = 1,
+# define R_D1	R_D1
+  R_D2 = 2,
+# define R_D2	R_D2
+  R_D3 = 3,
+# define R_D3	R_D3
+  R_D4 = 4,
+# define R_D4	R_D4
+  R_D5 = 5,
+# define R_D5	R_D5
+  R_D6 = 6,
+# define R_D6	R_D6
+  R_D7 = 7,
+# define R_D7	R_D7
+  R_A0 = 8,
+# define R_A0	R_A0
+  R_A1 = 9,
+# define R_A1	R_A1
+  R_A2 = 10,
+# define R_A2	R_A2
+  R_A3 = 11,
+# define R_A3	R_A3
+  R_A4 = 12,
+# define R_A4	R_A4
+  R_A5 = 13,
+# define R_A5	R_A5
+  R_A6 = 14,
+# define R_A6	R_A6
+  R_A7 = 15,
+# define R_A7	R_A7
+  R_SP = 15,
+# define R_SP	R_SP
+  R_PC = 16,
+# define R_PC	R_PC
+  R_PS = 17
+# define R_PS	R_PS
+};
+#endif
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Structure to describe FPU registers.  */
+typedef struct fpregset
+{
+  int __ctx(f_pcr);
+  int __ctx(f_psr);
+  int __ctx(f_fpiaddr);
+#ifdef __mcoldfire__
+  int __ctx(f_fpregs)[8][2];
+#else
+  int __ctx(f_fpregs)[8][3];
+#endif
+} fpregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+{
+  int __ctx(version);
+  gregset_t __ctx(gregs);
+  fpregset_t __ctx(fpregs);
+} mcontext_t;
+
+#undef __ctx
+
+#ifdef __USE_MISC
+# define MCONTEXT_VERSION 2
+#endif
+
+/* Userlevel context.  */
+typedef struct ucontext
+{
+  unsigned long uc_flags;
+  struct ucontext *uc_link;
+  stack_t uc_stack;
+  mcontext_t uc_mcontext;
+  unsigned long uc_filler[80];
+  sigset_t uc_sigmask;
+} ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/user.h
new file mode 100644
index 0000000000..123e7e7ba6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sys/user.h
@@ -0,0 +1,65 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct user_m68kfp_struct {
+	unsigned long fpregs[8*3];
+	unsigned long fpcntl[3];
+};
+
+struct user_regs_struct {
+	long d1, d2, d3, d4, d5, d6, d7;
+	long a0, a1, a2, a3, a4, a5, a6;
+	long d0;
+	long usp;
+	long orig_d0;
+	short stkadj;
+	short sr;
+	long pc;
+	short fmtvec;
+	short __fill;
+};
+
+struct user {
+	struct user_regs_struct regs;
+	int u_fpvalid;
+	struct user_m68kfp_struct m68kfp;
+	unsigned long int u_tsize;
+	unsigned long int u_dsize;
+	unsigned long int u_ssize;
+	unsigned long start_code;
+	unsigned long start_stack;
+	long int signal;
+	int reserved;
+	unsigned long u_ar0;
+	struct user_m68kfp_struct *u_fpstate;
+	unsigned long magic;
+	char u_comm[32];
+};
+
+#define NBPG 4096
+#define UPAGES 1
+#define HOST_TEXT_START_ADDR u.start_code
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscall.S
new file mode 100644
index 0000000000..e4a8e9e293
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscall.S
@@ -0,0 +1,32 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Please consult the file sysdeps/unix/sysv/linux/m68k/sysdep.h for
+   more information about the value -4095 used below.*/
+
+	.text
+ENTRY (syscall)
+	move.l 4(%sp), %d0	/* Load syscall number.  */
+	_DOARGS_6 (28)		/* Frob arguments.  */
+	trap &0			/* Do the system call.  */
+	UNDOARGS_6		/* Unfrob arguments.  */
+	cmp.l &-4095, %d0	/* Check %d0 for error.  */
+	jcc SYSCALL_ERROR_LABEL	/* Jump to error handler if negative.  */
+	rts			/* Return to caller.  */
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscalls.list
new file mode 100644
index 0000000000..55a377b841
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/syscalls.list
@@ -0,0 +1,21 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown
+lchown		-	lchown32	i:sii	__lchown	lchown
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
+getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+cacheflush	EXTRA	cacheflush	i:iiii	__cacheflush	cacheflush
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h
new file mode 100644
index 0000000000..9bc9e1356e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h
@@ -0,0 +1,138 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    SINGLE_THREAD_P;							      \
+    jne .Lpseudo_cancel;						      \
+  .type __##syscall_name##_nocancel,@function;			              \
+  .globl __##syscall_name##_nocancel;				 	      \
+  __##syscall_name##_nocancel:					              \
+    DO_CALL (syscall_name, args);					      \
+    cmp.l &-4095, %d0;							      \
+    jcc SYSCALL_ERROR_LABEL;						      \
+    rts;								      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  .Lpseudo_cancel:							      \
+    CENABLE;								      \
+    DOCARGS_##args							      \
+    move.l %d0, -(%sp); /* Save result of CENABLE.  */  		      \
+    cfi_adjust_cfa_offset (4); \
+    move.l &SYS_ify (syscall_name), %d0;				      \
+    trap &0;								      \
+    move.l %d0, %d2;							      \
+    CDISABLE;								      \
+    addq.l &4, %sp; /* Remove result of CENABLE from the stack.  */           \
+    cfi_adjust_cfa_offset (-4); \
+    move.l %d2, %d0;							      \
+    UNDOCARGS_##args							      \
+    cmp.l &-4095, %d0;							      \
+    jcc SYSCALL_ERROR_LABEL
+
+/* Note: we use D2 to save syscall's return value as D0 will be clobbered in
+   CDISABLE.  */
+# define DOCARGS_0	move.l %d2, -(%sp);		\
+  cfi_adjust_cfa_offset (4); cfi_rel_offset (%d2, 0);
+# define UNDOCARGS_0	move.l (%sp)+, %d2;	\
+  cfi_adjust_cfa_offset (-4); cfi_restore (%d2);
+
+# define DOCARGS_1	_DOCARGS_1 (4); DOCARGS_0
+# define _DOCARGS_1(n)	move.l n(%sp), %d1;
+# define UNDOCARGS_1	UNDOCARGS_0
+
+# define DOCARGS_2	_DOCARGS_2 (8)
+# define _DOCARGS_2(n)	DOCARGS_0 move.l n+4(%sp), %d2; _DOCARGS_1 (n)
+# define UNDOCARGS_2	UNDOCARGS_0
+
+# define DOCARGS_3	_DOCARGS_3 (12)
+# define _DOCARGS_3(n)	move.l %d3, -(%sp);				\
+  cfi_adjust_cfa_offset (4); cfi_rel_offset (%d3, 0);			\
+  move.l n+4(%sp), %d3; _DOCARGS_2 (n)
+# define UNDOCARGS_3	UNDOCARGS_2 move.l (%sp)+, %d3;		\
+  cfi_adjust_cfa_offset (-4); cfi_restore (%d3);
+
+# define DOCARGS_4	_DOCARGS_4 (16)
+# define _DOCARGS_4(n)	move.l %d4, -(%sp);			\
+  cfi_adjust_cfa_offset (4); cfi_rel_offset (%d4, 0);		\
+  move.l n+4(%sp), %d4; _DOCARGS_3 (n)
+# define UNDOCARGS_4	UNDOCARGS_3 move.l (%sp)+, %d4;	\
+  cfi_adjust_cfa_offset (-4); cfi_restore (%d4);
+
+# define DOCARGS_5	_DOCARGS_5 (20)
+# define _DOCARGS_5(n)	move.l %d5, -(%sp);			\
+  cfi_adjust_cfa_offset (4); cfi_rel_offset (%d5, 0);		\
+  move.l n+4(%sp), %d5; _DOCARGS_4 (n)
+# define UNDOCARGS_5	UNDOCARGS_4 move.l (%sp)+, %d5; \
+  cfi_adjust_cfa_offset (-4); cfi_restore (%d5);
+
+# define DOCARGS_6	_DOCARGS_6 (24)
+# define _DOCARGS_6(n)	move.l n(%sp), %a0; _DOCARGS_5 (n-4)
+# define UNDOCARGS_6	UNDOCARGS_5
+
+# ifdef PIC
+#  define PSEUDO_JMP(sym) jbsr sym ## @PLTPC
+# else
+#  define PSEUDO_JMP(sym) jbsr sym
+# endif
+
+# if IS_IN (libpthread)
+#  define CENABLE	PSEUDO_JMP (__pthread_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__pthread_disable_asynccancel)
+# elif IS_IN (libc)
+#  define CENABLE	PSEUDO_JMP (__libc_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__libc_disable_asynccancel)
+# elif IS_IN (librt)
+#  define CENABLE	PSEUDO_JMP (__librt_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__librt_disable_asynccancel)
+# else
+#  error Unsupported library
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P			\
+  PSEUDO_JMP (__m68k_read_tp);		        \
+  tst.l MULTIPLE_THREADS_OFFSET(%a0)
+# 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/m68k/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.S
new file mode 100644
index 0000000000..5ade56efc2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.S
@@ -0,0 +1,50 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+
+/* The following code is only used in the shared library when we
+   compile the reentrant version.  Otherwise each system call defines
+   each own version.  */
+
+#ifndef	PIC
+
+/* The syscall stubs jump here when they detect an error.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %d0.  */
+
+	.text
+ENTRY (__syscall_error)
+	neg.l %d0
+#ifndef _LIBC_REENTRANT
+	move.l %d0, errno
+#else
+	move.l %d0, -(%sp)
+	cfi_adjust_cfa_offset (4)
+	jbsr __errno_location
+	move.l (%sp)+, (%a0)
+	cfi_adjust_cfa_offset (-4)
+#endif
+	move.l #-1, %d0
+	/* Copy return value to %a0 for syscalls that are declared to
+	   return a pointer.  */
+	move.l %d0, %a0
+	rts
+END (__syscall_error)
+#endif /* PIC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.h
new file mode 100644
index 0000000000..dfa6f85d20
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -0,0 +1,326 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Written by Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>,
+   December 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <tls.h>
+
+/* Defines RTLD_PRIVATE_ERRNO.  */
+#include <dl-sysdep.h>
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors, unlike
+   most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be negative
+   even if the call succeeded.  E.g., the `lseek' system call might return
+   a large offset.  Therefore we must not anymore test for < 0, but test
+   for a real error by making sure the value in %d0 is a real error
+   number.  Linus said he will make sure the no syscall returns a value
+   in -1 .. -4095 as a valid result so we can savely test with -4095.  */
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+#ifdef PIC
+#define SYSCALL_ERROR_LABEL .Lsyscall_error
+#else
+#define SYSCALL_ERROR_LABEL __syscall_error
+#endif
+
+#undef PSEUDO
+#define	PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    cmp.l &-4095, %d0;							      \
+    jcc SYSCALL_ERROR_LABEL
+
+#undef PSEUDO_END
+#define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER;						      \
+  END (name)
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args)
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
+#define ret_NOERRNO rts
+
+/* The function has to return the error code.  */
+#undef	PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    negl %d0
+
+#undef	PSEUDO_END_ERRVAL
+#define	PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+#define ret_ERRVAL rts
+
+#ifdef PIC
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_HANDLER						      \
+SYSCALL_ERROR_LABEL:							      \
+    PCREL_OP (lea, rtld_errno, %a0, %a0);				      \
+    neg.l %d0;								      \
+    move.l %d0, (%a0);							      \
+    move.l &-1, %d0;							      \
+    /* Copy return value to %a0 for syscalls that are declared to return      \
+       a pointer (e.g., mmap).  */					      \
+    move.l %d0, %a0;							      \
+    rts;
+# 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						      \
+SYSCALL_ERROR_LABEL:							      \
+    neg.l %d0;								      \
+    move.l %d0, -(%sp);							      \
+    cfi_adjust_cfa_offset (4);						      \
+    jbsr __m68k_read_tp@PLTPC;						      \
+    SYSCALL_ERROR_LOAD_GOT (%a1);					      \
+    add.l (SYSCALL_ERROR_ERRNO@TLSIE, %a1), %a0;			      \
+    move.l (%sp)+, (%a0);						      \
+    cfi_adjust_cfa_offset (-4);						      \
+    move.l &-1, %d0;							      \
+    /* Copy return value to %a0 for syscalls that are declared to return      \
+       a pointer (e.g., mmap).  */					      \
+    move.l %d0, %a0;							      \
+    rts;
+# else /* !_LIBC_REENTRANT */
+/* Store (- %d0) into errno through the GOT.  */
+#  define SYSCALL_ERROR_HANDLER						      \
+SYSCALL_ERROR_LABEL:							      \
+    move.l (errno@GOTPC, %pc), %a0;					      \
+    neg.l %d0;								      \
+    move.l %d0, (%a0);							      \
+    move.l &-1, %d0;							      \
+    /* Copy return value to %a0 for syscalls that are declared to return      \
+       a pointer (e.g., mmap).  */					      \
+    move.l %d0, %a0;							      \
+    rts;
+# endif /* _LIBC_REENTRANT */
+#else
+# define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
+#endif /* PIC */
+
+/* Linux takes system call arguments in registers:
+
+	syscall number	%d0	     call-clobbered
+	arg 1		%d1	     call-clobbered
+	arg 2		%d2	     call-saved
+	arg 3		%d3	     call-saved
+	arg 4		%d4	     call-saved
+	arg 5		%d5	     call-saved
+	arg 6		%a0	     call-clobbered
+
+   The stack layout upon entering the function is:
+
+	24(%sp)		Arg# 6
+	20(%sp)		Arg# 5
+	16(%sp)		Arg# 4
+	12(%sp)		Arg# 3
+	 8(%sp)		Arg# 2
+	 4(%sp)		Arg# 1
+	  (%sp)		Return address
+
+   (Of course a function with say 3 arguments does not have entries for
+   arguments 4 and 5.)
+
+   Separate move's are faster than movem, but need more space.  Since
+   speed is more important, we don't use movem.  Since %a0 and %a1 are
+   scratch registers, we can use them for saving as well.  */
+
+#define DO_CALL(syscall_name, args)			      		      \
+    move.l &SYS_ify(syscall_name), %d0;					      \
+    DOARGS_##args							      \
+    trap &0;								      \
+    UNDOARGS_##args
+
+#define	DOARGS_0	/* No arguments to frob.  */
+#define	UNDOARGS_0	/* No arguments to unfrob.  */
+#define	_DOARGS_0(n)	/* No arguments to frob.  */
+
+#define	DOARGS_1	_DOARGS_1 (4)
+#define	_DOARGS_1(n)	move.l n(%sp), %d1; _DOARGS_0 (n)
+#define	UNDOARGS_1	UNDOARGS_0
+
+#define	DOARGS_2	_DOARGS_2 (8)
+#define	_DOARGS_2(n)	move.l %d2, %a0; cfi_register (%d2, %a0);	      \
+			move.l n(%sp), %d2; _DOARGS_1 (n-4)
+#define	UNDOARGS_2	UNDOARGS_1; move.l %a0, %d2; cfi_restore (%d2)
+
+#define DOARGS_3	_DOARGS_3 (12)
+#define _DOARGS_3(n)	move.l %d3, %a1; cfi_register (%d3, %a1);	      \
+			move.l n(%sp), %d3; _DOARGS_2 (n-4)
+#define UNDOARGS_3	UNDOARGS_2; move.l %a1, %d3; cfi_restore (%d3)
+
+#define DOARGS_4	_DOARGS_4 (16)
+#define _DOARGS_4(n)	move.l %d4, -(%sp);				      \
+			cfi_adjust_cfa_offset (4); cfi_rel_offset (%d4, 0);   \
+			move.l n+4(%sp), %d4; _DOARGS_3 (n)
+#define UNDOARGS_4	UNDOARGS_3; move.l (%sp)+, %d4;			      \
+			cfi_adjust_cfa_offset (-4); cfi_restore (%d4)
+
+#define DOARGS_5	_DOARGS_5 (20)
+#define _DOARGS_5(n)	move.l %d5, -(%sp); 				      \
+			cfi_adjust_cfa_offset (4); cfi_rel_offset (%d5, 0);   \
+			move.l n+4(%sp), %d5; _DOARGS_4 (n)
+#define UNDOARGS_5	UNDOARGS_4; move.l (%sp)+, %d5;			      \
+			cfi_adjust_cfa_offset (-4); cfi_restore (%d5)
+
+#define DOARGS_6	_DOARGS_6 (24)
+#define _DOARGS_6(n)	_DOARGS_5 (n-4); move.l %a0, -(%sp);		      \
+			cfi_adjust_cfa_offset (4);			      \
+			move.l n+12(%sp), %a0;
+#define UNDOARGS_6	move.l (%sp)+, %a0; cfi_adjust_cfa_offset (-4);	      \
+			UNDOARGS_5
+
+
+#define	ret	rts
+#if 0 /* Not used by Linux */
+#define	r0	%d0
+#define	r1	%d1
+#define	MOVE(x,y)	movel x , y
+#endif
+
+#else /* not __ASSEMBLER__ */
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+  ({ unsigned int _sys_result = INTERNAL_SYSCALL (name, , nr, args);	\
+     if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, ));		\
+	 _sys_result = (unsigned int) -1;				\
+       }								\
+     (int) _sys_result; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  This use is for internal calls that do not need to handle errors
+   normally.  It will never touch errno.  This returns just what the kernel
+   gave back.  */
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...)	\
+  ({ unsigned int _sys_result;				\
+     {							\
+       /* Load argument values in temporary variables
+	  to perform side effects like function calls
+	  before the call used registers are set.  */	\
+       LOAD_ARGS_##nr (args)				\
+       LOAD_REGS_##nr					\
+       register int _d0 asm ("%d0") = name;		\
+       asm volatile ("trap #0"				\
+		     : "=d" (_d0)			\
+		     : "0" (_d0) ASM_ARGS_##nr		\
+		     : "memory");			\
+       _sys_result = _d0;				\
+     }							\
+     (int) _sys_result; })
+#define INTERNAL_SYSCALL(name, err, nr, args...)	\
+  INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)		\
+  ((unsigned int) (val) >= -4095U)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+#define LOAD_ARGS_0()
+#define LOAD_REGS_0
+#define ASM_ARGS_0
+#define LOAD_ARGS_1(a1)				\
+  LOAD_ARGS_0 ()				\
+  int __arg1 = (int) (a1);
+#define LOAD_REGS_1				\
+  register int _d1 asm ("d1") = __arg1;		\
+  LOAD_REGS_0
+#define ASM_ARGS_1	ASM_ARGS_0, "d" (_d1)
+#define LOAD_ARGS_2(a1, a2)			\
+  LOAD_ARGS_1 (a1)				\
+  int __arg2 = (int) (a2);
+#define LOAD_REGS_2				\
+  register int _d2 asm ("d2") = __arg2;		\
+  LOAD_REGS_1
+#define ASM_ARGS_2	ASM_ARGS_1, "d" (_d2)
+#define LOAD_ARGS_3(a1, a2, a3)			\
+  LOAD_ARGS_2 (a1, a2)				\
+  int __arg3 = (int) (a3);
+#define LOAD_REGS_3				\
+  register int _d3 asm ("d3") = __arg3;		\
+  LOAD_REGS_2
+#define ASM_ARGS_3	ASM_ARGS_2, "d" (_d3)
+#define LOAD_ARGS_4(a1, a2, a3, a4)		\
+  LOAD_ARGS_3 (a1, a2, a3)			\
+  int __arg4 = (int) (a4);
+#define LOAD_REGS_4				\
+  register int _d4 asm ("d4") = __arg4;		\
+  LOAD_REGS_3
+#define ASM_ARGS_4	ASM_ARGS_3, "d" (_d4)
+#define LOAD_ARGS_5(a1, a2, a3, a4, a5)		\
+  LOAD_ARGS_4 (a1, a2, a3, a4)			\
+  int __arg5 = (int) (a5);
+#define LOAD_REGS_5				\
+  register int _d5 asm ("d5") = __arg5;		\
+  LOAD_REGS_4
+#define ASM_ARGS_5	ASM_ARGS_4, "d" (_d5)
+#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)	\
+  LOAD_ARGS_5 (a1, a2, a3, a4, a5)		\
+  int __arg6 = (int) (a6);
+#define LOAD_REGS_6				\
+  register int _a0 asm ("a0") = __arg6;		\
+  LOAD_REGS_5
+#define ASM_ARGS_6	ASM_ARGS_5, "a" (_a0)
+
+#endif /* not __ASSEMBLER__ */
+
+/* Pointer mangling is not yet supported for M68K.  */
+#define PTR_MANGLE(var) (void) (var)
+#define PTR_DEMANGLE(var) (void) (var)
+
+#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO
+/* M68K needs system-supplied DSO to access TLS helpers
+   even when statically linked.  */
+# define NEED_STATIC_SYSINFO_DSO 1
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/versionsort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/versionsort64.c
new file mode 100644
index 0000000000..144b691e56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/versionsort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/versionsort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/vfork.S
new file mode 100644
index 0000000000..2dee7166f7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/vfork.S
@@ -0,0 +1,60 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@gnu.org>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	/* Pop the return PC value into A0.  */
+	movel	%sp@+, %a0
+	cfi_adjust_cfa_offset (-4)
+	cfi_register (%pc, %a0)
+
+	/* Stuff the syscall number in D0 and trap into the kernel.  */
+	movel	#SYS_ify (vfork), %d0
+	trap	#0
+
+	tstl	%d0
+	jmi	.Lerror		/* Branch forward if it failed.  */
+
+	/* Jump to the return PC.  */
+	jmp	%a0@
+
+.Lerror:
+	/* Push back the return PC.  */
+	movel	%a0,%sp@-
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (%pc, 0)
+
+#ifndef PIC
+	jbra	SYSCALL_ERROR_LABEL
+#endif
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/m68k/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/m68k/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/malloc-sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/malloc-sysdep.h
new file mode 100644
index 0000000000..48cf7c157c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/malloc-sysdep.h
@@ -0,0 +1,59 @@
+/* System-specific malloc support functions.  Linux version.
+   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 <fcntl.h>
+#include <not-cancel.h>
+
+/* The Linux kernel overcommits address space by default and if there is not
+   enough memory available, it uses various parameters to decide the process to
+   kill.  It is however possible to disable or curb this overcommit behavior
+   by setting the proc sysctl vm.overcommit_memory to the value '2' and with
+   that, a process is only allowed to use the maximum of a pre-determined
+   fraction of the total address space.  In such a case, we want to make sure
+   that we are judicious with our heap usage as well, and explicitly give away
+   the freed top of the heap to reduce our commit charge.  See the proc(5) man
+   page to know more about overcommit behavior.
+
+   Other than that, we also force an unmap in a secure exec.  */
+static inline bool
+check_may_shrink_heap (void)
+{
+  static int may_shrink_heap = -1;
+
+  if (__builtin_expect (may_shrink_heap >= 0, 1))
+    return may_shrink_heap;
+
+  may_shrink_heap = __libc_enable_secure;
+
+  if (__builtin_expect (may_shrink_heap == 0, 1))
+    {
+      int fd = open_not_cancel_2 ("/proc/sys/vm/overcommit_memory",
+				  O_RDONLY | O_CLOEXEC);
+      if (fd >= 0)
+	{
+	  char val;
+	  ssize_t n = read_not_cancel (fd, &val, 1);
+	  may_shrink_heap = n > 0 && val == '2';
+	  close_not_cancel_no_status (fd);
+	}
+    }
+
+  return may_shrink_heap;
+}
+
+#define HAVE_MREMAP 1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Implies
new file mode 100644
index 0000000000..469a141418
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Implies
@@ -0,0 +1 @@
+microblaze/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Makefile
new file mode 100644
index 0000000000..d178bc6f34
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Makefile
@@ -0,0 +1,9 @@
+ifeq ($(subdir),resource)
+sysdep_routines += backtrace_linux
+endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Versions
new file mode 100644
index 0000000000..aa48a3c155
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/Versions
@@ -0,0 +1,5 @@
+libc {
+  GLIBC_2.18 {
+    fallocate64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/____longjmp_chk.S
new file mode 100644
index 0000000000..7191ab3faa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/____longjmp_chk.S
@@ -0,0 +1,29 @@
+/* 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
+ENTRY (__revisit_longjmp_chk)
+	rtsd	r15,0
+	nop
+PSEUDO_END (__revisit_longjmp_chk)
+ENTRY (____longjmp_chk)
+	rtsd	r15,0
+	nop
+PSEUDO_END (____longjmp_chk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/arch-fork.h
new file mode 100644
index 0000000000..8d72485556
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/arch-fork.h
@@ -0,0 +1,27 @@
+/* ARCH_FORK definition for Linux fork implementation.  MicroBlaze version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK()                                                           \
+  INLINE_SYSCALL (clone, 5,                                                   \
+                  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
+                  NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/fcntl.h
new file mode 100644
index 0000000000..50982def27
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/fcntl.h
@@ -0,0 +1,86 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define O_CREAT	 00000100	/* not fcntl.  */
+#define O_TRUNC	 00001000	/* not fcntl.  */
+#define O_EXCL		 00000200	/* not fcntl.  */
+#define O_NOCTTY	 00000400	/* not fcntl.  */
+
+#define O_NONBLOCK	 00004000
+#define O_APPEND	 00002000
+#define O_SYNC		 04000000
+
+#define __O_DIRECTORY	 00200000	/* Must be a directory.  */
+#define __O_NOFOLLOW	 00400000	/* Do not follow links.  */
+#define __O_CLOEXEC	 02000000 	/* Set close_on_exec.  */
+
+#define __O_DIRECT	 00040000 	/* Direct disk access.  */
+#define __O_NOATIME	 01000000 	/* Do not set atime.  */
+#define __O_PATH	 010000000 	/* Resolve pathname but do not open file.  */
+
+/* Not necessary, files are always with 64bit off_t.  */
+#define __O_LARGEFILE	00100000
+
+#define __O_DSYNC	00010000	/* Synchronize data.  */
+
+#define F_GETLK	5	/* Get record locking info.  */
+#define F_SETLK	6	/* Set record locking info (non-blocking).  */
+#define F_SETLKW	7	/* Set record locking info (blocking).  */
+#define F_GETLK64	12	/* Get record locking info.  */
+#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
+#define F_SETLKW64	14 	/* Set record locking info (blocking).  */
+
+#define __F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
+#define __F_GETOWN	9	/* Set owner of socket (receiver of SIGIO).  */
+
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
+#define F_RDLCK	0	/* Read lock.  */
+#define F_WRLCK	1	/* Write lock.  */
+#define F_UNLCK	2	/* Remove lock.  */
+
+/* for old implementation of bsd flock ().  */
+#define F_EXLCK	4	/* or 3.  */
+#define F_SHLCK	8	/* or 4.  */
+
+/* We don't need to support __USE_FILE_OFFSET64.  */
+struct flock
+  {
+    short int l_type;		/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off_t l_start;		/* Offset where the lock begins.  */
+    __off_t l_len;		/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;		/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;		/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;		/* Offset where the lock begins.  */
+    __off64_t l_len;		/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;		/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/mman.h
new file mode 100644
index 0000000000..c82e7977cc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/mman.h
@@ -0,0 +1,42 @@
+/* Definitions for POSIX memory map interface.  Linux/MicroBlaze version.
+
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+#ifdef __USE_MISC
+/* These are Linux-specific.  */
+# define MAP_GROWSDOWN      0x00100     /* Stack-like segment.  */
+# define MAP_DENYWRITE      0x00800     /* ETXTBSY.  */
+# define MAP_EXECUTABLE     0x01000     /* Mark it as an executable.  */
+# define MAP_LOCKED         0x02000     /* Lock the mapping.  */
+# define MAP_NORESERVE      0x04000     /* Don't check for reservations.  */
+# define MAP_POPULATE       0x08000     /* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK       0x10000     /* Do not block on IO.  */
+# define MAP_STACK          0x20000     /* Allocation is for a stack.  */
+# define MAP_HUGETLB        0x40000     /* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/stat.h
new file mode 100644
index 0000000000..47fc8cacbd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/bits/stat.h
@@ -0,0 +1,203 @@
+/* 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/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD    1
+#define _STAT_VER_KERNEL       1
+#define _STAT_VER_SVR4         2
+#define _STAT_VER_LINUX        3
+#define _STAT_VER              _STAT_VER_LINUX  /* The one defined below.  */
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX       1
+#define _MKNOD_VER_SVR4        2
+#define _MKNOD_VER             _MKNOD_VER_LINUX  /* The bits defined below.  */
+
+#ifndef __USE_FILE_OFFSET64
+struct stat
+{
+        __dev_t         st_dev;     /* Device.  */
+        __ino_t         st_ino;     /* File serial number.  */
+        __mode_t        st_mode;    /* File mode.  */
+        __nlink_t       st_nlink;   /* Link count.  */
+        __uid_t         st_uid;     /* User ID of the file's owner.  */
+        __gid_t         st_gid;     /* Group ID of the file's group.  */
+        __dev_t         st_rdev;    /* Device number, if device.  */
+        unsigned long   __pad2;
+        __off_t         st_size;    /* Size of file, in bytes.  */
+        __blksize_t     st_blksize; /* Optimal block size for I/O.  */
+        int             __pad3;
+        __blkcnt_t      st_blocks;  /* Number 512-byte blocks allocated.  */
+#ifdef __USE_XOPEN2K8
+        /* Nanosecond resolution timestamps are stored in a format
+         * equivalent to 'struct timespec'. This is the type used
+         * whenever possible but the Unix namespace rules do not allow the
+         * identifier 'timespec' to appear in the <sys/stat.h> header.
+         * Therefore we have to handle the use of this header in strictly
+         * standard-compliant sources special.  */
+        struct timespec         st_atim; /* Time of last access.  */
+        struct timespec         st_mtim; /* Time of last modification.  */
+        struct timespec         st_ctim; /* Time of last status change.  */
+# define st_atime st_atim.tv_sec         /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+        __time_t                st_atime;     /* Time of last access.  */
+        unsigned long int       st_atimensec; /* Nscecs of last access.  */
+        __time_t                st_mtime;     /* Time of last modification.  */
+        unsigned long int       st_mtimensec; /* Nsecs of last modification.  */
+        __time_t                st_ctime;     /* Time of last status change.  */
+        unsigned long int       st_ctimensec; /* Nsecs of last status change.  */
+#endif
+        unsigned int            __glibc_reserved4;
+        unsigned int            __glibc_reserved5;
+};
+#else /* __USE_FILE_OFFSET64 */
+/* MS: If __USE_FILE_OFFSET64 is setup then struct stat should match stat64
+ * structure. Glibc has no type __dev64_t that's why I had to use standard
+ * type for st_dev and st_rdev. Several architectures uses pads after st_dev
+ * but this approach covers BIG and LITTLE endian. I think it is better to
+ * create one ifdef to separate stats structures.  */
+struct stat
+{
+        unsigned long long      st_dev;     /* Device.  */
+        __ino64_t               st_ino;     /* 32bit file serial number.  */
+        __mode_t                st_mode;    /* File mode.  */
+        __nlink_t               st_nlink;   /* Link count.  */
+        __uid_t                 st_uid;     /* User ID of the file's owner.  */
+        __gid_t                 st_gid;     /* Group ID of the file's group.  */
+        unsigned long long      st_rdev;    /* Device number, if device.  */
+        unsigned long long      __pad2;
+        __off64_t               st_size;    /* Size of file, in bytes.  */
+        __blksize_t             st_blksize; /* Optimal block size for I/O.  */
+        int                     __pad3;
+        __blkcnt64_t            st_blocks;  /* Number 512-byte blocks allocated.  */
+#ifdef __USE_MISC
+        /* Nanosecond resolution timestamps are stored in a format
+         * equivalent to 'struct timespec'. This is the type used
+         * whenever possible but the Unix namespace rules do not allow the
+         * identifier 'timespec' to appear in the <sys/stat.h> header.
+         * Therefore we have to handle the use of this header in strictly
+         * standard-compliant sources special.  */
+        struct timespec         st_atim;      /* Time of last access.  */
+        struct timespec         st_mtim;      /* Time of last modification.  */
+        struct timespec         st_ctim;      /* Time of last status change.  */
+# define st_atime st_atim.tv_sec              /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+        __time_t                st_atime;     /* Time of last access.  */
+        unsigned long int       st_atimensec; /* Nscecs of last access.  */
+        __time_t                st_mtime;     /* Time of last modification.  */
+        unsigned long int       st_mtimensec; /* Nsecs of last modification.  */
+        __time_t                st_ctime;     /* Time of last status change.  */
+        unsigned long int       st_ctimensec; /* Nsecs of last status change.  */
+#endif
+        unsigned int            __glibc_reserved4;
+        unsigned int            __glibc_reserved5;
+};
+#endif /* __USE_FILE_OFFSET64 */
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+{
+        unsigned long long      st_dev;     /* Device.  */
+        __ino64_t               st_ino;     /* 32bit file serial number.  */
+        __mode_t                st_mode;    /* File mode.  */
+        __nlink_t               st_nlink;   /* Link count.  */
+        __uid_t                 st_uid;     /* User ID of the file's owner.  */
+        __gid_t                 st_gid;     /* Group ID of the file's group.  */
+        unsigned long long      st_rdev;    /* Device number, if device.  */
+        unsigned long long      __pad2;
+        __off64_t               st_size;    /* Size of file, in bytes.  */
+        __blksize_t             st_blksize; /* Optimal block size for I/O.  */
+        int                     __pad3;
+        __blkcnt64_t            st_blocks;  /* Number 512-byte blocks allocated.  */
+#ifdef __USE_XOPEN2K8
+        /* Nanosecond resolution timestamps are stored in a format
+         * equivalent to 'struct timespec'. This is the type used
+         * whenever possible but the Unix namespace rules do not allow the
+         * identifier 'timespec' to appear in the <sys/stat.h> header.
+         * Therefore we have to handle the use of this header in strictly
+         * standard-compliant sources special.  */
+        struct timespec         st_atim;    /* Time of last access.  */
+        struct timespec         st_mtim;    /* Time of last modification.  */
+        struct timespec         st_ctim;    /* Time of last status change.  */
+# define st_atime st_atim.tv_sec            /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+        __time_t                st_atime;     /* Time of last access.  */
+        unsigned long int       st_atimensec; /* Nscecs of last access.  */
+        __time_t                st_mtime;     /* Time of last modification.  */
+        unsigned long int       st_mtimensec; /* Nsecs of last modification.  */
+        __time_t                st_ctime;     /* Time of last status change.  */
+        unsigned long int       st_ctimensec; /* Nsecs of last status change.  */
+#endif
+        unsigned int            __glibc_reserved4;
+        unsigned int            __glibc_reserved5;
+};
+#endif
+
+/* Tell code we have these members.  */
+#define _STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define __S_IFMT        0170000 /* These bits determine file type.  */
+
+/* File types.  */
+#define __S_IFDIR       0040000 /* Directory.  */
+#define __S_IFCHR       0020000 /* Character device.  */
+#define __S_IFBLK       0060000 /* Block device.  */
+#define __S_IFREG       0100000 /* Regular file.  */
+#define __S_IFIFO       0010000 /* FIFO.  */
+#define __S_IFLNK       0120000 /* Symbolic link.  */
+#define __S_IFSOCK      0140000 /* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define __S_ISUID       04000   /* Set user ID on execution.  */
+#define __S_ISGID       02000   /* Set group ID on execution.  */
+#define __S_ISVTX       01000   /* Save swapped text after use (sticky).  */
+#define __S_IREAD       0400    /* Read by owner.  */
+#define __S_IWRITE      0200    /* Write by owner.  */
+#define __S_IEXEC       0100    /* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/brk.c
new file mode 100644
index 0000000000..2f71fbc7e8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/brk.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux ELF dynamic
+   linker.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  INTERNAL_SYSCALL_DECL (err);
+
+  __curbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
+  if (__curbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clock-compat.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clock-compat.c
new file mode 100644
index 0000000000..e5959d5c74
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clock-compat.c
@@ -0,0 +1,31 @@
+/* ABI compatibility redirects for clock_* symbols in librt.
+   MicroBlaze version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+/* These symbols were accidentally included in librt for MicroBlaze
+   despite the first release coming after the general obsoletion in
+   librt, so ensure they remain as part of the ABI.  */
+
+#ifdef SHARED
+# undef SHLIB_COMPAT
+# define SHLIB_COMPAT(lib, introduced, obsoleted) 1
+#endif
+
+#include <rt/clock-compat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clone.S
new file mode 100644
index 0000000000..55d78dfee4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/clone.S
@@ -0,0 +1,73 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+/* int clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+              pid_t *ptid, struct user_desc *tls, pid_t *ctid);
+
+   INCOMING: r5 (fn), r6 (child_stack), r7 (flags), r8 (arg), r9 (ptid)
+             r10 (tls), 28 (r1) ctid
+
+   OUTGOING:
+
+   linux: arch/microblaze/entry.S: sys_clone expects
+          r5 (flags)  r6 (child stack) r7 (stack_size) r8 (ptid)r9 (ctid)
+          r10 (tls)
+*/
+
+        .text
+ENTRY (__clone)
+	addik	r3,r0,-EINVAL
+	beqi	r5,SYSCALL_ERROR_LABEL	; // Invalid func
+	beqi	r6,SYSCALL_ERROR_LABEL	; // Invalid stack
+	addik	r6,r6,-8
+	swi	r5,r6,0			; // Push fn onto child's stack
+	swi	r8,r6,4			; // Push arg for child
+	addk	r5,r0,r7		; // flags for clone() syscall
+	addk	r7,r0,r0
+	addk	r8,r0,r9		; // parent tid ptr
+	lwi	r9,r1,28		; // child tid ptr
+	addik	r12,r0,SYS_ify(clone)
+	brki	r14,8
+	addk	r0,r0,r0
+	addik	r4,r0,-4095
+	cmpu	r4,r4,r3
+	bgei	r4,SYSCALL_ERROR_LABEL
+	beqi	r3,L(thread_start)
+	rtsd	r15,8
+	nop
+
+L(thread_start):
+	lwi	r12,r1,0		; // fn
+	lwi	r5,r1,4			; // arg
+	brald	r15,r12
+	nop
+	addk	r5,r0,r3
+	addik	r12,r0,SYS_ify(exit)
+	brki	r14,8
+	nop
+PSEUDO_END(__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone,clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/getsysstats.c
new file mode 100644
index 0000000000..31f8b09e46
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/getsysstats.c
@@ -0,0 +1,34 @@
+/* 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/>.  */
+
+/* We need to define a special parser for /proc/cpuinfo.  */
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)              \
+  do                                                                           \
+    {                                                                          \
+      (RESULT) = 0;                                                            \
+      /* Read all lines and count the lines starting with the string           \
+         "CPU-Family:".  We don't have to fear extremely long lines since      \
+         the kernel will not generate them.  8192 bytes are really enough.  */ \
+      char *l;                                                                 \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)       \
+      if (strncmp (l, "CPU-Family:", 11) == 0)                                 \
+        ++(RESULT);                                                            \
+    }                                                                          \
+  while (0)
+
+#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
new file mode 100644
index 0000000000..0257524777
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* MicroBlaze uses socketcall.  */
+#define __ASSUME_SOCKETCALL	1
+
+/* All supported kernel versions for MicroBlaze have these syscalls.  */
+#define __ASSUME_SOCKET_SYSCALL		1
+#define __ASSUME_BIND_SYSCALL		1
+#define __ASSUME_CONNECT_SYSCALL	1
+#define __ASSUME_LISTEN_SYSCALL		1
+#define __ASSUME_GETSOCKNAME_SYSCALL	1
+#define __ASSUME_GETPEERNAME_SYSCALL	1
+#define __ASSUME_SOCKETPAIR_SYSCALL	1
+#define __ASSUME_SEND_SYSCALL		1
+#define __ASSUME_RECV_SYSCALL		1
+#define __ASSUME_SHUTDOWN_SYSCALL	1
+#define __ASSUME_GETSOCKOPT_SYSCALL	1
+#define __ASSUME_SETSOCKOPT_SYSCALL	1
+
+#include_next <kernel-features.h>
+
+/* Support for the pselect6, preadv and pwritev syscalls was added in
+   3.15.  */
+#if __LINUX_KERNEL_VERSION < 0x030f00
+# undef __ASSUME_PSELECT
+# undef __ASSUME_PREADV
+# undef __ASSUME_PWRITEV
+#endif
+
+/* Support for the sendmmsg syscall was added in 3.3.  */
+#if __LINUX_KERNEL_VERSION < 0x030300
+# undef __ASSUME_SENDMMSG_SYSCALL
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h
new file mode 100644
index 0000000000..d885d151ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h
@@ -0,0 +1,52 @@
+/* Definition of `struct stat' used in the kernel
+   Copyright (C) 2013-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/>.  */
+
+struct kernel_stat
+{
+        unsigned long   st_dev;         /* Device.  */
+        unsigned long   st_ino;         /* File serial number.  */
+        unsigned int    st_mode;        /* File mode.  */
+        unsigned int    st_nlink;       /* Link count.  */
+        unsigned int    st_uid;         /* User ID of the file's owner.  */
+        unsigned int    st_gid;         /* Group ID of the file's group.  */
+        unsigned long   st_rdev;        /* Device number, if device.  */
+        unsigned long   __pad2;
+#define _HAVE_STAT___PAD2
+#define _HAVE_STAT64___PAD2
+        long            st_size;        /* Size of file, in bytes.  */
+        int             st_blksize;     /* Optimal block size for I/O.  */
+        int             __pad3;
+#define _HAVE_STAT___PAD3
+#define _HAVE_STAT64___PAD3
+        long            st_blocks;      /* Number 512-byte blocks allocated.  */
+        struct timespec st_atim;
+        struct timespec st_mtim;
+        struct timespec st_ctim;
+#define _HAVE_STAT_NSEC
+#define _HAVE_STAT64_NSEC
+        unsigned int    __glibc_reserved4;
+#define _HAVE_STAT___UNUSED4
+#define _HAVE_STAT64___UNUSED4
+        unsigned int    __glibc_reserved5;
+#define _HAVE_STAT___UNUSED5
+#define _HAVE_STAT64___UNUSED5
+};
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/ld.abilist
new file mode 100644
index 0000000000..265085edc8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __libc_stack_end D 0x4
+GLIBC_2.18 __stack_chk_guard D 0x4
+GLIBC_2.18 __tls_get_addr F
+GLIBC_2.18 _dl_mcount F
+GLIBC_2.18 _r_debug D 0x14
+GLIBC_2.18 calloc F
+GLIBC_2.18 free F
+GLIBC_2.18 malloc F
+GLIBC_2.18 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist
new file mode 100644
index 0000000000..76d989d468
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libanl.abilist
new file mode 100644
index 0000000000..cb616b1c3e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 gai_cancel F
+GLIBC_2.18 gai_error F
+GLIBC_2.18 gai_suspend F
+GLIBC_2.18 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libc.abilist
new file mode 100644
index 0000000000..16aa25485f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libc.abilist
@@ -0,0 +1,2105 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 _Exit F
+GLIBC_2.18 _IO_2_1_stderr_ D 0x98
+GLIBC_2.18 _IO_2_1_stdin_ D 0x98
+GLIBC_2.18 _IO_2_1_stdout_ D 0x98
+GLIBC_2.18 _IO_adjust_column F
+GLIBC_2.18 _IO_adjust_wcolumn F
+GLIBC_2.18 _IO_default_doallocate F
+GLIBC_2.18 _IO_default_finish F
+GLIBC_2.18 _IO_default_pbackfail F
+GLIBC_2.18 _IO_default_uflow F
+GLIBC_2.18 _IO_default_xsgetn F
+GLIBC_2.18 _IO_default_xsputn F
+GLIBC_2.18 _IO_do_write F
+GLIBC_2.18 _IO_doallocbuf F
+GLIBC_2.18 _IO_fclose F
+GLIBC_2.18 _IO_fdopen F
+GLIBC_2.18 _IO_feof F
+GLIBC_2.18 _IO_ferror F
+GLIBC_2.18 _IO_fflush F
+GLIBC_2.18 _IO_fgetpos F
+GLIBC_2.18 _IO_fgetpos64 F
+GLIBC_2.18 _IO_fgets F
+GLIBC_2.18 _IO_file_attach F
+GLIBC_2.18 _IO_file_close F
+GLIBC_2.18 _IO_file_close_it F
+GLIBC_2.18 _IO_file_doallocate F
+GLIBC_2.18 _IO_file_finish F
+GLIBC_2.18 _IO_file_fopen F
+GLIBC_2.18 _IO_file_init F
+GLIBC_2.18 _IO_file_jumps D 0x54
+GLIBC_2.18 _IO_file_open F
+GLIBC_2.18 _IO_file_overflow F
+GLIBC_2.18 _IO_file_read F
+GLIBC_2.18 _IO_file_seek F
+GLIBC_2.18 _IO_file_seekoff F
+GLIBC_2.18 _IO_file_setbuf F
+GLIBC_2.18 _IO_file_stat F
+GLIBC_2.18 _IO_file_sync F
+GLIBC_2.18 _IO_file_underflow F
+GLIBC_2.18 _IO_file_write F
+GLIBC_2.18 _IO_file_xsputn F
+GLIBC_2.18 _IO_flockfile F
+GLIBC_2.18 _IO_flush_all F
+GLIBC_2.18 _IO_flush_all_linebuffered F
+GLIBC_2.18 _IO_fopen F
+GLIBC_2.18 _IO_fprintf F
+GLIBC_2.18 _IO_fputs F
+GLIBC_2.18 _IO_fread F
+GLIBC_2.18 _IO_free_backup_area F
+GLIBC_2.18 _IO_free_wbackup_area F
+GLIBC_2.18 _IO_fsetpos F
+GLIBC_2.18 _IO_fsetpos64 F
+GLIBC_2.18 _IO_ftell F
+GLIBC_2.18 _IO_ftrylockfile F
+GLIBC_2.18 _IO_funlockfile F
+GLIBC_2.18 _IO_fwrite F
+GLIBC_2.18 _IO_getc F
+GLIBC_2.18 _IO_getline F
+GLIBC_2.18 _IO_getline_info F
+GLIBC_2.18 _IO_gets F
+GLIBC_2.18 _IO_init F
+GLIBC_2.18 _IO_init_marker F
+GLIBC_2.18 _IO_init_wmarker F
+GLIBC_2.18 _IO_iter_begin F
+GLIBC_2.18 _IO_iter_end F
+GLIBC_2.18 _IO_iter_file F
+GLIBC_2.18 _IO_iter_next F
+GLIBC_2.18 _IO_least_wmarker F
+GLIBC_2.18 _IO_link_in F
+GLIBC_2.18 _IO_list_all D 0x4
+GLIBC_2.18 _IO_list_lock F
+GLIBC_2.18 _IO_list_resetlock F
+GLIBC_2.18 _IO_list_unlock F
+GLIBC_2.18 _IO_marker_delta F
+GLIBC_2.18 _IO_marker_difference F
+GLIBC_2.18 _IO_padn F
+GLIBC_2.18 _IO_peekc_locked F
+GLIBC_2.18 _IO_popen F
+GLIBC_2.18 _IO_printf F
+GLIBC_2.18 _IO_proc_close F
+GLIBC_2.18 _IO_proc_open F
+GLIBC_2.18 _IO_putc F
+GLIBC_2.18 _IO_puts F
+GLIBC_2.18 _IO_remove_marker F
+GLIBC_2.18 _IO_seekmark F
+GLIBC_2.18 _IO_seekoff F
+GLIBC_2.18 _IO_seekpos F
+GLIBC_2.18 _IO_seekwmark F
+GLIBC_2.18 _IO_setb F
+GLIBC_2.18 _IO_setbuffer F
+GLIBC_2.18 _IO_setvbuf F
+GLIBC_2.18 _IO_sgetn F
+GLIBC_2.18 _IO_sprintf F
+GLIBC_2.18 _IO_sputbackc F
+GLIBC_2.18 _IO_sputbackwc F
+GLIBC_2.18 _IO_sscanf F
+GLIBC_2.18 _IO_str_init_readonly F
+GLIBC_2.18 _IO_str_init_static F
+GLIBC_2.18 _IO_str_overflow F
+GLIBC_2.18 _IO_str_pbackfail F
+GLIBC_2.18 _IO_str_seekoff F
+GLIBC_2.18 _IO_str_underflow F
+GLIBC_2.18 _IO_sungetc F
+GLIBC_2.18 _IO_sungetwc F
+GLIBC_2.18 _IO_switch_to_get_mode F
+GLIBC_2.18 _IO_switch_to_main_wget_area F
+GLIBC_2.18 _IO_switch_to_wbackup_area F
+GLIBC_2.18 _IO_switch_to_wget_mode F
+GLIBC_2.18 _IO_un_link F
+GLIBC_2.18 _IO_ungetc F
+GLIBC_2.18 _IO_unsave_markers F
+GLIBC_2.18 _IO_unsave_wmarkers F
+GLIBC_2.18 _IO_vfprintf F
+GLIBC_2.18 _IO_vfscanf F
+GLIBC_2.18 _IO_vsprintf F
+GLIBC_2.18 _IO_wdefault_doallocate F
+GLIBC_2.18 _IO_wdefault_finish F
+GLIBC_2.18 _IO_wdefault_pbackfail F
+GLIBC_2.18 _IO_wdefault_uflow F
+GLIBC_2.18 _IO_wdefault_xsgetn F
+GLIBC_2.18 _IO_wdefault_xsputn F
+GLIBC_2.18 _IO_wdo_write F
+GLIBC_2.18 _IO_wdoallocbuf F
+GLIBC_2.18 _IO_wfile_jumps D 0x54
+GLIBC_2.18 _IO_wfile_overflow F
+GLIBC_2.18 _IO_wfile_seekoff F
+GLIBC_2.18 _IO_wfile_sync F
+GLIBC_2.18 _IO_wfile_underflow F
+GLIBC_2.18 _IO_wfile_xsputn F
+GLIBC_2.18 _IO_wmarker_delta F
+GLIBC_2.18 _IO_wsetb F
+GLIBC_2.18 ___brk_addr D 0x4
+GLIBC_2.18 __adjtimex F
+GLIBC_2.18 __after_morecore_hook D 0x4
+GLIBC_2.18 __argz_count F
+GLIBC_2.18 __argz_next F
+GLIBC_2.18 __argz_stringify F
+GLIBC_2.18 __asprintf F
+GLIBC_2.18 __asprintf_chk F
+GLIBC_2.18 __assert F
+GLIBC_2.18 __assert_fail F
+GLIBC_2.18 __assert_perror_fail F
+GLIBC_2.18 __backtrace F
+GLIBC_2.18 __backtrace_symbols F
+GLIBC_2.18 __backtrace_symbols_fd F
+GLIBC_2.18 __bsd_getpgrp F
+GLIBC_2.18 __bzero F
+GLIBC_2.18 __check_rhosts_file D 0x4
+GLIBC_2.18 __chk_fail F
+GLIBC_2.18 __clone F
+GLIBC_2.18 __close F
+GLIBC_2.18 __cmsg_nxthdr F
+GLIBC_2.18 __confstr_chk F
+GLIBC_2.18 __connect F
+GLIBC_2.18 __ctype_b_loc F
+GLIBC_2.18 __ctype_get_mb_cur_max F
+GLIBC_2.18 __ctype_tolower_loc F
+GLIBC_2.18 __ctype_toupper_loc F
+GLIBC_2.18 __curbrk D 0x4
+GLIBC_2.18 __cxa_at_quick_exit F
+GLIBC_2.18 __cxa_atexit F
+GLIBC_2.18 __cxa_finalize F
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.18 __cyg_profile_func_enter F
+GLIBC_2.18 __cyg_profile_func_exit F
+GLIBC_2.18 __daylight D 0x4
+GLIBC_2.18 __dcgettext F
+GLIBC_2.18 __default_morecore F
+GLIBC_2.18 __dgettext F
+GLIBC_2.18 __dprintf_chk F
+GLIBC_2.18 __dup2 F
+GLIBC_2.18 __duplocale F
+GLIBC_2.18 __endmntent F
+GLIBC_2.18 __environ D 0x4
+GLIBC_2.18 __errno_location F
+GLIBC_2.18 __fbufsize F
+GLIBC_2.18 __fcntl F
+GLIBC_2.18 __fdelt_chk F
+GLIBC_2.18 __fdelt_warn F
+GLIBC_2.18 __ffs F
+GLIBC_2.18 __fgets_chk F
+GLIBC_2.18 __fgets_unlocked_chk F
+GLIBC_2.18 __fgetws_chk F
+GLIBC_2.18 __fgetws_unlocked_chk F
+GLIBC_2.18 __finite F
+GLIBC_2.18 __finitef F
+GLIBC_2.18 __finitel F
+GLIBC_2.18 __flbf F
+GLIBC_2.18 __fork F
+GLIBC_2.18 __fpending F
+GLIBC_2.18 __fprintf_chk F
+GLIBC_2.18 __fpu_control D 0x4
+GLIBC_2.18 __fpurge F
+GLIBC_2.18 __fread_chk F
+GLIBC_2.18 __fread_unlocked_chk F
+GLIBC_2.18 __freadable F
+GLIBC_2.18 __freading F
+GLIBC_2.18 __free_hook D 0x4
+GLIBC_2.18 __freelocale F
+GLIBC_2.18 __fsetlocking F
+GLIBC_2.18 __fwprintf_chk F
+GLIBC_2.18 __fwritable F
+GLIBC_2.18 __fwriting F
+GLIBC_2.18 __fxstat F
+GLIBC_2.18 __fxstat64 F
+GLIBC_2.18 __fxstatat F
+GLIBC_2.18 __fxstatat64 F
+GLIBC_2.18 __getauxval F
+GLIBC_2.18 __getcwd_chk F
+GLIBC_2.18 __getdelim F
+GLIBC_2.18 __getdomainname_chk F
+GLIBC_2.18 __getgroups_chk F
+GLIBC_2.18 __gethostname_chk F
+GLIBC_2.18 __getlogin_r_chk F
+GLIBC_2.18 __getmntent_r F
+GLIBC_2.18 __getpagesize F
+GLIBC_2.18 __getpgid F
+GLIBC_2.18 __getpid F
+GLIBC_2.18 __gets_chk F
+GLIBC_2.18 __gettimeofday F
+GLIBC_2.18 __getwd_chk F
+GLIBC_2.18 __gmtime_r F
+GLIBC_2.18 __h_errno_location F
+GLIBC_2.18 __isalnum_l F
+GLIBC_2.18 __isalpha_l F
+GLIBC_2.18 __isascii_l F
+GLIBC_2.18 __isblank_l F
+GLIBC_2.18 __iscntrl_l F
+GLIBC_2.18 __isctype F
+GLIBC_2.18 __isdigit_l F
+GLIBC_2.18 __isgraph_l F
+GLIBC_2.18 __isinf F
+GLIBC_2.18 __isinff F
+GLIBC_2.18 __isinfl F
+GLIBC_2.18 __islower_l F
+GLIBC_2.18 __isnan F
+GLIBC_2.18 __isnanf F
+GLIBC_2.18 __isnanl F
+GLIBC_2.18 __isoc99_fscanf F
+GLIBC_2.18 __isoc99_fwscanf F
+GLIBC_2.18 __isoc99_scanf F
+GLIBC_2.18 __isoc99_sscanf F
+GLIBC_2.18 __isoc99_swscanf F
+GLIBC_2.18 __isoc99_vfscanf F
+GLIBC_2.18 __isoc99_vfwscanf F
+GLIBC_2.18 __isoc99_vscanf F
+GLIBC_2.18 __isoc99_vsscanf F
+GLIBC_2.18 __isoc99_vswscanf F
+GLIBC_2.18 __isoc99_vwscanf F
+GLIBC_2.18 __isoc99_wscanf F
+GLIBC_2.18 __isprint_l F
+GLIBC_2.18 __ispunct_l F
+GLIBC_2.18 __isspace_l F
+GLIBC_2.18 __isupper_l F
+GLIBC_2.18 __iswalnum_l F
+GLIBC_2.18 __iswalpha_l F
+GLIBC_2.18 __iswblank_l F
+GLIBC_2.18 __iswcntrl_l F
+GLIBC_2.18 __iswctype F
+GLIBC_2.18 __iswctype_l F
+GLIBC_2.18 __iswdigit_l F
+GLIBC_2.18 __iswgraph_l F
+GLIBC_2.18 __iswlower_l F
+GLIBC_2.18 __iswprint_l F
+GLIBC_2.18 __iswpunct_l F
+GLIBC_2.18 __iswspace_l F
+GLIBC_2.18 __iswupper_l F
+GLIBC_2.18 __iswxdigit_l F
+GLIBC_2.18 __isxdigit_l F
+GLIBC_2.18 __ivaliduser F
+GLIBC_2.18 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.18 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.18 __key_gendes_LOCAL D 0x4
+GLIBC_2.18 __libc_allocate_rtsig F
+GLIBC_2.18 __libc_calloc F
+GLIBC_2.18 __libc_current_sigrtmax F
+GLIBC_2.18 __libc_current_sigrtmin F
+GLIBC_2.18 __libc_free F
+GLIBC_2.18 __libc_freeres F
+GLIBC_2.18 __libc_init_first F
+GLIBC_2.18 __libc_mallinfo F
+GLIBC_2.18 __libc_malloc F
+GLIBC_2.18 __libc_mallopt F
+GLIBC_2.18 __libc_memalign F
+GLIBC_2.18 __libc_pvalloc F
+GLIBC_2.18 __libc_realloc F
+GLIBC_2.18 __libc_sa_len F
+GLIBC_2.18 __libc_start_main F
+GLIBC_2.18 __libc_valloc F
+GLIBC_2.18 __longjmp_chk F
+GLIBC_2.18 __lseek F
+GLIBC_2.18 __lxstat F
+GLIBC_2.18 __lxstat64 F
+GLIBC_2.18 __malloc_hook D 0x4
+GLIBC_2.18 __malloc_initialize_hook D 0x4
+GLIBC_2.18 __mbrlen F
+GLIBC_2.18 __mbrtowc F
+GLIBC_2.18 __mbsnrtowcs_chk F
+GLIBC_2.18 __mbsrtowcs_chk F
+GLIBC_2.18 __mbstowcs_chk F
+GLIBC_2.18 __memalign_hook D 0x4
+GLIBC_2.18 __memcpy_chk F
+GLIBC_2.18 __memmove_chk F
+GLIBC_2.18 __mempcpy F
+GLIBC_2.18 __mempcpy_chk F
+GLIBC_2.18 __mempcpy_small F
+GLIBC_2.18 __memset_chk F
+GLIBC_2.18 __monstartup F
+GLIBC_2.18 __morecore D 0x4
+GLIBC_2.18 __nanosleep F
+GLIBC_2.18 __newlocale F
+GLIBC_2.18 __nl_langinfo_l F
+GLIBC_2.18 __nss_configure_lookup F
+GLIBC_2.18 __nss_database_lookup F
+GLIBC_2.18 __nss_group_lookup F
+GLIBC_2.18 __nss_hostname_digits_dots F
+GLIBC_2.18 __nss_hosts_lookup F
+GLIBC_2.18 __nss_next F
+GLIBC_2.18 __nss_passwd_lookup F
+GLIBC_2.18 __obstack_printf_chk F
+GLIBC_2.18 __obstack_vprintf_chk F
+GLIBC_2.18 __open F
+GLIBC_2.18 __open64 F
+GLIBC_2.18 __open64_2 F
+GLIBC_2.18 __open_2 F
+GLIBC_2.18 __openat64_2 F
+GLIBC_2.18 __openat_2 F
+GLIBC_2.18 __overflow F
+GLIBC_2.18 __pipe F
+GLIBC_2.18 __poll F
+GLIBC_2.18 __poll_chk F
+GLIBC_2.18 __posix_getopt F
+GLIBC_2.18 __ppoll_chk F
+GLIBC_2.18 __pread64 F
+GLIBC_2.18 __pread64_chk F
+GLIBC_2.18 __pread_chk F
+GLIBC_2.18 __printf_chk F
+GLIBC_2.18 __printf_fp F
+GLIBC_2.18 __profile_frequency F
+GLIBC_2.18 __progname D 0x4
+GLIBC_2.18 __progname_full D 0x4
+GLIBC_2.18 __ptsname_r_chk F
+GLIBC_2.18 __pwrite64 F
+GLIBC_2.18 __rawmemchr F
+GLIBC_2.18 __rcmd_errstr D 0x4
+GLIBC_2.18 __read F
+GLIBC_2.18 __read_chk F
+GLIBC_2.18 __readlink_chk F
+GLIBC_2.18 __readlinkat_chk F
+GLIBC_2.18 __realloc_hook D 0x4
+GLIBC_2.18 __realpath_chk F
+GLIBC_2.18 __recv_chk F
+GLIBC_2.18 __recvfrom_chk F
+GLIBC_2.18 __register_atfork F
+GLIBC_2.18 __res_init F
+GLIBC_2.18 __res_nclose F
+GLIBC_2.18 __res_ninit F
+GLIBC_2.18 __res_randomid F
+GLIBC_2.18 __res_state F
+GLIBC_2.18 __rpc_thread_createerr F
+GLIBC_2.18 __rpc_thread_svc_fdset F
+GLIBC_2.18 __rpc_thread_svc_max_pollfd F
+GLIBC_2.18 __rpc_thread_svc_pollfd F
+GLIBC_2.18 __sbrk F
+GLIBC_2.18 __sched_cpualloc F
+GLIBC_2.18 __sched_cpucount F
+GLIBC_2.18 __sched_cpufree F
+GLIBC_2.18 __sched_get_priority_max F
+GLIBC_2.18 __sched_get_priority_min F
+GLIBC_2.18 __sched_getparam F
+GLIBC_2.18 __sched_getscheduler F
+GLIBC_2.18 __sched_setscheduler F
+GLIBC_2.18 __sched_yield F
+GLIBC_2.18 __select F
+GLIBC_2.18 __send F
+GLIBC_2.18 __setmntent F
+GLIBC_2.18 __setpgid F
+GLIBC_2.18 __sigaction F
+GLIBC_2.18 __sigaddset F
+GLIBC_2.18 __sigdelset F
+GLIBC_2.18 __sigismember F
+GLIBC_2.18 __signbit F
+GLIBC_2.18 __signbitf F
+GLIBC_2.18 __sigpause F
+GLIBC_2.18 __sigsetjmp F
+GLIBC_2.18 __sigsuspend F
+GLIBC_2.18 __snprintf_chk F
+GLIBC_2.18 __sprintf_chk F
+GLIBC_2.18 __stack_chk_fail F
+GLIBC_2.18 __statfs F
+GLIBC_2.18 __stpcpy F
+GLIBC_2.18 __stpcpy_chk F
+GLIBC_2.18 __stpcpy_small F
+GLIBC_2.18 __stpncpy F
+GLIBC_2.18 __stpncpy_chk F
+GLIBC_2.18 __strcasecmp F
+GLIBC_2.18 __strcasecmp_l F
+GLIBC_2.18 __strcasestr F
+GLIBC_2.18 __strcat_chk F
+GLIBC_2.18 __strcoll_l F
+GLIBC_2.18 __strcpy_chk F
+GLIBC_2.18 __strcpy_small F
+GLIBC_2.18 __strcspn_c1 F
+GLIBC_2.18 __strcspn_c2 F
+GLIBC_2.18 __strcspn_c3 F
+GLIBC_2.18 __strdup F
+GLIBC_2.18 __strerror_r F
+GLIBC_2.18 __strfmon_l F
+GLIBC_2.18 __strftime_l F
+GLIBC_2.18 __strncasecmp_l F
+GLIBC_2.18 __strncat_chk F
+GLIBC_2.18 __strncpy_chk F
+GLIBC_2.18 __strndup F
+GLIBC_2.18 __strpbrk_c2 F
+GLIBC_2.18 __strpbrk_c3 F
+GLIBC_2.18 __strsep_1c F
+GLIBC_2.18 __strsep_2c F
+GLIBC_2.18 __strsep_3c F
+GLIBC_2.18 __strsep_g F
+GLIBC_2.18 __strspn_c1 F
+GLIBC_2.18 __strspn_c2 F
+GLIBC_2.18 __strspn_c3 F
+GLIBC_2.18 __strtod_internal F
+GLIBC_2.18 __strtod_l F
+GLIBC_2.18 __strtof_internal F
+GLIBC_2.18 __strtof_l F
+GLIBC_2.18 __strtok_r F
+GLIBC_2.18 __strtok_r_1c F
+GLIBC_2.18 __strtol_internal F
+GLIBC_2.18 __strtol_l F
+GLIBC_2.18 __strtold_internal F
+GLIBC_2.18 __strtold_l F
+GLIBC_2.18 __strtoll_internal F
+GLIBC_2.18 __strtoll_l F
+GLIBC_2.18 __strtoul_internal F
+GLIBC_2.18 __strtoul_l F
+GLIBC_2.18 __strtoull_internal F
+GLIBC_2.18 __strtoull_l F
+GLIBC_2.18 __strverscmp F
+GLIBC_2.18 __strxfrm_l F
+GLIBC_2.18 __swprintf_chk F
+GLIBC_2.18 __sysconf F
+GLIBC_2.18 __sysctl F
+GLIBC_2.18 __syslog_chk F
+GLIBC_2.18 __sysv_signal F
+GLIBC_2.18 __timezone D 0x4
+GLIBC_2.18 __toascii_l F
+GLIBC_2.18 __tolower_l F
+GLIBC_2.18 __toupper_l F
+GLIBC_2.18 __towctrans F
+GLIBC_2.18 __towctrans_l F
+GLIBC_2.18 __towlower_l F
+GLIBC_2.18 __towupper_l F
+GLIBC_2.18 __ttyname_r_chk F
+GLIBC_2.18 __tzname D 0x8
+GLIBC_2.18 __uflow F
+GLIBC_2.18 __underflow F
+GLIBC_2.18 __uselocale F
+GLIBC_2.18 __vasprintf_chk F
+GLIBC_2.18 __vdprintf_chk F
+GLIBC_2.18 __vfork F
+GLIBC_2.18 __vfprintf_chk F
+GLIBC_2.18 __vfscanf F
+GLIBC_2.18 __vfwprintf_chk F
+GLIBC_2.18 __vprintf_chk F
+GLIBC_2.18 __vsnprintf F
+GLIBC_2.18 __vsnprintf_chk F
+GLIBC_2.18 __vsprintf_chk F
+GLIBC_2.18 __vsscanf F
+GLIBC_2.18 __vswprintf_chk F
+GLIBC_2.18 __vsyslog_chk F
+GLIBC_2.18 __vwprintf_chk F
+GLIBC_2.18 __wait F
+GLIBC_2.18 __waitpid F
+GLIBC_2.18 __wcpcpy_chk F
+GLIBC_2.18 __wcpncpy_chk F
+GLIBC_2.18 __wcrtomb_chk F
+GLIBC_2.18 __wcscasecmp_l F
+GLIBC_2.18 __wcscat_chk F
+GLIBC_2.18 __wcscoll_l F
+GLIBC_2.18 __wcscpy_chk F
+GLIBC_2.18 __wcsftime_l F
+GLIBC_2.18 __wcsncasecmp_l F
+GLIBC_2.18 __wcsncat_chk F
+GLIBC_2.18 __wcsncpy_chk F
+GLIBC_2.18 __wcsnrtombs_chk F
+GLIBC_2.18 __wcsrtombs_chk F
+GLIBC_2.18 __wcstod_internal F
+GLIBC_2.18 __wcstod_l F
+GLIBC_2.18 __wcstof_internal F
+GLIBC_2.18 __wcstof_l F
+GLIBC_2.18 __wcstol_internal F
+GLIBC_2.18 __wcstol_l F
+GLIBC_2.18 __wcstold_internal F
+GLIBC_2.18 __wcstold_l F
+GLIBC_2.18 __wcstoll_internal F
+GLIBC_2.18 __wcstoll_l F
+GLIBC_2.18 __wcstombs_chk F
+GLIBC_2.18 __wcstoul_internal F
+GLIBC_2.18 __wcstoul_l F
+GLIBC_2.18 __wcstoull_internal F
+GLIBC_2.18 __wcstoull_l F
+GLIBC_2.18 __wcsxfrm_l F
+GLIBC_2.18 __wctomb_chk F
+GLIBC_2.18 __wctrans_l F
+GLIBC_2.18 __wctype_l F
+GLIBC_2.18 __wmemcpy_chk F
+GLIBC_2.18 __wmemmove_chk F
+GLIBC_2.18 __wmempcpy_chk F
+GLIBC_2.18 __wmemset_chk F
+GLIBC_2.18 __woverflow F
+GLIBC_2.18 __wprintf_chk F
+GLIBC_2.18 __write F
+GLIBC_2.18 __wuflow F
+GLIBC_2.18 __wunderflow F
+GLIBC_2.18 __xmknod F
+GLIBC_2.18 __xmknodat F
+GLIBC_2.18 __xpg_basename F
+GLIBC_2.18 __xpg_sigpause F
+GLIBC_2.18 __xpg_strerror_r F
+GLIBC_2.18 __xstat F
+GLIBC_2.18 __xstat64 F
+GLIBC_2.18 _authenticate F
+GLIBC_2.18 _dl_mcount_wrapper F
+GLIBC_2.18 _dl_mcount_wrapper_check F
+GLIBC_2.18 _environ D 0x4
+GLIBC_2.18 _exit F
+GLIBC_2.18 _flushlbf F
+GLIBC_2.18 _libc_intl_domainname D 0x5
+GLIBC_2.18 _longjmp F
+GLIBC_2.18 _mcleanup F
+GLIBC_2.18 _mcount F
+GLIBC_2.18 _nl_default_dirname D 0x12
+GLIBC_2.18 _nl_domain_bindings D 0x4
+GLIBC_2.18 _nl_msg_cat_cntr D 0x4
+GLIBC_2.18 _null_auth D 0xc
+GLIBC_2.18 _obstack_allocated_p F
+GLIBC_2.18 _obstack_begin F
+GLIBC_2.18 _obstack_begin_1 F
+GLIBC_2.18 _obstack_free F
+GLIBC_2.18 _obstack_memory_used F
+GLIBC_2.18 _obstack_newchunk F
+GLIBC_2.18 _res D 0x200
+GLIBC_2.18 _res_hconf D 0x30
+GLIBC_2.18 _rpc_dtablesize F
+GLIBC_2.18 _seterr_reply F
+GLIBC_2.18 _setjmp F
+GLIBC_2.18 _sys_errlist D 0x21c
+GLIBC_2.18 _sys_nerr D 0x4
+GLIBC_2.18 _sys_siglist D 0x104
+GLIBC_2.18 _tolower F
+GLIBC_2.18 _toupper F
+GLIBC_2.18 a64l F
+GLIBC_2.18 abort F
+GLIBC_2.18 abs F
+GLIBC_2.18 accept F
+GLIBC_2.18 accept4 F
+GLIBC_2.18 access F
+GLIBC_2.18 acct F
+GLIBC_2.18 addmntent F
+GLIBC_2.18 addseverity F
+GLIBC_2.18 adjtime F
+GLIBC_2.18 adjtimex F
+GLIBC_2.18 advance F
+GLIBC_2.18 alarm F
+GLIBC_2.18 aligned_alloc F
+GLIBC_2.18 alphasort F
+GLIBC_2.18 alphasort64 F
+GLIBC_2.18 argp_err_exit_status D 0x4
+GLIBC_2.18 argp_error F
+GLIBC_2.18 argp_failure F
+GLIBC_2.18 argp_help F
+GLIBC_2.18 argp_parse F
+GLIBC_2.18 argp_program_bug_address D 0x4
+GLIBC_2.18 argp_program_version D 0x4
+GLIBC_2.18 argp_program_version_hook D 0x4
+GLIBC_2.18 argp_state_help F
+GLIBC_2.18 argp_usage F
+GLIBC_2.18 argz_add F
+GLIBC_2.18 argz_add_sep F
+GLIBC_2.18 argz_append F
+GLIBC_2.18 argz_count F
+GLIBC_2.18 argz_create F
+GLIBC_2.18 argz_create_sep F
+GLIBC_2.18 argz_delete F
+GLIBC_2.18 argz_extract F
+GLIBC_2.18 argz_insert F
+GLIBC_2.18 argz_next F
+GLIBC_2.18 argz_replace F
+GLIBC_2.18 argz_stringify F
+GLIBC_2.18 asctime F
+GLIBC_2.18 asctime_r F
+GLIBC_2.18 asprintf F
+GLIBC_2.18 atof F
+GLIBC_2.18 atoi F
+GLIBC_2.18 atol F
+GLIBC_2.18 atoll F
+GLIBC_2.18 authdes_create F
+GLIBC_2.18 authdes_getucred F
+GLIBC_2.18 authdes_pk_create F
+GLIBC_2.18 authnone_create F
+GLIBC_2.18 authunix_create F
+GLIBC_2.18 authunix_create_default F
+GLIBC_2.18 backtrace F
+GLIBC_2.18 backtrace_symbols F
+GLIBC_2.18 backtrace_symbols_fd F
+GLIBC_2.18 basename F
+GLIBC_2.18 bcmp F
+GLIBC_2.18 bcopy F
+GLIBC_2.18 bdflush F
+GLIBC_2.18 bind F
+GLIBC_2.18 bind_textdomain_codeset F
+GLIBC_2.18 bindresvport F
+GLIBC_2.18 bindtextdomain F
+GLIBC_2.18 brk F
+GLIBC_2.18 bsd_signal F
+GLIBC_2.18 bsearch F
+GLIBC_2.18 btowc F
+GLIBC_2.18 bzero F
+GLIBC_2.18 c16rtomb F
+GLIBC_2.18 c32rtomb F
+GLIBC_2.18 calloc F
+GLIBC_2.18 callrpc F
+GLIBC_2.18 canonicalize_file_name F
+GLIBC_2.18 capget F
+GLIBC_2.18 capset F
+GLIBC_2.18 catclose F
+GLIBC_2.18 catgets F
+GLIBC_2.18 catopen F
+GLIBC_2.18 cbc_crypt F
+GLIBC_2.18 cfgetispeed F
+GLIBC_2.18 cfgetospeed F
+GLIBC_2.18 cfmakeraw F
+GLIBC_2.18 cfree F
+GLIBC_2.18 cfsetispeed F
+GLIBC_2.18 cfsetospeed F
+GLIBC_2.18 cfsetspeed F
+GLIBC_2.18 chdir F
+GLIBC_2.18 chflags F
+GLIBC_2.18 chmod F
+GLIBC_2.18 chown F
+GLIBC_2.18 chroot F
+GLIBC_2.18 clearenv F
+GLIBC_2.18 clearerr F
+GLIBC_2.18 clearerr_unlocked F
+GLIBC_2.18 clnt_broadcast F
+GLIBC_2.18 clnt_create F
+GLIBC_2.18 clnt_pcreateerror F
+GLIBC_2.18 clnt_perrno F
+GLIBC_2.18 clnt_perror F
+GLIBC_2.18 clnt_spcreateerror F
+GLIBC_2.18 clnt_sperrno F
+GLIBC_2.18 clnt_sperror F
+GLIBC_2.18 clntraw_create F
+GLIBC_2.18 clnttcp_create F
+GLIBC_2.18 clntudp_bufcreate F
+GLIBC_2.18 clntudp_create F
+GLIBC_2.18 clntunix_create F
+GLIBC_2.18 clock F
+GLIBC_2.18 clock_adjtime F
+GLIBC_2.18 clock_getcpuclockid F
+GLIBC_2.18 clock_getres F
+GLIBC_2.18 clock_gettime F
+GLIBC_2.18 clock_nanosleep F
+GLIBC_2.18 clock_settime F
+GLIBC_2.18 clone F
+GLIBC_2.18 close F
+GLIBC_2.18 closedir F
+GLIBC_2.18 closelog F
+GLIBC_2.18 confstr F
+GLIBC_2.18 connect F
+GLIBC_2.18 copysign F
+GLIBC_2.18 copysignf F
+GLIBC_2.18 copysignl F
+GLIBC_2.18 creat F
+GLIBC_2.18 creat64 F
+GLIBC_2.18 create_module F
+GLIBC_2.18 ctermid F
+GLIBC_2.18 ctime F
+GLIBC_2.18 ctime_r F
+GLIBC_2.18 cuserid F
+GLIBC_2.18 daemon F
+GLIBC_2.18 daylight D 0x4
+GLIBC_2.18 dcgettext F
+GLIBC_2.18 dcngettext F
+GLIBC_2.18 delete_module F
+GLIBC_2.18 des_setparity F
+GLIBC_2.18 dgettext F
+GLIBC_2.18 difftime F
+GLIBC_2.18 dirfd F
+GLIBC_2.18 dirname F
+GLIBC_2.18 div F
+GLIBC_2.18 dl_iterate_phdr F
+GLIBC_2.18 dngettext F
+GLIBC_2.18 dprintf F
+GLIBC_2.18 drand48 F
+GLIBC_2.18 drand48_r F
+GLIBC_2.18 dup F
+GLIBC_2.18 dup2 F
+GLIBC_2.18 dup3 F
+GLIBC_2.18 duplocale F
+GLIBC_2.18 dysize F
+GLIBC_2.18 eaccess F
+GLIBC_2.18 ecb_crypt F
+GLIBC_2.18 ecvt F
+GLIBC_2.18 ecvt_r F
+GLIBC_2.18 endaliasent F
+GLIBC_2.18 endfsent F
+GLIBC_2.18 endgrent F
+GLIBC_2.18 endhostent F
+GLIBC_2.18 endmntent F
+GLIBC_2.18 endnetent F
+GLIBC_2.18 endnetgrent F
+GLIBC_2.18 endprotoent F
+GLIBC_2.18 endpwent F
+GLIBC_2.18 endrpcent F
+GLIBC_2.18 endservent F
+GLIBC_2.18 endsgent F
+GLIBC_2.18 endspent F
+GLIBC_2.18 endttyent F
+GLIBC_2.18 endusershell F
+GLIBC_2.18 endutent F
+GLIBC_2.18 endutxent F
+GLIBC_2.18 environ D 0x4
+GLIBC_2.18 envz_add F
+GLIBC_2.18 envz_entry F
+GLIBC_2.18 envz_get F
+GLIBC_2.18 envz_merge F
+GLIBC_2.18 envz_remove F
+GLIBC_2.18 envz_strip F
+GLIBC_2.18 epoll_create F
+GLIBC_2.18 epoll_create1 F
+GLIBC_2.18 epoll_ctl F
+GLIBC_2.18 epoll_pwait F
+GLIBC_2.18 epoll_wait F
+GLIBC_2.18 erand48 F
+GLIBC_2.18 erand48_r F
+GLIBC_2.18 err F
+GLIBC_2.18 error F
+GLIBC_2.18 error_at_line F
+GLIBC_2.18 error_message_count D 0x4
+GLIBC_2.18 error_one_per_line D 0x4
+GLIBC_2.18 error_print_progname D 0x4
+GLIBC_2.18 errx F
+GLIBC_2.18 ether_aton F
+GLIBC_2.18 ether_aton_r F
+GLIBC_2.18 ether_hostton F
+GLIBC_2.18 ether_line F
+GLIBC_2.18 ether_ntoa F
+GLIBC_2.18 ether_ntoa_r F
+GLIBC_2.18 ether_ntohost F
+GLIBC_2.18 euidaccess F
+GLIBC_2.18 eventfd F
+GLIBC_2.18 eventfd_read F
+GLIBC_2.18 eventfd_write F
+GLIBC_2.18 execl F
+GLIBC_2.18 execle F
+GLIBC_2.18 execlp F
+GLIBC_2.18 execv F
+GLIBC_2.18 execve F
+GLIBC_2.18 execvp F
+GLIBC_2.18 execvpe F
+GLIBC_2.18 exit F
+GLIBC_2.18 faccessat F
+GLIBC_2.18 fallocate F
+GLIBC_2.18 fallocate64 F
+GLIBC_2.18 fanotify_init F
+GLIBC_2.18 fanotify_mark F
+GLIBC_2.18 fattach F
+GLIBC_2.18 fchdir F
+GLIBC_2.18 fchflags F
+GLIBC_2.18 fchmod F
+GLIBC_2.18 fchmodat F
+GLIBC_2.18 fchown F
+GLIBC_2.18 fchownat F
+GLIBC_2.18 fclose F
+GLIBC_2.18 fcloseall F
+GLIBC_2.18 fcntl F
+GLIBC_2.18 fcvt F
+GLIBC_2.18 fcvt_r F
+GLIBC_2.18 fdatasync F
+GLIBC_2.18 fdetach F
+GLIBC_2.18 fdopen F
+GLIBC_2.18 fdopendir F
+GLIBC_2.18 feof F
+GLIBC_2.18 feof_unlocked F
+GLIBC_2.18 ferror F
+GLIBC_2.18 ferror_unlocked F
+GLIBC_2.18 fexecve F
+GLIBC_2.18 fflush F
+GLIBC_2.18 fflush_unlocked F
+GLIBC_2.18 ffs F
+GLIBC_2.18 ffsl F
+GLIBC_2.18 ffsll F
+GLIBC_2.18 fgetc F
+GLIBC_2.18 fgetc_unlocked F
+GLIBC_2.18 fgetgrent F
+GLIBC_2.18 fgetgrent_r F
+GLIBC_2.18 fgetpos F
+GLIBC_2.18 fgetpos64 F
+GLIBC_2.18 fgetpwent F
+GLIBC_2.18 fgetpwent_r F
+GLIBC_2.18 fgets F
+GLIBC_2.18 fgets_unlocked F
+GLIBC_2.18 fgetsgent F
+GLIBC_2.18 fgetsgent_r F
+GLIBC_2.18 fgetspent F
+GLIBC_2.18 fgetspent_r F
+GLIBC_2.18 fgetwc F
+GLIBC_2.18 fgetwc_unlocked F
+GLIBC_2.18 fgetws F
+GLIBC_2.18 fgetws_unlocked F
+GLIBC_2.18 fgetxattr F
+GLIBC_2.18 fileno F
+GLIBC_2.18 fileno_unlocked F
+GLIBC_2.18 finite F
+GLIBC_2.18 finitef F
+GLIBC_2.18 finitel F
+GLIBC_2.18 flistxattr F
+GLIBC_2.18 flock F
+GLIBC_2.18 flockfile F
+GLIBC_2.18 fmemopen F
+GLIBC_2.18 fmtmsg F
+GLIBC_2.18 fnmatch F
+GLIBC_2.18 fopen F
+GLIBC_2.18 fopen64 F
+GLIBC_2.18 fopencookie F
+GLIBC_2.18 fork F
+GLIBC_2.18 fpathconf F
+GLIBC_2.18 fprintf F
+GLIBC_2.18 fputc F
+GLIBC_2.18 fputc_unlocked F
+GLIBC_2.18 fputs F
+GLIBC_2.18 fputs_unlocked F
+GLIBC_2.18 fputwc F
+GLIBC_2.18 fputwc_unlocked F
+GLIBC_2.18 fputws F
+GLIBC_2.18 fputws_unlocked F
+GLIBC_2.18 fread F
+GLIBC_2.18 fread_unlocked F
+GLIBC_2.18 free F
+GLIBC_2.18 freeaddrinfo F
+GLIBC_2.18 freeifaddrs F
+GLIBC_2.18 freelocale F
+GLIBC_2.18 fremovexattr F
+GLIBC_2.18 freopen F
+GLIBC_2.18 freopen64 F
+GLIBC_2.18 frexp F
+GLIBC_2.18 frexpf F
+GLIBC_2.18 frexpl F
+GLIBC_2.18 fscanf F
+GLIBC_2.18 fseek F
+GLIBC_2.18 fseeko F
+GLIBC_2.18 fseeko64 F
+GLIBC_2.18 fsetpos F
+GLIBC_2.18 fsetpos64 F
+GLIBC_2.18 fsetxattr F
+GLIBC_2.18 fstatfs F
+GLIBC_2.18 fstatfs64 F
+GLIBC_2.18 fstatvfs F
+GLIBC_2.18 fstatvfs64 F
+GLIBC_2.18 fsync F
+GLIBC_2.18 ftell F
+GLIBC_2.18 ftello F
+GLIBC_2.18 ftello64 F
+GLIBC_2.18 ftime F
+GLIBC_2.18 ftok F
+GLIBC_2.18 ftruncate F
+GLIBC_2.18 ftruncate64 F
+GLIBC_2.18 ftrylockfile F
+GLIBC_2.18 fts_children F
+GLIBC_2.18 fts_close F
+GLIBC_2.18 fts_open F
+GLIBC_2.18 fts_read F
+GLIBC_2.18 fts_set F
+GLIBC_2.18 ftw F
+GLIBC_2.18 ftw64 F
+GLIBC_2.18 funlockfile F
+GLIBC_2.18 futimens F
+GLIBC_2.18 futimes F
+GLIBC_2.18 futimesat F
+GLIBC_2.18 fwide F
+GLIBC_2.18 fwprintf F
+GLIBC_2.18 fwrite F
+GLIBC_2.18 fwrite_unlocked F
+GLIBC_2.18 fwscanf F
+GLIBC_2.18 gai_strerror F
+GLIBC_2.18 gcvt F
+GLIBC_2.18 get_avphys_pages F
+GLIBC_2.18 get_current_dir_name F
+GLIBC_2.18 get_kernel_syms F
+GLIBC_2.18 get_myaddress F
+GLIBC_2.18 get_nprocs F
+GLIBC_2.18 get_nprocs_conf F
+GLIBC_2.18 get_phys_pages F
+GLIBC_2.18 getaddrinfo F
+GLIBC_2.18 getaliasbyname F
+GLIBC_2.18 getaliasbyname_r F
+GLIBC_2.18 getaliasent F
+GLIBC_2.18 getaliasent_r F
+GLIBC_2.18 getauxval F
+GLIBC_2.18 getc F
+GLIBC_2.18 getc_unlocked F
+GLIBC_2.18 getchar F
+GLIBC_2.18 getchar_unlocked F
+GLIBC_2.18 getcontext F
+GLIBC_2.18 getcwd F
+GLIBC_2.18 getdate F
+GLIBC_2.18 getdate_err D 0x4
+GLIBC_2.18 getdate_r F
+GLIBC_2.18 getdelim F
+GLIBC_2.18 getdirentries F
+GLIBC_2.18 getdirentries64 F
+GLIBC_2.18 getdomainname F
+GLIBC_2.18 getdtablesize F
+GLIBC_2.18 getegid F
+GLIBC_2.18 getenv F
+GLIBC_2.18 geteuid F
+GLIBC_2.18 getfsent F
+GLIBC_2.18 getfsfile F
+GLIBC_2.18 getfsspec F
+GLIBC_2.18 getgid F
+GLIBC_2.18 getgrent F
+GLIBC_2.18 getgrent_r F
+GLIBC_2.18 getgrgid F
+GLIBC_2.18 getgrgid_r F
+GLIBC_2.18 getgrnam F
+GLIBC_2.18 getgrnam_r F
+GLIBC_2.18 getgrouplist F
+GLIBC_2.18 getgroups F
+GLIBC_2.18 gethostbyaddr F
+GLIBC_2.18 gethostbyaddr_r F
+GLIBC_2.18 gethostbyname F
+GLIBC_2.18 gethostbyname2 F
+GLIBC_2.18 gethostbyname2_r F
+GLIBC_2.18 gethostbyname_r F
+GLIBC_2.18 gethostent F
+GLIBC_2.18 gethostent_r F
+GLIBC_2.18 gethostid F
+GLIBC_2.18 gethostname F
+GLIBC_2.18 getifaddrs F
+GLIBC_2.18 getipv4sourcefilter F
+GLIBC_2.18 getitimer F
+GLIBC_2.18 getline F
+GLIBC_2.18 getloadavg F
+GLIBC_2.18 getlogin F
+GLIBC_2.18 getlogin_r F
+GLIBC_2.18 getmntent F
+GLIBC_2.18 getmntent_r F
+GLIBC_2.18 getmsg F
+GLIBC_2.18 getnameinfo F
+GLIBC_2.18 getnetbyaddr F
+GLIBC_2.18 getnetbyaddr_r F
+GLIBC_2.18 getnetbyname F
+GLIBC_2.18 getnetbyname_r F
+GLIBC_2.18 getnetent F
+GLIBC_2.18 getnetent_r F
+GLIBC_2.18 getnetgrent F
+GLIBC_2.18 getnetgrent_r F
+GLIBC_2.18 getnetname F
+GLIBC_2.18 getopt F
+GLIBC_2.18 getopt_long F
+GLIBC_2.18 getopt_long_only F
+GLIBC_2.18 getpagesize F
+GLIBC_2.18 getpass F
+GLIBC_2.18 getpeername F
+GLIBC_2.18 getpgid F
+GLIBC_2.18 getpgrp F
+GLIBC_2.18 getpid F
+GLIBC_2.18 getpmsg F
+GLIBC_2.18 getppid F
+GLIBC_2.18 getpriority F
+GLIBC_2.18 getprotobyname F
+GLIBC_2.18 getprotobyname_r F
+GLIBC_2.18 getprotobynumber F
+GLIBC_2.18 getprotobynumber_r F
+GLIBC_2.18 getprotoent F
+GLIBC_2.18 getprotoent_r F
+GLIBC_2.18 getpt F
+GLIBC_2.18 getpublickey F
+GLIBC_2.18 getpw F
+GLIBC_2.18 getpwent F
+GLIBC_2.18 getpwent_r F
+GLIBC_2.18 getpwnam F
+GLIBC_2.18 getpwnam_r F
+GLIBC_2.18 getpwuid F
+GLIBC_2.18 getpwuid_r F
+GLIBC_2.18 getresgid F
+GLIBC_2.18 getresuid F
+GLIBC_2.18 getrlimit F
+GLIBC_2.18 getrlimit64 F
+GLIBC_2.18 getrpcbyname F
+GLIBC_2.18 getrpcbyname_r F
+GLIBC_2.18 getrpcbynumber F
+GLIBC_2.18 getrpcbynumber_r F
+GLIBC_2.18 getrpcent F
+GLIBC_2.18 getrpcent_r F
+GLIBC_2.18 getrpcport F
+GLIBC_2.18 getrusage F
+GLIBC_2.18 gets F
+GLIBC_2.18 getsecretkey F
+GLIBC_2.18 getservbyname F
+GLIBC_2.18 getservbyname_r F
+GLIBC_2.18 getservbyport F
+GLIBC_2.18 getservbyport_r F
+GLIBC_2.18 getservent F
+GLIBC_2.18 getservent_r F
+GLIBC_2.18 getsgent F
+GLIBC_2.18 getsgent_r F
+GLIBC_2.18 getsgnam F
+GLIBC_2.18 getsgnam_r F
+GLIBC_2.18 getsid F
+GLIBC_2.18 getsockname F
+GLIBC_2.18 getsockopt F
+GLIBC_2.18 getsourcefilter F
+GLIBC_2.18 getspent F
+GLIBC_2.18 getspent_r F
+GLIBC_2.18 getspnam F
+GLIBC_2.18 getspnam_r F
+GLIBC_2.18 getsubopt F
+GLIBC_2.18 gettext F
+GLIBC_2.18 gettimeofday F
+GLIBC_2.18 getttyent F
+GLIBC_2.18 getttynam F
+GLIBC_2.18 getuid F
+GLIBC_2.18 getusershell F
+GLIBC_2.18 getutent F
+GLIBC_2.18 getutent_r F
+GLIBC_2.18 getutid F
+GLIBC_2.18 getutid_r F
+GLIBC_2.18 getutline F
+GLIBC_2.18 getutline_r F
+GLIBC_2.18 getutmp F
+GLIBC_2.18 getutmpx F
+GLIBC_2.18 getutxent F
+GLIBC_2.18 getutxid F
+GLIBC_2.18 getutxline F
+GLIBC_2.18 getw F
+GLIBC_2.18 getwc F
+GLIBC_2.18 getwc_unlocked F
+GLIBC_2.18 getwchar F
+GLIBC_2.18 getwchar_unlocked F
+GLIBC_2.18 getwd F
+GLIBC_2.18 getxattr F
+GLIBC_2.18 glob F
+GLIBC_2.18 glob64 F
+GLIBC_2.18 glob_pattern_p F
+GLIBC_2.18 globfree F
+GLIBC_2.18 globfree64 F
+GLIBC_2.18 gmtime F
+GLIBC_2.18 gmtime_r F
+GLIBC_2.18 gnu_dev_major F
+GLIBC_2.18 gnu_dev_makedev F
+GLIBC_2.18 gnu_dev_minor F
+GLIBC_2.18 gnu_get_libc_release F
+GLIBC_2.18 gnu_get_libc_version F
+GLIBC_2.18 grantpt F
+GLIBC_2.18 group_member F
+GLIBC_2.18 gsignal F
+GLIBC_2.18 gtty F
+GLIBC_2.18 h_errlist D 0x14
+GLIBC_2.18 h_nerr D 0x4
+GLIBC_2.18 hasmntopt F
+GLIBC_2.18 hcreate F
+GLIBC_2.18 hcreate_r F
+GLIBC_2.18 hdestroy F
+GLIBC_2.18 hdestroy_r F
+GLIBC_2.18 herror F
+GLIBC_2.18 host2netname F
+GLIBC_2.18 hsearch F
+GLIBC_2.18 hsearch_r F
+GLIBC_2.18 hstrerror F
+GLIBC_2.18 htonl F
+GLIBC_2.18 htons F
+GLIBC_2.18 iconv F
+GLIBC_2.18 iconv_close F
+GLIBC_2.18 iconv_open F
+GLIBC_2.18 if_freenameindex F
+GLIBC_2.18 if_indextoname F
+GLIBC_2.18 if_nameindex F
+GLIBC_2.18 if_nametoindex F
+GLIBC_2.18 imaxabs F
+GLIBC_2.18 imaxdiv F
+GLIBC_2.18 in6addr_any D 0x10
+GLIBC_2.18 in6addr_loopback D 0x10
+GLIBC_2.18 index F
+GLIBC_2.18 inet6_opt_append F
+GLIBC_2.18 inet6_opt_find F
+GLIBC_2.18 inet6_opt_finish F
+GLIBC_2.18 inet6_opt_get_val F
+GLIBC_2.18 inet6_opt_init F
+GLIBC_2.18 inet6_opt_next F
+GLIBC_2.18 inet6_opt_set_val F
+GLIBC_2.18 inet6_option_alloc F
+GLIBC_2.18 inet6_option_append F
+GLIBC_2.18 inet6_option_find F
+GLIBC_2.18 inet6_option_init F
+GLIBC_2.18 inet6_option_next F
+GLIBC_2.18 inet6_option_space F
+GLIBC_2.18 inet6_rth_add F
+GLIBC_2.18 inet6_rth_getaddr F
+GLIBC_2.18 inet6_rth_init F
+GLIBC_2.18 inet6_rth_reverse F
+GLIBC_2.18 inet6_rth_segments F
+GLIBC_2.18 inet6_rth_space F
+GLIBC_2.18 inet_addr F
+GLIBC_2.18 inet_aton F
+GLIBC_2.18 inet_lnaof F
+GLIBC_2.18 inet_makeaddr F
+GLIBC_2.18 inet_netof F
+GLIBC_2.18 inet_network F
+GLIBC_2.18 inet_nsap_addr F
+GLIBC_2.18 inet_nsap_ntoa F
+GLIBC_2.18 inet_ntoa F
+GLIBC_2.18 inet_ntop F
+GLIBC_2.18 inet_pton F
+GLIBC_2.18 init_module F
+GLIBC_2.18 initgroups F
+GLIBC_2.18 initstate F
+GLIBC_2.18 initstate_r F
+GLIBC_2.18 innetgr F
+GLIBC_2.18 inotify_add_watch F
+GLIBC_2.18 inotify_init F
+GLIBC_2.18 inotify_init1 F
+GLIBC_2.18 inotify_rm_watch F
+GLIBC_2.18 insque F
+GLIBC_2.18 ioctl F
+GLIBC_2.18 iruserok F
+GLIBC_2.18 iruserok_af F
+GLIBC_2.18 isalnum F
+GLIBC_2.18 isalnum_l F
+GLIBC_2.18 isalpha F
+GLIBC_2.18 isalpha_l F
+GLIBC_2.18 isascii F
+GLIBC_2.18 isastream F
+GLIBC_2.18 isatty F
+GLIBC_2.18 isblank F
+GLIBC_2.18 isblank_l F
+GLIBC_2.18 iscntrl F
+GLIBC_2.18 iscntrl_l F
+GLIBC_2.18 isctype F
+GLIBC_2.18 isdigit F
+GLIBC_2.18 isdigit_l F
+GLIBC_2.18 isfdtype F
+GLIBC_2.18 isgraph F
+GLIBC_2.18 isgraph_l F
+GLIBC_2.18 isinf F
+GLIBC_2.18 isinff F
+GLIBC_2.18 isinfl F
+GLIBC_2.18 islower F
+GLIBC_2.18 islower_l F
+GLIBC_2.18 isnan F
+GLIBC_2.18 isnanf F
+GLIBC_2.18 isnanl F
+GLIBC_2.18 isprint F
+GLIBC_2.18 isprint_l F
+GLIBC_2.18 ispunct F
+GLIBC_2.18 ispunct_l F
+GLIBC_2.18 isspace F
+GLIBC_2.18 isspace_l F
+GLIBC_2.18 isupper F
+GLIBC_2.18 isupper_l F
+GLIBC_2.18 iswalnum F
+GLIBC_2.18 iswalnum_l F
+GLIBC_2.18 iswalpha F
+GLIBC_2.18 iswalpha_l F
+GLIBC_2.18 iswblank F
+GLIBC_2.18 iswblank_l F
+GLIBC_2.18 iswcntrl F
+GLIBC_2.18 iswcntrl_l F
+GLIBC_2.18 iswctype F
+GLIBC_2.18 iswctype_l F
+GLIBC_2.18 iswdigit F
+GLIBC_2.18 iswdigit_l F
+GLIBC_2.18 iswgraph F
+GLIBC_2.18 iswgraph_l F
+GLIBC_2.18 iswlower F
+GLIBC_2.18 iswlower_l F
+GLIBC_2.18 iswprint F
+GLIBC_2.18 iswprint_l F
+GLIBC_2.18 iswpunct F
+GLIBC_2.18 iswpunct_l F
+GLIBC_2.18 iswspace F
+GLIBC_2.18 iswspace_l F
+GLIBC_2.18 iswupper F
+GLIBC_2.18 iswupper_l F
+GLIBC_2.18 iswxdigit F
+GLIBC_2.18 iswxdigit_l F
+GLIBC_2.18 isxdigit F
+GLIBC_2.18 isxdigit_l F
+GLIBC_2.18 jrand48 F
+GLIBC_2.18 jrand48_r F
+GLIBC_2.18 key_decryptsession F
+GLIBC_2.18 key_decryptsession_pk F
+GLIBC_2.18 key_encryptsession F
+GLIBC_2.18 key_encryptsession_pk F
+GLIBC_2.18 key_gendes F
+GLIBC_2.18 key_get_conv F
+GLIBC_2.18 key_secretkey_is_set F
+GLIBC_2.18 key_setnet F
+GLIBC_2.18 key_setsecret F
+GLIBC_2.18 kill F
+GLIBC_2.18 killpg F
+GLIBC_2.18 klogctl F
+GLIBC_2.18 l64a F
+GLIBC_2.18 labs F
+GLIBC_2.18 lchmod F
+GLIBC_2.18 lchown F
+GLIBC_2.18 lckpwdf F
+GLIBC_2.18 lcong48 F
+GLIBC_2.18 lcong48_r F
+GLIBC_2.18 ldexp F
+GLIBC_2.18 ldexpf F
+GLIBC_2.18 ldexpl F
+GLIBC_2.18 ldiv F
+GLIBC_2.18 lfind F
+GLIBC_2.18 lgetxattr F
+GLIBC_2.18 link F
+GLIBC_2.18 linkat F
+GLIBC_2.18 listen F
+GLIBC_2.18 listxattr F
+GLIBC_2.18 llabs F
+GLIBC_2.18 lldiv F
+GLIBC_2.18 llistxattr F
+GLIBC_2.18 llseek F
+GLIBC_2.18 loc1 D 0x4
+GLIBC_2.18 loc2 D 0x4
+GLIBC_2.18 localeconv F
+GLIBC_2.18 localtime F
+GLIBC_2.18 localtime_r F
+GLIBC_2.18 lockf F
+GLIBC_2.18 lockf64 F
+GLIBC_2.18 locs D 0x4
+GLIBC_2.18 longjmp F
+GLIBC_2.18 lrand48 F
+GLIBC_2.18 lrand48_r F
+GLIBC_2.18 lremovexattr F
+GLIBC_2.18 lsearch F
+GLIBC_2.18 lseek F
+GLIBC_2.18 lseek64 F
+GLIBC_2.18 lsetxattr F
+GLIBC_2.18 lutimes F
+GLIBC_2.18 madvise F
+GLIBC_2.18 makecontext F
+GLIBC_2.18 mallinfo F
+GLIBC_2.18 malloc F
+GLIBC_2.18 malloc_get_state F
+GLIBC_2.18 malloc_info F
+GLIBC_2.18 malloc_set_state F
+GLIBC_2.18 malloc_stats F
+GLIBC_2.18 malloc_trim F
+GLIBC_2.18 malloc_usable_size F
+GLIBC_2.18 mallopt F
+GLIBC_2.18 mallwatch D 0x4
+GLIBC_2.18 mblen F
+GLIBC_2.18 mbrlen F
+GLIBC_2.18 mbrtoc16 F
+GLIBC_2.18 mbrtoc32 F
+GLIBC_2.18 mbrtowc F
+GLIBC_2.18 mbsinit F
+GLIBC_2.18 mbsnrtowcs F
+GLIBC_2.18 mbsrtowcs F
+GLIBC_2.18 mbstowcs F
+GLIBC_2.18 mbtowc F
+GLIBC_2.18 mcheck F
+GLIBC_2.18 mcheck_check_all F
+GLIBC_2.18 mcheck_pedantic F
+GLIBC_2.18 memalign F
+GLIBC_2.18 memccpy F
+GLIBC_2.18 memchr F
+GLIBC_2.18 memcmp F
+GLIBC_2.18 memcpy F
+GLIBC_2.18 memfrob F
+GLIBC_2.18 memmem F
+GLIBC_2.18 memmove F
+GLIBC_2.18 mempcpy F
+GLIBC_2.18 memrchr F
+GLIBC_2.18 memset F
+GLIBC_2.18 mincore F
+GLIBC_2.18 mkdir F
+GLIBC_2.18 mkdirat F
+GLIBC_2.18 mkdtemp F
+GLIBC_2.18 mkfifo F
+GLIBC_2.18 mkfifoat F
+GLIBC_2.18 mkostemp F
+GLIBC_2.18 mkostemp64 F
+GLIBC_2.18 mkostemps F
+GLIBC_2.18 mkostemps64 F
+GLIBC_2.18 mkstemp F
+GLIBC_2.18 mkstemp64 F
+GLIBC_2.18 mkstemps F
+GLIBC_2.18 mkstemps64 F
+GLIBC_2.18 mktemp F
+GLIBC_2.18 mktime F
+GLIBC_2.18 mlock F
+GLIBC_2.18 mlockall F
+GLIBC_2.18 mmap F
+GLIBC_2.18 mmap64 F
+GLIBC_2.18 modf F
+GLIBC_2.18 modff F
+GLIBC_2.18 modfl F
+GLIBC_2.18 moncontrol F
+GLIBC_2.18 monstartup F
+GLIBC_2.18 mount F
+GLIBC_2.18 mprobe F
+GLIBC_2.18 mprotect F
+GLIBC_2.18 mrand48 F
+GLIBC_2.18 mrand48_r F
+GLIBC_2.18 mremap F
+GLIBC_2.18 msgctl F
+GLIBC_2.18 msgget F
+GLIBC_2.18 msgrcv F
+GLIBC_2.18 msgsnd F
+GLIBC_2.18 msync F
+GLIBC_2.18 mtrace F
+GLIBC_2.18 munlock F
+GLIBC_2.18 munlockall F
+GLIBC_2.18 munmap F
+GLIBC_2.18 muntrace F
+GLIBC_2.18 name_to_handle_at F
+GLIBC_2.18 nanosleep F
+GLIBC_2.18 netname2host F
+GLIBC_2.18 netname2user F
+GLIBC_2.18 newlocale F
+GLIBC_2.18 nfsservctl F
+GLIBC_2.18 nftw F
+GLIBC_2.18 nftw64 F
+GLIBC_2.18 ngettext F
+GLIBC_2.18 nice F
+GLIBC_2.18 nl_langinfo F
+GLIBC_2.18 nl_langinfo_l F
+GLIBC_2.18 nrand48 F
+GLIBC_2.18 nrand48_r F
+GLIBC_2.18 ntohl F
+GLIBC_2.18 ntohs F
+GLIBC_2.18 ntp_adjtime F
+GLIBC_2.18 ntp_gettime F
+GLIBC_2.18 ntp_gettimex F
+GLIBC_2.18 obstack_alloc_failed_handler D 0x4
+GLIBC_2.18 obstack_exit_failure D 0x4
+GLIBC_2.18 obstack_free F
+GLIBC_2.18 obstack_printf F
+GLIBC_2.18 obstack_vprintf F
+GLIBC_2.18 on_exit F
+GLIBC_2.18 open F
+GLIBC_2.18 open64 F
+GLIBC_2.18 open_by_handle_at F
+GLIBC_2.18 open_memstream F
+GLIBC_2.18 open_wmemstream F
+GLIBC_2.18 openat F
+GLIBC_2.18 openat64 F
+GLIBC_2.18 opendir F
+GLIBC_2.18 openlog F
+GLIBC_2.18 optarg D 0x4
+GLIBC_2.18 opterr D 0x4
+GLIBC_2.18 optind D 0x4
+GLIBC_2.18 optopt D 0x4
+GLIBC_2.18 parse_printf_format F
+GLIBC_2.18 passwd2des F
+GLIBC_2.18 pathconf F
+GLIBC_2.18 pause F
+GLIBC_2.18 pclose F
+GLIBC_2.18 perror F
+GLIBC_2.18 personality F
+GLIBC_2.18 pipe F
+GLIBC_2.18 pipe2 F
+GLIBC_2.18 pivot_root F
+GLIBC_2.18 pmap_getmaps F
+GLIBC_2.18 pmap_getport F
+GLIBC_2.18 pmap_rmtcall F
+GLIBC_2.18 pmap_set F
+GLIBC_2.18 pmap_unset F
+GLIBC_2.18 poll F
+GLIBC_2.18 popen F
+GLIBC_2.18 posix_fadvise F
+GLIBC_2.18 posix_fadvise64 F
+GLIBC_2.18 posix_fallocate F
+GLIBC_2.18 posix_fallocate64 F
+GLIBC_2.18 posix_madvise F
+GLIBC_2.18 posix_memalign F
+GLIBC_2.18 posix_openpt F
+GLIBC_2.18 posix_spawn F
+GLIBC_2.18 posix_spawn_file_actions_addclose F
+GLIBC_2.18 posix_spawn_file_actions_adddup2 F
+GLIBC_2.18 posix_spawn_file_actions_addopen F
+GLIBC_2.18 posix_spawn_file_actions_destroy F
+GLIBC_2.18 posix_spawn_file_actions_init F
+GLIBC_2.18 posix_spawnattr_destroy F
+GLIBC_2.18 posix_spawnattr_getflags F
+GLIBC_2.18 posix_spawnattr_getpgroup F
+GLIBC_2.18 posix_spawnattr_getschedparam F
+GLIBC_2.18 posix_spawnattr_getschedpolicy F
+GLIBC_2.18 posix_spawnattr_getsigdefault F
+GLIBC_2.18 posix_spawnattr_getsigmask F
+GLIBC_2.18 posix_spawnattr_init F
+GLIBC_2.18 posix_spawnattr_setflags F
+GLIBC_2.18 posix_spawnattr_setpgroup F
+GLIBC_2.18 posix_spawnattr_setschedparam F
+GLIBC_2.18 posix_spawnattr_setschedpolicy F
+GLIBC_2.18 posix_spawnattr_setsigdefault F
+GLIBC_2.18 posix_spawnattr_setsigmask F
+GLIBC_2.18 posix_spawnp F
+GLIBC_2.18 ppoll F
+GLIBC_2.18 prctl F
+GLIBC_2.18 pread F
+GLIBC_2.18 pread64 F
+GLIBC_2.18 preadv F
+GLIBC_2.18 preadv64 F
+GLIBC_2.18 printf F
+GLIBC_2.18 printf_size F
+GLIBC_2.18 printf_size_info F
+GLIBC_2.18 prlimit F
+GLIBC_2.18 prlimit64 F
+GLIBC_2.18 process_vm_readv F
+GLIBC_2.18 process_vm_writev F
+GLIBC_2.18 profil F
+GLIBC_2.18 program_invocation_name D 0x4
+GLIBC_2.18 program_invocation_short_name D 0x4
+GLIBC_2.18 pselect F
+GLIBC_2.18 psiginfo F
+GLIBC_2.18 psignal F
+GLIBC_2.18 pthread_attr_destroy F
+GLIBC_2.18 pthread_attr_getdetachstate F
+GLIBC_2.18 pthread_attr_getinheritsched F
+GLIBC_2.18 pthread_attr_getschedparam F
+GLIBC_2.18 pthread_attr_getschedpolicy F
+GLIBC_2.18 pthread_attr_getscope F
+GLIBC_2.18 pthread_attr_init F
+GLIBC_2.18 pthread_attr_setdetachstate F
+GLIBC_2.18 pthread_attr_setinheritsched F
+GLIBC_2.18 pthread_attr_setschedparam F
+GLIBC_2.18 pthread_attr_setschedpolicy F
+GLIBC_2.18 pthread_attr_setscope F
+GLIBC_2.18 pthread_cond_broadcast F
+GLIBC_2.18 pthread_cond_destroy F
+GLIBC_2.18 pthread_cond_init F
+GLIBC_2.18 pthread_cond_signal F
+GLIBC_2.18 pthread_cond_timedwait F
+GLIBC_2.18 pthread_cond_wait F
+GLIBC_2.18 pthread_condattr_destroy F
+GLIBC_2.18 pthread_condattr_init F
+GLIBC_2.18 pthread_equal F
+GLIBC_2.18 pthread_exit F
+GLIBC_2.18 pthread_getschedparam F
+GLIBC_2.18 pthread_mutex_destroy F
+GLIBC_2.18 pthread_mutex_init F
+GLIBC_2.18 pthread_mutex_lock F
+GLIBC_2.18 pthread_mutex_unlock F
+GLIBC_2.18 pthread_self F
+GLIBC_2.18 pthread_setcancelstate F
+GLIBC_2.18 pthread_setcanceltype F
+GLIBC_2.18 pthread_setschedparam F
+GLIBC_2.18 ptrace F
+GLIBC_2.18 ptsname F
+GLIBC_2.18 ptsname_r F
+GLIBC_2.18 putc F
+GLIBC_2.18 putc_unlocked F
+GLIBC_2.18 putchar F
+GLIBC_2.18 putchar_unlocked F
+GLIBC_2.18 putenv F
+GLIBC_2.18 putgrent F
+GLIBC_2.18 putmsg F
+GLIBC_2.18 putpmsg F
+GLIBC_2.18 putpwent F
+GLIBC_2.18 puts F
+GLIBC_2.18 putsgent F
+GLIBC_2.18 putspent F
+GLIBC_2.18 pututline F
+GLIBC_2.18 pututxline F
+GLIBC_2.18 putw F
+GLIBC_2.18 putwc F
+GLIBC_2.18 putwc_unlocked F
+GLIBC_2.18 putwchar F
+GLIBC_2.18 putwchar_unlocked F
+GLIBC_2.18 pvalloc F
+GLIBC_2.18 pwrite F
+GLIBC_2.18 pwrite64 F
+GLIBC_2.18 pwritev F
+GLIBC_2.18 pwritev64 F
+GLIBC_2.18 qecvt F
+GLIBC_2.18 qecvt_r F
+GLIBC_2.18 qfcvt F
+GLIBC_2.18 qfcvt_r F
+GLIBC_2.18 qgcvt F
+GLIBC_2.18 qsort F
+GLIBC_2.18 qsort_r F
+GLIBC_2.18 query_module F
+GLIBC_2.18 quick_exit F
+GLIBC_2.18 quotactl F
+GLIBC_2.18 raise F
+GLIBC_2.18 rand F
+GLIBC_2.18 rand_r F
+GLIBC_2.18 random F
+GLIBC_2.18 random_r F
+GLIBC_2.18 rawmemchr F
+GLIBC_2.18 rcmd F
+GLIBC_2.18 rcmd_af F
+GLIBC_2.18 re_comp F
+GLIBC_2.18 re_compile_fastmap F
+GLIBC_2.18 re_compile_pattern F
+GLIBC_2.18 re_exec F
+GLIBC_2.18 re_match F
+GLIBC_2.18 re_match_2 F
+GLIBC_2.18 re_search F
+GLIBC_2.18 re_search_2 F
+GLIBC_2.18 re_set_registers F
+GLIBC_2.18 re_set_syntax F
+GLIBC_2.18 re_syntax_options D 0x4
+GLIBC_2.18 read F
+GLIBC_2.18 readahead F
+GLIBC_2.18 readdir F
+GLIBC_2.18 readdir64 F
+GLIBC_2.18 readdir64_r F
+GLIBC_2.18 readdir_r F
+GLIBC_2.18 readlink F
+GLIBC_2.18 readlinkat F
+GLIBC_2.18 readv F
+GLIBC_2.18 realloc F
+GLIBC_2.18 realpath F
+GLIBC_2.18 reboot F
+GLIBC_2.18 recv F
+GLIBC_2.18 recvfrom F
+GLIBC_2.18 recvmmsg F
+GLIBC_2.18 recvmsg F
+GLIBC_2.18 regcomp F
+GLIBC_2.18 regerror F
+GLIBC_2.18 regexec F
+GLIBC_2.18 regfree F
+GLIBC_2.18 register_printf_function F
+GLIBC_2.18 register_printf_modifier F
+GLIBC_2.18 register_printf_specifier F
+GLIBC_2.18 register_printf_type F
+GLIBC_2.18 registerrpc F
+GLIBC_2.18 remap_file_pages F
+GLIBC_2.18 remove F
+GLIBC_2.18 removexattr F
+GLIBC_2.18 remque F
+GLIBC_2.18 rename F
+GLIBC_2.18 renameat F
+GLIBC_2.18 revoke F
+GLIBC_2.18 rewind F
+GLIBC_2.18 rewinddir F
+GLIBC_2.18 rexec F
+GLIBC_2.18 rexec_af F
+GLIBC_2.18 rexecoptions D 0x4
+GLIBC_2.18 rindex F
+GLIBC_2.18 rmdir F
+GLIBC_2.18 rpc_createerr D 0x10
+GLIBC_2.18 rpmatch F
+GLIBC_2.18 rresvport F
+GLIBC_2.18 rresvport_af F
+GLIBC_2.18 rtime F
+GLIBC_2.18 ruserok F
+GLIBC_2.18 ruserok_af F
+GLIBC_2.18 ruserpass F
+GLIBC_2.18 sbrk F
+GLIBC_2.18 scalbn F
+GLIBC_2.18 scalbnf F
+GLIBC_2.18 scalbnl F
+GLIBC_2.18 scandir F
+GLIBC_2.18 scandir64 F
+GLIBC_2.18 scandirat F
+GLIBC_2.18 scandirat64 F
+GLIBC_2.18 scanf F
+GLIBC_2.18 sched_get_priority_max F
+GLIBC_2.18 sched_get_priority_min F
+GLIBC_2.18 sched_getaffinity F
+GLIBC_2.18 sched_getcpu F
+GLIBC_2.18 sched_getparam F
+GLIBC_2.18 sched_getscheduler F
+GLIBC_2.18 sched_rr_get_interval F
+GLIBC_2.18 sched_setaffinity F
+GLIBC_2.18 sched_setparam F
+GLIBC_2.18 sched_setscheduler F
+GLIBC_2.18 sched_yield F
+GLIBC_2.18 secure_getenv F
+GLIBC_2.18 seed48 F
+GLIBC_2.18 seed48_r F
+GLIBC_2.18 seekdir F
+GLIBC_2.18 select F
+GLIBC_2.18 semctl F
+GLIBC_2.18 semget F
+GLIBC_2.18 semop F
+GLIBC_2.18 semtimedop F
+GLIBC_2.18 send F
+GLIBC_2.18 sendfile F
+GLIBC_2.18 sendfile64 F
+GLIBC_2.18 sendmmsg F
+GLIBC_2.18 sendmsg F
+GLIBC_2.18 sendto F
+GLIBC_2.18 setaliasent F
+GLIBC_2.18 setbuf F
+GLIBC_2.18 setbuffer F
+GLIBC_2.18 setcontext F
+GLIBC_2.18 setdomainname F
+GLIBC_2.18 setegid F
+GLIBC_2.18 setenv F
+GLIBC_2.18 seteuid F
+GLIBC_2.18 setfsent F
+GLIBC_2.18 setfsgid F
+GLIBC_2.18 setfsuid F
+GLIBC_2.18 setgid F
+GLIBC_2.18 setgrent F
+GLIBC_2.18 setgroups F
+GLIBC_2.18 sethostent F
+GLIBC_2.18 sethostid F
+GLIBC_2.18 sethostname F
+GLIBC_2.18 setipv4sourcefilter F
+GLIBC_2.18 setitimer F
+GLIBC_2.18 setjmp F
+GLIBC_2.18 setlinebuf F
+GLIBC_2.18 setlocale F
+GLIBC_2.18 setlogin F
+GLIBC_2.18 setlogmask F
+GLIBC_2.18 setmntent F
+GLIBC_2.18 setnetent F
+GLIBC_2.18 setnetgrent F
+GLIBC_2.18 setns F
+GLIBC_2.18 setpgid F
+GLIBC_2.18 setpgrp F
+GLIBC_2.18 setpriority F
+GLIBC_2.18 setprotoent F
+GLIBC_2.18 setpwent F
+GLIBC_2.18 setregid F
+GLIBC_2.18 setresgid F
+GLIBC_2.18 setresuid F
+GLIBC_2.18 setreuid F
+GLIBC_2.18 setrlimit F
+GLIBC_2.18 setrlimit64 F
+GLIBC_2.18 setrpcent F
+GLIBC_2.18 setservent F
+GLIBC_2.18 setsgent F
+GLIBC_2.18 setsid F
+GLIBC_2.18 setsockopt F
+GLIBC_2.18 setsourcefilter F
+GLIBC_2.18 setspent F
+GLIBC_2.18 setstate F
+GLIBC_2.18 setstate_r F
+GLIBC_2.18 settimeofday F
+GLIBC_2.18 setttyent F
+GLIBC_2.18 setuid F
+GLIBC_2.18 setusershell F
+GLIBC_2.18 setutent F
+GLIBC_2.18 setutxent F
+GLIBC_2.18 setvbuf F
+GLIBC_2.18 setxattr F
+GLIBC_2.18 sgetsgent F
+GLIBC_2.18 sgetsgent_r F
+GLIBC_2.18 sgetspent F
+GLIBC_2.18 sgetspent_r F
+GLIBC_2.18 shmat F
+GLIBC_2.18 shmctl F
+GLIBC_2.18 shmdt F
+GLIBC_2.18 shmget F
+GLIBC_2.18 shutdown F
+GLIBC_2.18 sigaction F
+GLIBC_2.18 sigaddset F
+GLIBC_2.18 sigaltstack F
+GLIBC_2.18 sigandset F
+GLIBC_2.18 sigblock F
+GLIBC_2.18 sigdelset F
+GLIBC_2.18 sigemptyset F
+GLIBC_2.18 sigfillset F
+GLIBC_2.18 siggetmask F
+GLIBC_2.18 sighold F
+GLIBC_2.18 sigignore F
+GLIBC_2.18 siginterrupt F
+GLIBC_2.18 sigisemptyset F
+GLIBC_2.18 sigismember F
+GLIBC_2.18 siglongjmp F
+GLIBC_2.18 signal F
+GLIBC_2.18 signalfd F
+GLIBC_2.18 sigorset F
+GLIBC_2.18 sigpause F
+GLIBC_2.18 sigpending F
+GLIBC_2.18 sigprocmask F
+GLIBC_2.18 sigqueue F
+GLIBC_2.18 sigrelse F
+GLIBC_2.18 sigreturn F
+GLIBC_2.18 sigset F
+GLIBC_2.18 sigsetmask F
+GLIBC_2.18 sigstack F
+GLIBC_2.18 sigsuspend F
+GLIBC_2.18 sigtimedwait F
+GLIBC_2.18 sigvec F
+GLIBC_2.18 sigwait F
+GLIBC_2.18 sigwaitinfo F
+GLIBC_2.18 sleep F
+GLIBC_2.18 snprintf F
+GLIBC_2.18 sockatmark F
+GLIBC_2.18 socket F
+GLIBC_2.18 socketpair F
+GLIBC_2.18 splice F
+GLIBC_2.18 sprintf F
+GLIBC_2.18 sprofil F
+GLIBC_2.18 srand F
+GLIBC_2.18 srand48 F
+GLIBC_2.18 srand48_r F
+GLIBC_2.18 srandom F
+GLIBC_2.18 srandom_r F
+GLIBC_2.18 sscanf F
+GLIBC_2.18 ssignal F
+GLIBC_2.18 sstk F
+GLIBC_2.18 statfs F
+GLIBC_2.18 statfs64 F
+GLIBC_2.18 statvfs F
+GLIBC_2.18 statvfs64 F
+GLIBC_2.18 stderr D 0x4
+GLIBC_2.18 stdin D 0x4
+GLIBC_2.18 stdout D 0x4
+GLIBC_2.18 step F
+GLIBC_2.18 stime F
+GLIBC_2.18 stpcpy F
+GLIBC_2.18 stpncpy F
+GLIBC_2.18 strcasecmp F
+GLIBC_2.18 strcasecmp_l F
+GLIBC_2.18 strcasestr F
+GLIBC_2.18 strcat F
+GLIBC_2.18 strchr F
+GLIBC_2.18 strchrnul F
+GLIBC_2.18 strcmp F
+GLIBC_2.18 strcoll F
+GLIBC_2.18 strcoll_l F
+GLIBC_2.18 strcpy F
+GLIBC_2.18 strcspn F
+GLIBC_2.18 strdup F
+GLIBC_2.18 strerror F
+GLIBC_2.18 strerror_l F
+GLIBC_2.18 strerror_r F
+GLIBC_2.18 strfmon F
+GLIBC_2.18 strfmon_l F
+GLIBC_2.18 strfry F
+GLIBC_2.18 strftime F
+GLIBC_2.18 strftime_l F
+GLIBC_2.18 strlen F
+GLIBC_2.18 strncasecmp F
+GLIBC_2.18 strncasecmp_l F
+GLIBC_2.18 strncat F
+GLIBC_2.18 strncmp F
+GLIBC_2.18 strncpy F
+GLIBC_2.18 strndup F
+GLIBC_2.18 strnlen F
+GLIBC_2.18 strpbrk F
+GLIBC_2.18 strptime F
+GLIBC_2.18 strptime_l F
+GLIBC_2.18 strrchr F
+GLIBC_2.18 strsep F
+GLIBC_2.18 strsignal F
+GLIBC_2.18 strspn F
+GLIBC_2.18 strstr F
+GLIBC_2.18 strtod F
+GLIBC_2.18 strtod_l F
+GLIBC_2.18 strtof F
+GLIBC_2.18 strtof_l F
+GLIBC_2.18 strtoimax F
+GLIBC_2.18 strtok F
+GLIBC_2.18 strtok_r F
+GLIBC_2.18 strtol F
+GLIBC_2.18 strtol_l F
+GLIBC_2.18 strtold F
+GLIBC_2.18 strtold_l F
+GLIBC_2.18 strtoll F
+GLIBC_2.18 strtoll_l F
+GLIBC_2.18 strtoq F
+GLIBC_2.18 strtoul F
+GLIBC_2.18 strtoul_l F
+GLIBC_2.18 strtoull F
+GLIBC_2.18 strtoull_l F
+GLIBC_2.18 strtoumax F
+GLIBC_2.18 strtouq F
+GLIBC_2.18 strverscmp F
+GLIBC_2.18 strxfrm F
+GLIBC_2.18 strxfrm_l F
+GLIBC_2.18 stty F
+GLIBC_2.18 svc_exit F
+GLIBC_2.18 svc_fdset D 0x80
+GLIBC_2.18 svc_getreq F
+GLIBC_2.18 svc_getreq_common F
+GLIBC_2.18 svc_getreq_poll F
+GLIBC_2.18 svc_getreqset F
+GLIBC_2.18 svc_max_pollfd D 0x4
+GLIBC_2.18 svc_pollfd D 0x4
+GLIBC_2.18 svc_register F
+GLIBC_2.18 svc_run F
+GLIBC_2.18 svc_sendreply F
+GLIBC_2.18 svc_unregister F
+GLIBC_2.18 svcauthdes_stats D 0xc
+GLIBC_2.18 svcerr_auth F
+GLIBC_2.18 svcerr_decode F
+GLIBC_2.18 svcerr_noproc F
+GLIBC_2.18 svcerr_noprog F
+GLIBC_2.18 svcerr_progvers F
+GLIBC_2.18 svcerr_systemerr F
+GLIBC_2.18 svcerr_weakauth F
+GLIBC_2.18 svcfd_create F
+GLIBC_2.18 svcraw_create F
+GLIBC_2.18 svctcp_create F
+GLIBC_2.18 svcudp_bufcreate F
+GLIBC_2.18 svcudp_create F
+GLIBC_2.18 svcudp_enablecache F
+GLIBC_2.18 svcunix_create F
+GLIBC_2.18 svcunixfd_create F
+GLIBC_2.18 swab F
+GLIBC_2.18 swapcontext F
+GLIBC_2.18 swapoff F
+GLIBC_2.18 swapon F
+GLIBC_2.18 swprintf F
+GLIBC_2.18 swscanf F
+GLIBC_2.18 symlink F
+GLIBC_2.18 symlinkat F
+GLIBC_2.18 sync F
+GLIBC_2.18 sync_file_range F
+GLIBC_2.18 syncfs F
+GLIBC_2.18 sys_errlist D 0x21c
+GLIBC_2.18 sys_nerr D 0x4
+GLIBC_2.18 sys_sigabbrev D 0x104
+GLIBC_2.18 sys_siglist D 0x104
+GLIBC_2.18 syscall F
+GLIBC_2.18 sysconf F
+GLIBC_2.18 sysctl F
+GLIBC_2.18 sysinfo F
+GLIBC_2.18 syslog F
+GLIBC_2.18 system F
+GLIBC_2.18 sysv_signal F
+GLIBC_2.18 tcdrain F
+GLIBC_2.18 tcflow F
+GLIBC_2.18 tcflush F
+GLIBC_2.18 tcgetattr F
+GLIBC_2.18 tcgetpgrp F
+GLIBC_2.18 tcgetsid F
+GLIBC_2.18 tcsendbreak F
+GLIBC_2.18 tcsetattr F
+GLIBC_2.18 tcsetpgrp F
+GLIBC_2.18 tdelete F
+GLIBC_2.18 tdestroy F
+GLIBC_2.18 tee F
+GLIBC_2.18 telldir F
+GLIBC_2.18 tempnam F
+GLIBC_2.18 textdomain F
+GLIBC_2.18 tfind F
+GLIBC_2.18 time F
+GLIBC_2.18 timegm F
+GLIBC_2.18 timelocal F
+GLIBC_2.18 timerfd_create F
+GLIBC_2.18 timerfd_gettime F
+GLIBC_2.18 timerfd_settime F
+GLIBC_2.18 times F
+GLIBC_2.18 timespec_get F
+GLIBC_2.18 timezone D 0x4
+GLIBC_2.18 tmpfile F
+GLIBC_2.18 tmpfile64 F
+GLIBC_2.18 tmpnam F
+GLIBC_2.18 tmpnam_r F
+GLIBC_2.18 toascii F
+GLIBC_2.18 tolower F
+GLIBC_2.18 tolower_l F
+GLIBC_2.18 toupper F
+GLIBC_2.18 toupper_l F
+GLIBC_2.18 towctrans F
+GLIBC_2.18 towctrans_l F
+GLIBC_2.18 towlower F
+GLIBC_2.18 towlower_l F
+GLIBC_2.18 towupper F
+GLIBC_2.18 towupper_l F
+GLIBC_2.18 tr_break F
+GLIBC_2.18 truncate F
+GLIBC_2.18 truncate64 F
+GLIBC_2.18 tsearch F
+GLIBC_2.18 ttyname F
+GLIBC_2.18 ttyname_r F
+GLIBC_2.18 ttyslot F
+GLIBC_2.18 twalk F
+GLIBC_2.18 tzname D 0x8
+GLIBC_2.18 tzset F
+GLIBC_2.18 ualarm F
+GLIBC_2.18 ulckpwdf F
+GLIBC_2.18 ulimit F
+GLIBC_2.18 umask F
+GLIBC_2.18 umount F
+GLIBC_2.18 umount2 F
+GLIBC_2.18 uname F
+GLIBC_2.18 ungetc F
+GLIBC_2.18 ungetwc F
+GLIBC_2.18 unlink F
+GLIBC_2.18 unlinkat F
+GLIBC_2.18 unlockpt F
+GLIBC_2.18 unsetenv F
+GLIBC_2.18 unshare F
+GLIBC_2.18 updwtmp F
+GLIBC_2.18 updwtmpx F
+GLIBC_2.18 uselib F
+GLIBC_2.18 uselocale F
+GLIBC_2.18 user2netname F
+GLIBC_2.18 usleep F
+GLIBC_2.18 ustat F
+GLIBC_2.18 utime F
+GLIBC_2.18 utimensat F
+GLIBC_2.18 utimes F
+GLIBC_2.18 utmpname F
+GLIBC_2.18 utmpxname F
+GLIBC_2.18 valloc F
+GLIBC_2.18 vasprintf F
+GLIBC_2.18 vdprintf F
+GLIBC_2.18 verr F
+GLIBC_2.18 verrx F
+GLIBC_2.18 versionsort F
+GLIBC_2.18 versionsort64 F
+GLIBC_2.18 vfork F
+GLIBC_2.18 vfprintf F
+GLIBC_2.18 vfscanf F
+GLIBC_2.18 vfwprintf F
+GLIBC_2.18 vfwscanf F
+GLIBC_2.18 vhangup F
+GLIBC_2.18 vlimit F
+GLIBC_2.18 vmsplice F
+GLIBC_2.18 vprintf F
+GLIBC_2.18 vscanf F
+GLIBC_2.18 vsnprintf F
+GLIBC_2.18 vsprintf F
+GLIBC_2.18 vsscanf F
+GLIBC_2.18 vswprintf F
+GLIBC_2.18 vswscanf F
+GLIBC_2.18 vsyslog F
+GLIBC_2.18 vtimes F
+GLIBC_2.18 vwarn F
+GLIBC_2.18 vwarnx F
+GLIBC_2.18 vwprintf F
+GLIBC_2.18 vwscanf F
+GLIBC_2.18 wait F
+GLIBC_2.18 wait3 F
+GLIBC_2.18 wait4 F
+GLIBC_2.18 waitid F
+GLIBC_2.18 waitpid F
+GLIBC_2.18 warn F
+GLIBC_2.18 warnx F
+GLIBC_2.18 wcpcpy F
+GLIBC_2.18 wcpncpy F
+GLIBC_2.18 wcrtomb F
+GLIBC_2.18 wcscasecmp F
+GLIBC_2.18 wcscasecmp_l F
+GLIBC_2.18 wcscat F
+GLIBC_2.18 wcschr F
+GLIBC_2.18 wcschrnul F
+GLIBC_2.18 wcscmp F
+GLIBC_2.18 wcscoll F
+GLIBC_2.18 wcscoll_l F
+GLIBC_2.18 wcscpy F
+GLIBC_2.18 wcscspn F
+GLIBC_2.18 wcsdup F
+GLIBC_2.18 wcsftime F
+GLIBC_2.18 wcsftime_l F
+GLIBC_2.18 wcslen F
+GLIBC_2.18 wcsncasecmp F
+GLIBC_2.18 wcsncasecmp_l F
+GLIBC_2.18 wcsncat F
+GLIBC_2.18 wcsncmp F
+GLIBC_2.18 wcsncpy F
+GLIBC_2.18 wcsnlen F
+GLIBC_2.18 wcsnrtombs F
+GLIBC_2.18 wcspbrk F
+GLIBC_2.18 wcsrchr F
+GLIBC_2.18 wcsrtombs F
+GLIBC_2.18 wcsspn F
+GLIBC_2.18 wcsstr F
+GLIBC_2.18 wcstod F
+GLIBC_2.18 wcstod_l F
+GLIBC_2.18 wcstof F
+GLIBC_2.18 wcstof_l F
+GLIBC_2.18 wcstoimax F
+GLIBC_2.18 wcstok F
+GLIBC_2.18 wcstol F
+GLIBC_2.18 wcstol_l F
+GLIBC_2.18 wcstold F
+GLIBC_2.18 wcstold_l F
+GLIBC_2.18 wcstoll F
+GLIBC_2.18 wcstoll_l F
+GLIBC_2.18 wcstombs F
+GLIBC_2.18 wcstoq F
+GLIBC_2.18 wcstoul F
+GLIBC_2.18 wcstoul_l F
+GLIBC_2.18 wcstoull F
+GLIBC_2.18 wcstoull_l F
+GLIBC_2.18 wcstoumax F
+GLIBC_2.18 wcstouq F
+GLIBC_2.18 wcswcs F
+GLIBC_2.18 wcswidth F
+GLIBC_2.18 wcsxfrm F
+GLIBC_2.18 wcsxfrm_l F
+GLIBC_2.18 wctob F
+GLIBC_2.18 wctomb F
+GLIBC_2.18 wctrans F
+GLIBC_2.18 wctrans_l F
+GLIBC_2.18 wctype F
+GLIBC_2.18 wctype_l F
+GLIBC_2.18 wcwidth F
+GLIBC_2.18 wmemchr F
+GLIBC_2.18 wmemcmp F
+GLIBC_2.18 wmemcpy F
+GLIBC_2.18 wmemmove F
+GLIBC_2.18 wmempcpy F
+GLIBC_2.18 wmemset F
+GLIBC_2.18 wordexp F
+GLIBC_2.18 wordfree F
+GLIBC_2.18 wprintf F
+GLIBC_2.18 write F
+GLIBC_2.18 writev F
+GLIBC_2.18 wscanf F
+GLIBC_2.18 xdecrypt F
+GLIBC_2.18 xdr_accepted_reply F
+GLIBC_2.18 xdr_array F
+GLIBC_2.18 xdr_authdes_cred F
+GLIBC_2.18 xdr_authdes_verf F
+GLIBC_2.18 xdr_authunix_parms F
+GLIBC_2.18 xdr_bool F
+GLIBC_2.18 xdr_bytes F
+GLIBC_2.18 xdr_callhdr F
+GLIBC_2.18 xdr_callmsg F
+GLIBC_2.18 xdr_char F
+GLIBC_2.18 xdr_cryptkeyarg F
+GLIBC_2.18 xdr_cryptkeyarg2 F
+GLIBC_2.18 xdr_cryptkeyres F
+GLIBC_2.18 xdr_des_block F
+GLIBC_2.18 xdr_double F
+GLIBC_2.18 xdr_enum F
+GLIBC_2.18 xdr_float F
+GLIBC_2.18 xdr_free F
+GLIBC_2.18 xdr_getcredres F
+GLIBC_2.18 xdr_hyper F
+GLIBC_2.18 xdr_int F
+GLIBC_2.18 xdr_int16_t F
+GLIBC_2.18 xdr_int32_t F
+GLIBC_2.18 xdr_int64_t F
+GLIBC_2.18 xdr_int8_t F
+GLIBC_2.18 xdr_key_netstarg F
+GLIBC_2.18 xdr_key_netstres F
+GLIBC_2.18 xdr_keybuf F
+GLIBC_2.18 xdr_keystatus F
+GLIBC_2.18 xdr_long F
+GLIBC_2.18 xdr_longlong_t F
+GLIBC_2.18 xdr_netnamestr F
+GLIBC_2.18 xdr_netobj F
+GLIBC_2.18 xdr_opaque F
+GLIBC_2.18 xdr_opaque_auth F
+GLIBC_2.18 xdr_pmap F
+GLIBC_2.18 xdr_pmaplist F
+GLIBC_2.18 xdr_pointer F
+GLIBC_2.18 xdr_quad_t F
+GLIBC_2.18 xdr_reference F
+GLIBC_2.18 xdr_rejected_reply F
+GLIBC_2.18 xdr_replymsg F
+GLIBC_2.18 xdr_rmtcall_args F
+GLIBC_2.18 xdr_rmtcallres F
+GLIBC_2.18 xdr_short F
+GLIBC_2.18 xdr_sizeof F
+GLIBC_2.18 xdr_string F
+GLIBC_2.18 xdr_u_char F
+GLIBC_2.18 xdr_u_hyper F
+GLIBC_2.18 xdr_u_int F
+GLIBC_2.18 xdr_u_long F
+GLIBC_2.18 xdr_u_longlong_t F
+GLIBC_2.18 xdr_u_quad_t F
+GLIBC_2.18 xdr_u_short F
+GLIBC_2.18 xdr_uint16_t F
+GLIBC_2.18 xdr_uint32_t F
+GLIBC_2.18 xdr_uint64_t F
+GLIBC_2.18 xdr_uint8_t F
+GLIBC_2.18 xdr_union F
+GLIBC_2.18 xdr_unixcred F
+GLIBC_2.18 xdr_vector F
+GLIBC_2.18 xdr_void F
+GLIBC_2.18 xdr_wrapstring F
+GLIBC_2.18 xdrmem_create F
+GLIBC_2.18 xdrrec_create F
+GLIBC_2.18 xdrrec_endofrecord F
+GLIBC_2.18 xdrrec_eof F
+GLIBC_2.18 xdrrec_skiprecord F
+GLIBC_2.18 xdrstdio_create F
+GLIBC_2.18 xencrypt F
+GLIBC_2.18 xprt_register F
+GLIBC_2.18 xprt_unregister F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist
new file mode 100644
index 0000000000..75fa78890a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 crypt F
+GLIBC_2.18 crypt_r F
+GLIBC_2.18 encrypt F
+GLIBC_2.18 encrypt_r F
+GLIBC_2.18 fcrypt F
+GLIBC_2.18 setkey F
+GLIBC_2.18 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libdl.abilist
new file mode 100644
index 0000000000..7cad5061b0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 dladdr F
+GLIBC_2.18 dladdr1 F
+GLIBC_2.18 dlclose F
+GLIBC_2.18 dlerror F
+GLIBC_2.18 dlinfo F
+GLIBC_2.18 dlmopen F
+GLIBC_2.18 dlopen F
+GLIBC_2.18 dlsym F
+GLIBC_2.18 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libm.abilist
new file mode 100644
index 0000000000..bb872f292a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libm.abilist
@@ -0,0 +1,430 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 _LIB_VERSION D 0x4
+GLIBC_2.18 __acos_finite F
+GLIBC_2.18 __acosf_finite F
+GLIBC_2.18 __acosh_finite F
+GLIBC_2.18 __acoshf_finite F
+GLIBC_2.18 __asin_finite F
+GLIBC_2.18 __asinf_finite F
+GLIBC_2.18 __atan2_finite F
+GLIBC_2.18 __atan2f_finite F
+GLIBC_2.18 __atanh_finite F
+GLIBC_2.18 __atanhf_finite F
+GLIBC_2.18 __clog10 F
+GLIBC_2.18 __clog10f F
+GLIBC_2.18 __clog10l F
+GLIBC_2.18 __cosh_finite F
+GLIBC_2.18 __coshf_finite F
+GLIBC_2.18 __exp10_finite F
+GLIBC_2.18 __exp10f_finite F
+GLIBC_2.18 __exp2_finite F
+GLIBC_2.18 __exp2f_finite F
+GLIBC_2.18 __exp_finite F
+GLIBC_2.18 __expf_finite F
+GLIBC_2.18 __finite F
+GLIBC_2.18 __finitef F
+GLIBC_2.18 __finitel F
+GLIBC_2.18 __fmod_finite F
+GLIBC_2.18 __fmodf_finite F
+GLIBC_2.18 __fpclassify F
+GLIBC_2.18 __fpclassifyf F
+GLIBC_2.18 __gamma_r_finite F
+GLIBC_2.18 __gammaf_r_finite F
+GLIBC_2.18 __hypot_finite F
+GLIBC_2.18 __hypotf_finite F
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __j0_finite F
+GLIBC_2.18 __j0f_finite F
+GLIBC_2.18 __j1_finite F
+GLIBC_2.18 __j1f_finite F
+GLIBC_2.18 __jn_finite F
+GLIBC_2.18 __jnf_finite F
+GLIBC_2.18 __lgamma_r_finite F
+GLIBC_2.18 __lgammaf_r_finite F
+GLIBC_2.18 __log10_finite F
+GLIBC_2.18 __log10f_finite F
+GLIBC_2.18 __log2_finite F
+GLIBC_2.18 __log2f_finite F
+GLIBC_2.18 __log_finite F
+GLIBC_2.18 __logf_finite F
+GLIBC_2.18 __pow_finite F
+GLIBC_2.18 __powf_finite F
+GLIBC_2.18 __remainder_finite F
+GLIBC_2.18 __remainderf_finite F
+GLIBC_2.18 __scalb_finite F
+GLIBC_2.18 __scalbf_finite F
+GLIBC_2.18 __signbit F
+GLIBC_2.18 __signbitf F
+GLIBC_2.18 __sinh_finite F
+GLIBC_2.18 __sinhf_finite F
+GLIBC_2.18 __sqrt_finite F
+GLIBC_2.18 __sqrtf_finite F
+GLIBC_2.18 __y0_finite F
+GLIBC_2.18 __y0f_finite F
+GLIBC_2.18 __y1_finite F
+GLIBC_2.18 __y1f_finite F
+GLIBC_2.18 __yn_finite F
+GLIBC_2.18 __ynf_finite F
+GLIBC_2.18 acos F
+GLIBC_2.18 acosf F
+GLIBC_2.18 acosh F
+GLIBC_2.18 acoshf F
+GLIBC_2.18 acoshl F
+GLIBC_2.18 acosl F
+GLIBC_2.18 asin F
+GLIBC_2.18 asinf F
+GLIBC_2.18 asinh F
+GLIBC_2.18 asinhf F
+GLIBC_2.18 asinhl F
+GLIBC_2.18 asinl F
+GLIBC_2.18 atan F
+GLIBC_2.18 atan2 F
+GLIBC_2.18 atan2f F
+GLIBC_2.18 atan2l F
+GLIBC_2.18 atanf F
+GLIBC_2.18 atanh F
+GLIBC_2.18 atanhf F
+GLIBC_2.18 atanhl F
+GLIBC_2.18 atanl F
+GLIBC_2.18 cabs F
+GLIBC_2.18 cabsf F
+GLIBC_2.18 cabsl F
+GLIBC_2.18 cacos F
+GLIBC_2.18 cacosf F
+GLIBC_2.18 cacosh F
+GLIBC_2.18 cacoshf F
+GLIBC_2.18 cacoshl F
+GLIBC_2.18 cacosl F
+GLIBC_2.18 carg F
+GLIBC_2.18 cargf F
+GLIBC_2.18 cargl F
+GLIBC_2.18 casin F
+GLIBC_2.18 casinf F
+GLIBC_2.18 casinh F
+GLIBC_2.18 casinhf F
+GLIBC_2.18 casinhl F
+GLIBC_2.18 casinl F
+GLIBC_2.18 catan F
+GLIBC_2.18 catanf F
+GLIBC_2.18 catanh F
+GLIBC_2.18 catanhf F
+GLIBC_2.18 catanhl F
+GLIBC_2.18 catanl F
+GLIBC_2.18 cbrt F
+GLIBC_2.18 cbrtf F
+GLIBC_2.18 cbrtl F
+GLIBC_2.18 ccos F
+GLIBC_2.18 ccosf F
+GLIBC_2.18 ccosh F
+GLIBC_2.18 ccoshf F
+GLIBC_2.18 ccoshl F
+GLIBC_2.18 ccosl F
+GLIBC_2.18 ceil F
+GLIBC_2.18 ceilf F
+GLIBC_2.18 ceill F
+GLIBC_2.18 cexp F
+GLIBC_2.18 cexpf F
+GLIBC_2.18 cexpl F
+GLIBC_2.18 cimag F
+GLIBC_2.18 cimagf F
+GLIBC_2.18 cimagl F
+GLIBC_2.18 clog F
+GLIBC_2.18 clog10 F
+GLIBC_2.18 clog10f F
+GLIBC_2.18 clog10l F
+GLIBC_2.18 clogf F
+GLIBC_2.18 clogl F
+GLIBC_2.18 conj F
+GLIBC_2.18 conjf F
+GLIBC_2.18 conjl F
+GLIBC_2.18 copysign F
+GLIBC_2.18 copysignf F
+GLIBC_2.18 copysignl F
+GLIBC_2.18 cos F
+GLIBC_2.18 cosf F
+GLIBC_2.18 cosh F
+GLIBC_2.18 coshf F
+GLIBC_2.18 coshl F
+GLIBC_2.18 cosl F
+GLIBC_2.18 cpow F
+GLIBC_2.18 cpowf F
+GLIBC_2.18 cpowl F
+GLIBC_2.18 cproj F
+GLIBC_2.18 cprojf F
+GLIBC_2.18 cprojl F
+GLIBC_2.18 creal F
+GLIBC_2.18 crealf F
+GLIBC_2.18 creall F
+GLIBC_2.18 csin F
+GLIBC_2.18 csinf F
+GLIBC_2.18 csinh F
+GLIBC_2.18 csinhf F
+GLIBC_2.18 csinhl F
+GLIBC_2.18 csinl F
+GLIBC_2.18 csqrt F
+GLIBC_2.18 csqrtf F
+GLIBC_2.18 csqrtl F
+GLIBC_2.18 ctan F
+GLIBC_2.18 ctanf F
+GLIBC_2.18 ctanh F
+GLIBC_2.18 ctanhf F
+GLIBC_2.18 ctanhl F
+GLIBC_2.18 ctanl F
+GLIBC_2.18 drem F
+GLIBC_2.18 dremf F
+GLIBC_2.18 dreml F
+GLIBC_2.18 erf F
+GLIBC_2.18 erfc F
+GLIBC_2.18 erfcf F
+GLIBC_2.18 erfcl F
+GLIBC_2.18 erff F
+GLIBC_2.18 erfl F
+GLIBC_2.18 exp F
+GLIBC_2.18 exp10 F
+GLIBC_2.18 exp10f F
+GLIBC_2.18 exp10l F
+GLIBC_2.18 exp2 F
+GLIBC_2.18 exp2f F
+GLIBC_2.18 exp2l F
+GLIBC_2.18 expf F
+GLIBC_2.18 expl F
+GLIBC_2.18 expm1 F
+GLIBC_2.18 expm1f F
+GLIBC_2.18 expm1l F
+GLIBC_2.18 fabs F
+GLIBC_2.18 fabsf F
+GLIBC_2.18 fabsl F
+GLIBC_2.18 fdim F
+GLIBC_2.18 fdimf F
+GLIBC_2.18 fdiml F
+GLIBC_2.18 feclearexcept F
+GLIBC_2.18 fedisableexcept F
+GLIBC_2.18 feenableexcept F
+GLIBC_2.18 fegetenv F
+GLIBC_2.18 fegetexcept F
+GLIBC_2.18 fegetexceptflag F
+GLIBC_2.18 fegetround F
+GLIBC_2.18 feholdexcept F
+GLIBC_2.18 feraiseexcept F
+GLIBC_2.18 fesetenv F
+GLIBC_2.18 fesetexceptflag F
+GLIBC_2.18 fesetround F
+GLIBC_2.18 fetestexcept F
+GLIBC_2.18 feupdateenv F
+GLIBC_2.18 finite F
+GLIBC_2.18 finitef F
+GLIBC_2.18 finitel F
+GLIBC_2.18 floor F
+GLIBC_2.18 floorf F
+GLIBC_2.18 floorl F
+GLIBC_2.18 fma F
+GLIBC_2.18 fmaf F
+GLIBC_2.18 fmal F
+GLIBC_2.18 fmax F
+GLIBC_2.18 fmaxf F
+GLIBC_2.18 fmaxl F
+GLIBC_2.18 fmin F
+GLIBC_2.18 fminf F
+GLIBC_2.18 fminl F
+GLIBC_2.18 fmod F
+GLIBC_2.18 fmodf F
+GLIBC_2.18 fmodl F
+GLIBC_2.18 frexp F
+GLIBC_2.18 frexpf F
+GLIBC_2.18 frexpl F
+GLIBC_2.18 gamma F
+GLIBC_2.18 gammaf F
+GLIBC_2.18 gammal F
+GLIBC_2.18 hypot F
+GLIBC_2.18 hypotf F
+GLIBC_2.18 hypotl F
+GLIBC_2.18 ilogb F
+GLIBC_2.18 ilogbf F
+GLIBC_2.18 ilogbl F
+GLIBC_2.18 j0 F
+GLIBC_2.18 j0f F
+GLIBC_2.18 j0l F
+GLIBC_2.18 j1 F
+GLIBC_2.18 j1f F
+GLIBC_2.18 j1l F
+GLIBC_2.18 jn F
+GLIBC_2.18 jnf F
+GLIBC_2.18 jnl F
+GLIBC_2.18 ldexp F
+GLIBC_2.18 ldexpf F
+GLIBC_2.18 ldexpl F
+GLIBC_2.18 lgamma F
+GLIBC_2.18 lgamma_r F
+GLIBC_2.18 lgammaf F
+GLIBC_2.18 lgammaf_r F
+GLIBC_2.18 lgammal F
+GLIBC_2.18 lgammal_r F
+GLIBC_2.18 llrint F
+GLIBC_2.18 llrintf F
+GLIBC_2.18 llrintl F
+GLIBC_2.18 llround F
+GLIBC_2.18 llroundf F
+GLIBC_2.18 llroundl F
+GLIBC_2.18 log F
+GLIBC_2.18 log10 F
+GLIBC_2.18 log10f F
+GLIBC_2.18 log10l F
+GLIBC_2.18 log1p F
+GLIBC_2.18 log1pf F
+GLIBC_2.18 log1pl F
+GLIBC_2.18 log2 F
+GLIBC_2.18 log2f F
+GLIBC_2.18 log2l F
+GLIBC_2.18 logb F
+GLIBC_2.18 logbf F
+GLIBC_2.18 logbl F
+GLIBC_2.18 logf F
+GLIBC_2.18 logl F
+GLIBC_2.18 lrint F
+GLIBC_2.18 lrintf F
+GLIBC_2.18 lrintl F
+GLIBC_2.18 lround F
+GLIBC_2.18 lroundf F
+GLIBC_2.18 lroundl F
+GLIBC_2.18 matherr F
+GLIBC_2.18 modf F
+GLIBC_2.18 modff F
+GLIBC_2.18 modfl F
+GLIBC_2.18 nan F
+GLIBC_2.18 nanf F
+GLIBC_2.18 nanl F
+GLIBC_2.18 nearbyint F
+GLIBC_2.18 nearbyintf F
+GLIBC_2.18 nearbyintl F
+GLIBC_2.18 nextafter F
+GLIBC_2.18 nextafterf F
+GLIBC_2.18 nextafterl F
+GLIBC_2.18 nexttoward F
+GLIBC_2.18 nexttowardf F
+GLIBC_2.18 nexttowardl F
+GLIBC_2.18 pow F
+GLIBC_2.18 pow10 F
+GLIBC_2.18 pow10f F
+GLIBC_2.18 pow10l F
+GLIBC_2.18 powf F
+GLIBC_2.18 powl F
+GLIBC_2.18 remainder F
+GLIBC_2.18 remainderf F
+GLIBC_2.18 remainderl F
+GLIBC_2.18 remquo F
+GLIBC_2.18 remquof F
+GLIBC_2.18 remquol F
+GLIBC_2.18 rint F
+GLIBC_2.18 rintf F
+GLIBC_2.18 rintl F
+GLIBC_2.18 round F
+GLIBC_2.18 roundf F
+GLIBC_2.18 roundl F
+GLIBC_2.18 scalb F
+GLIBC_2.18 scalbf F
+GLIBC_2.18 scalbl F
+GLIBC_2.18 scalbln F
+GLIBC_2.18 scalblnf F
+GLIBC_2.18 scalblnl F
+GLIBC_2.18 scalbn F
+GLIBC_2.18 scalbnf F
+GLIBC_2.18 scalbnl F
+GLIBC_2.18 signgam D 0x4
+GLIBC_2.18 significand F
+GLIBC_2.18 significandf F
+GLIBC_2.18 significandl F
+GLIBC_2.18 sin F
+GLIBC_2.18 sincos F
+GLIBC_2.18 sincosf F
+GLIBC_2.18 sincosl F
+GLIBC_2.18 sinf F
+GLIBC_2.18 sinh F
+GLIBC_2.18 sinhf F
+GLIBC_2.18 sinhl F
+GLIBC_2.18 sinl F
+GLIBC_2.18 sqrt F
+GLIBC_2.18 sqrtf F
+GLIBC_2.18 sqrtl F
+GLIBC_2.18 tan F
+GLIBC_2.18 tanf F
+GLIBC_2.18 tanh F
+GLIBC_2.18 tanhf F
+GLIBC_2.18 tanhl F
+GLIBC_2.18 tanl F
+GLIBC_2.18 tgamma F
+GLIBC_2.18 tgammaf F
+GLIBC_2.18 tgammal F
+GLIBC_2.18 trunc F
+GLIBC_2.18 truncf F
+GLIBC_2.18 truncl F
+GLIBC_2.18 y0 F
+GLIBC_2.18 y0f F
+GLIBC_2.18 y0l F
+GLIBC_2.18 y1 F
+GLIBC_2.18 y1f F
+GLIBC_2.18 y1l F
+GLIBC_2.18 yn F
+GLIBC_2.18 ynf F
+GLIBC_2.18 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 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libnsl.abilist
new file mode 100644
index 0000000000..959b74b90e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __free_fdresult F
+GLIBC_2.18 __nis_default_access F
+GLIBC_2.18 __nis_default_group F
+GLIBC_2.18 __nis_default_owner F
+GLIBC_2.18 __nis_default_ttl F
+GLIBC_2.18 __nis_finddirectory F
+GLIBC_2.18 __nis_hash F
+GLIBC_2.18 __nisbind_connect F
+GLIBC_2.18 __nisbind_create F
+GLIBC_2.18 __nisbind_destroy F
+GLIBC_2.18 __nisbind_next F
+GLIBC_2.18 __yp_check F
+GLIBC_2.18 nis_add F
+GLIBC_2.18 nis_add_entry F
+GLIBC_2.18 nis_addmember F
+GLIBC_2.18 nis_checkpoint F
+GLIBC_2.18 nis_clone_directory F
+GLIBC_2.18 nis_clone_object F
+GLIBC_2.18 nis_clone_result F
+GLIBC_2.18 nis_creategroup F
+GLIBC_2.18 nis_destroy_object F
+GLIBC_2.18 nis_destroygroup F
+GLIBC_2.18 nis_dir_cmp F
+GLIBC_2.18 nis_domain_of F
+GLIBC_2.18 nis_domain_of_r F
+GLIBC_2.18 nis_first_entry F
+GLIBC_2.18 nis_free_directory F
+GLIBC_2.18 nis_free_object F
+GLIBC_2.18 nis_free_request F
+GLIBC_2.18 nis_freenames F
+GLIBC_2.18 nis_freeresult F
+GLIBC_2.18 nis_freeservlist F
+GLIBC_2.18 nis_freetags F
+GLIBC_2.18 nis_getnames F
+GLIBC_2.18 nis_getservlist F
+GLIBC_2.18 nis_ismember F
+GLIBC_2.18 nis_leaf_of F
+GLIBC_2.18 nis_leaf_of_r F
+GLIBC_2.18 nis_lerror F
+GLIBC_2.18 nis_list F
+GLIBC_2.18 nis_local_directory F
+GLIBC_2.18 nis_local_group F
+GLIBC_2.18 nis_local_host F
+GLIBC_2.18 nis_local_principal F
+GLIBC_2.18 nis_lookup F
+GLIBC_2.18 nis_mkdir F
+GLIBC_2.18 nis_modify F
+GLIBC_2.18 nis_modify_entry F
+GLIBC_2.18 nis_name_of F
+GLIBC_2.18 nis_name_of_r F
+GLIBC_2.18 nis_next_entry F
+GLIBC_2.18 nis_perror F
+GLIBC_2.18 nis_ping F
+GLIBC_2.18 nis_print_directory F
+GLIBC_2.18 nis_print_entry F
+GLIBC_2.18 nis_print_group F
+GLIBC_2.18 nis_print_group_entry F
+GLIBC_2.18 nis_print_link F
+GLIBC_2.18 nis_print_object F
+GLIBC_2.18 nis_print_result F
+GLIBC_2.18 nis_print_rights F
+GLIBC_2.18 nis_print_table F
+GLIBC_2.18 nis_read_obj F
+GLIBC_2.18 nis_remove F
+GLIBC_2.18 nis_remove_entry F
+GLIBC_2.18 nis_removemember F
+GLIBC_2.18 nis_rmdir F
+GLIBC_2.18 nis_servstate F
+GLIBC_2.18 nis_sperrno F
+GLIBC_2.18 nis_sperror F
+GLIBC_2.18 nis_sperror_r F
+GLIBC_2.18 nis_stats F
+GLIBC_2.18 nis_verifygroup F
+GLIBC_2.18 nis_write_obj F
+GLIBC_2.18 readColdStartFile F
+GLIBC_2.18 writeColdStartFile F
+GLIBC_2.18 xdr_cback_data F
+GLIBC_2.18 xdr_domainname F
+GLIBC_2.18 xdr_keydat F
+GLIBC_2.18 xdr_mapname F
+GLIBC_2.18 xdr_obj_p F
+GLIBC_2.18 xdr_peername F
+GLIBC_2.18 xdr_valdat F
+GLIBC_2.18 xdr_yp_buf F
+GLIBC_2.18 xdr_ypall F
+GLIBC_2.18 xdr_ypbind_binding F
+GLIBC_2.18 xdr_ypbind_resp F
+GLIBC_2.18 xdr_ypbind_resptype F
+GLIBC_2.18 xdr_ypbind_setdom F
+GLIBC_2.18 xdr_ypdelete_args F
+GLIBC_2.18 xdr_ypmap_parms F
+GLIBC_2.18 xdr_ypmaplist F
+GLIBC_2.18 xdr_yppush_status F
+GLIBC_2.18 xdr_yppushresp_xfr F
+GLIBC_2.18 xdr_ypreq_key F
+GLIBC_2.18 xdr_ypreq_nokey F
+GLIBC_2.18 xdr_ypreq_xfr F
+GLIBC_2.18 xdr_ypresp_all F
+GLIBC_2.18 xdr_ypresp_key_val F
+GLIBC_2.18 xdr_ypresp_maplist F
+GLIBC_2.18 xdr_ypresp_master F
+GLIBC_2.18 xdr_ypresp_order F
+GLIBC_2.18 xdr_ypresp_val F
+GLIBC_2.18 xdr_ypresp_xfr F
+GLIBC_2.18 xdr_ypstat F
+GLIBC_2.18 xdr_ypupdate_args F
+GLIBC_2.18 xdr_ypxfrstat F
+GLIBC_2.18 yp_all F
+GLIBC_2.18 yp_bind F
+GLIBC_2.18 yp_first F
+GLIBC_2.18 yp_get_default_domain F
+GLIBC_2.18 yp_maplist F
+GLIBC_2.18 yp_master F
+GLIBC_2.18 yp_match F
+GLIBC_2.18 yp_next F
+GLIBC_2.18 yp_order F
+GLIBC_2.18 yp_unbind F
+GLIBC_2.18 yp_update F
+GLIBC_2.18 ypbinderr_string F
+GLIBC_2.18 yperr_string F
+GLIBC_2.18 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
new file mode 100644
index 0000000000..00d948b60a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
@@ -0,0 +1,225 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 _IO_flockfile F
+GLIBC_2.18 _IO_ftrylockfile F
+GLIBC_2.18 _IO_funlockfile F
+GLIBC_2.18 __close F
+GLIBC_2.18 __connect F
+GLIBC_2.18 __errno_location F
+GLIBC_2.18 __fcntl F
+GLIBC_2.18 __fork F
+GLIBC_2.18 __h_errno_location F
+GLIBC_2.18 __libc_allocate_rtsig F
+GLIBC_2.18 __libc_current_sigrtmax F
+GLIBC_2.18 __libc_current_sigrtmin F
+GLIBC_2.18 __lseek F
+GLIBC_2.18 __nanosleep F
+GLIBC_2.18 __open F
+GLIBC_2.18 __open64 F
+GLIBC_2.18 __pread64 F
+GLIBC_2.18 __pthread_cleanup_routine F
+GLIBC_2.18 __pthread_getspecific F
+GLIBC_2.18 __pthread_key_create F
+GLIBC_2.18 __pthread_mutex_destroy F
+GLIBC_2.18 __pthread_mutex_init F
+GLIBC_2.18 __pthread_mutex_lock F
+GLIBC_2.18 __pthread_mutex_trylock F
+GLIBC_2.18 __pthread_mutex_unlock F
+GLIBC_2.18 __pthread_mutexattr_destroy F
+GLIBC_2.18 __pthread_mutexattr_init F
+GLIBC_2.18 __pthread_mutexattr_settype F
+GLIBC_2.18 __pthread_once F
+GLIBC_2.18 __pthread_register_cancel F
+GLIBC_2.18 __pthread_register_cancel_defer F
+GLIBC_2.18 __pthread_rwlock_destroy F
+GLIBC_2.18 __pthread_rwlock_init F
+GLIBC_2.18 __pthread_rwlock_rdlock F
+GLIBC_2.18 __pthread_rwlock_tryrdlock F
+GLIBC_2.18 __pthread_rwlock_trywrlock F
+GLIBC_2.18 __pthread_rwlock_unlock F
+GLIBC_2.18 __pthread_rwlock_wrlock F
+GLIBC_2.18 __pthread_setspecific F
+GLIBC_2.18 __pthread_unregister_cancel F
+GLIBC_2.18 __pthread_unregister_cancel_restore F
+GLIBC_2.18 __pthread_unwind_next F
+GLIBC_2.18 __pwrite64 F
+GLIBC_2.18 __read F
+GLIBC_2.18 __res_state F
+GLIBC_2.18 __send F
+GLIBC_2.18 __sigaction F
+GLIBC_2.18 __vfork F
+GLIBC_2.18 __wait F
+GLIBC_2.18 __write F
+GLIBC_2.18 _pthread_cleanup_pop F
+GLIBC_2.18 _pthread_cleanup_pop_restore F
+GLIBC_2.18 _pthread_cleanup_push F
+GLIBC_2.18 _pthread_cleanup_push_defer F
+GLIBC_2.18 accept F
+GLIBC_2.18 close F
+GLIBC_2.18 connect F
+GLIBC_2.18 fcntl F
+GLIBC_2.18 flockfile F
+GLIBC_2.18 fork F
+GLIBC_2.18 fsync F
+GLIBC_2.18 ftrylockfile F
+GLIBC_2.18 funlockfile F
+GLIBC_2.18 longjmp F
+GLIBC_2.18 lseek F
+GLIBC_2.18 lseek64 F
+GLIBC_2.18 msync F
+GLIBC_2.18 nanosleep F
+GLIBC_2.18 open F
+GLIBC_2.18 open64 F
+GLIBC_2.18 pause F
+GLIBC_2.18 pread F
+GLIBC_2.18 pread64 F
+GLIBC_2.18 pthread_attr_destroy F
+GLIBC_2.18 pthread_attr_getaffinity_np F
+GLIBC_2.18 pthread_attr_getdetachstate F
+GLIBC_2.18 pthread_attr_getguardsize F
+GLIBC_2.18 pthread_attr_getinheritsched F
+GLIBC_2.18 pthread_attr_getschedparam F
+GLIBC_2.18 pthread_attr_getschedpolicy F
+GLIBC_2.18 pthread_attr_getscope F
+GLIBC_2.18 pthread_attr_getstack F
+GLIBC_2.18 pthread_attr_getstackaddr F
+GLIBC_2.18 pthread_attr_getstacksize F
+GLIBC_2.18 pthread_attr_init F
+GLIBC_2.18 pthread_attr_setaffinity_np F
+GLIBC_2.18 pthread_attr_setdetachstate F
+GLIBC_2.18 pthread_attr_setguardsize F
+GLIBC_2.18 pthread_attr_setinheritsched F
+GLIBC_2.18 pthread_attr_setschedparam F
+GLIBC_2.18 pthread_attr_setschedpolicy F
+GLIBC_2.18 pthread_attr_setscope F
+GLIBC_2.18 pthread_attr_setstack F
+GLIBC_2.18 pthread_attr_setstackaddr F
+GLIBC_2.18 pthread_attr_setstacksize F
+GLIBC_2.18 pthread_barrier_destroy F
+GLIBC_2.18 pthread_barrier_init F
+GLIBC_2.18 pthread_barrier_wait F
+GLIBC_2.18 pthread_barrierattr_destroy F
+GLIBC_2.18 pthread_barrierattr_getpshared F
+GLIBC_2.18 pthread_barrierattr_init F
+GLIBC_2.18 pthread_barrierattr_setpshared F
+GLIBC_2.18 pthread_cancel F
+GLIBC_2.18 pthread_cond_broadcast F
+GLIBC_2.18 pthread_cond_destroy F
+GLIBC_2.18 pthread_cond_init F
+GLIBC_2.18 pthread_cond_signal F
+GLIBC_2.18 pthread_cond_timedwait F
+GLIBC_2.18 pthread_cond_wait F
+GLIBC_2.18 pthread_condattr_destroy F
+GLIBC_2.18 pthread_condattr_getclock F
+GLIBC_2.18 pthread_condattr_getpshared F
+GLIBC_2.18 pthread_condattr_init F
+GLIBC_2.18 pthread_condattr_setclock F
+GLIBC_2.18 pthread_condattr_setpshared F
+GLIBC_2.18 pthread_create F
+GLIBC_2.18 pthread_detach F
+GLIBC_2.18 pthread_equal F
+GLIBC_2.18 pthread_exit F
+GLIBC_2.18 pthread_getaffinity_np F
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_getattr_np F
+GLIBC_2.18 pthread_getconcurrency F
+GLIBC_2.18 pthread_getcpuclockid F
+GLIBC_2.18 pthread_getname_np F
+GLIBC_2.18 pthread_getschedparam F
+GLIBC_2.18 pthread_getspecific F
+GLIBC_2.18 pthread_join F
+GLIBC_2.18 pthread_key_create F
+GLIBC_2.18 pthread_key_delete F
+GLIBC_2.18 pthread_kill F
+GLIBC_2.18 pthread_kill_other_threads_np F
+GLIBC_2.18 pthread_mutex_consistent F
+GLIBC_2.18 pthread_mutex_consistent_np F
+GLIBC_2.18 pthread_mutex_destroy F
+GLIBC_2.18 pthread_mutex_getprioceiling F
+GLIBC_2.18 pthread_mutex_init F
+GLIBC_2.18 pthread_mutex_lock F
+GLIBC_2.18 pthread_mutex_setprioceiling F
+GLIBC_2.18 pthread_mutex_timedlock F
+GLIBC_2.18 pthread_mutex_trylock F
+GLIBC_2.18 pthread_mutex_unlock F
+GLIBC_2.18 pthread_mutexattr_destroy F
+GLIBC_2.18 pthread_mutexattr_getkind_np F
+GLIBC_2.18 pthread_mutexattr_getprioceiling F
+GLIBC_2.18 pthread_mutexattr_getprotocol F
+GLIBC_2.18 pthread_mutexattr_getpshared F
+GLIBC_2.18 pthread_mutexattr_getrobust F
+GLIBC_2.18 pthread_mutexattr_getrobust_np F
+GLIBC_2.18 pthread_mutexattr_gettype F
+GLIBC_2.18 pthread_mutexattr_init F
+GLIBC_2.18 pthread_mutexattr_setkind_np F
+GLIBC_2.18 pthread_mutexattr_setprioceiling F
+GLIBC_2.18 pthread_mutexattr_setprotocol F
+GLIBC_2.18 pthread_mutexattr_setpshared F
+GLIBC_2.18 pthread_mutexattr_setrobust F
+GLIBC_2.18 pthread_mutexattr_setrobust_np F
+GLIBC_2.18 pthread_mutexattr_settype F
+GLIBC_2.18 pthread_once F
+GLIBC_2.18 pthread_rwlock_destroy F
+GLIBC_2.18 pthread_rwlock_init F
+GLIBC_2.18 pthread_rwlock_rdlock F
+GLIBC_2.18 pthread_rwlock_timedrdlock F
+GLIBC_2.18 pthread_rwlock_timedwrlock F
+GLIBC_2.18 pthread_rwlock_tryrdlock F
+GLIBC_2.18 pthread_rwlock_trywrlock F
+GLIBC_2.18 pthread_rwlock_unlock F
+GLIBC_2.18 pthread_rwlock_wrlock F
+GLIBC_2.18 pthread_rwlockattr_destroy F
+GLIBC_2.18 pthread_rwlockattr_getkind_np F
+GLIBC_2.18 pthread_rwlockattr_getpshared F
+GLIBC_2.18 pthread_rwlockattr_init F
+GLIBC_2.18 pthread_rwlockattr_setkind_np F
+GLIBC_2.18 pthread_rwlockattr_setpshared F
+GLIBC_2.18 pthread_self F
+GLIBC_2.18 pthread_setaffinity_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.18 pthread_setcancelstate F
+GLIBC_2.18 pthread_setcanceltype F
+GLIBC_2.18 pthread_setconcurrency F
+GLIBC_2.18 pthread_setname_np F
+GLIBC_2.18 pthread_setschedparam F
+GLIBC_2.18 pthread_setschedprio F
+GLIBC_2.18 pthread_setspecific F
+GLIBC_2.18 pthread_sigmask F
+GLIBC_2.18 pthread_sigqueue F
+GLIBC_2.18 pthread_spin_destroy F
+GLIBC_2.18 pthread_spin_init F
+GLIBC_2.18 pthread_spin_lock F
+GLIBC_2.18 pthread_spin_trylock F
+GLIBC_2.18 pthread_spin_unlock F
+GLIBC_2.18 pthread_testcancel F
+GLIBC_2.18 pthread_timedjoin_np F
+GLIBC_2.18 pthread_tryjoin_np F
+GLIBC_2.18 pthread_yield F
+GLIBC_2.18 pwrite F
+GLIBC_2.18 pwrite64 F
+GLIBC_2.18 raise F
+GLIBC_2.18 read F
+GLIBC_2.18 recv F
+GLIBC_2.18 recvfrom F
+GLIBC_2.18 recvmsg F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_destroy F
+GLIBC_2.18 sem_getvalue F
+GLIBC_2.18 sem_init F
+GLIBC_2.18 sem_open F
+GLIBC_2.18 sem_post F
+GLIBC_2.18 sem_timedwait F
+GLIBC_2.18 sem_trywait F
+GLIBC_2.18 sem_unlink F
+GLIBC_2.18 sem_wait F
+GLIBC_2.18 send F
+GLIBC_2.18 sendmsg F
+GLIBC_2.18 sendto F
+GLIBC_2.18 sigaction F
+GLIBC_2.18 siglongjmp F
+GLIBC_2.18 sigwait F
+GLIBC_2.18 system F
+GLIBC_2.18 tcdrain F
+GLIBC_2.18 vfork F
+GLIBC_2.18 wait F
+GLIBC_2.18 waitpid F
+GLIBC_2.18 write F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libresolv.abilist
new file mode 100644
index 0000000000..765bc12438
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __b64_ntop F
+GLIBC_2.18 __b64_pton F
+GLIBC_2.18 __dn_comp F
+GLIBC_2.18 __dn_count_labels F
+GLIBC_2.18 __dn_expand F
+GLIBC_2.18 __dn_skipname F
+GLIBC_2.18 __fp_nquery F
+GLIBC_2.18 __fp_query F
+GLIBC_2.18 __fp_resstat F
+GLIBC_2.18 __hostalias F
+GLIBC_2.18 __loc_aton F
+GLIBC_2.18 __loc_ntoa F
+GLIBC_2.18 __p_cdname F
+GLIBC_2.18 __p_cdnname F
+GLIBC_2.18 __p_class F
+GLIBC_2.18 __p_class_syms D 0x54
+GLIBC_2.18 __p_fqname F
+GLIBC_2.18 __p_fqnname F
+GLIBC_2.18 __p_option F
+GLIBC_2.18 __p_query F
+GLIBC_2.18 __p_rcode F
+GLIBC_2.18 __p_secstodate F
+GLIBC_2.18 __p_time F
+GLIBC_2.18 __p_type F
+GLIBC_2.18 __p_type_syms D 0x228
+GLIBC_2.18 __putlong F
+GLIBC_2.18 __putshort F
+GLIBC_2.18 __res_close F
+GLIBC_2.18 __res_dnok F
+GLIBC_2.18 __res_hnok F
+GLIBC_2.18 __res_hostalias F
+GLIBC_2.18 __res_isourserver F
+GLIBC_2.18 __res_mailok F
+GLIBC_2.18 __res_mkquery F
+GLIBC_2.18 __res_nameinquery F
+GLIBC_2.18 __res_nmkquery F
+GLIBC_2.18 __res_nquery F
+GLIBC_2.18 __res_nquerydomain F
+GLIBC_2.18 __res_nsearch F
+GLIBC_2.18 __res_nsend F
+GLIBC_2.18 __res_ownok F
+GLIBC_2.18 __res_queriesmatch F
+GLIBC_2.18 __res_query F
+GLIBC_2.18 __res_querydomain F
+GLIBC_2.18 __res_search F
+GLIBC_2.18 __res_send F
+GLIBC_2.18 __sym_ntop F
+GLIBC_2.18 __sym_ntos F
+GLIBC_2.18 __sym_ston F
+GLIBC_2.18 _gethtbyaddr F
+GLIBC_2.18 _gethtbyname F
+GLIBC_2.18 _gethtbyname2 F
+GLIBC_2.18 _gethtent F
+GLIBC_2.18 _getlong F
+GLIBC_2.18 _getshort F
+GLIBC_2.18 _res_opcodes D 0x40
+GLIBC_2.18 _sethtent F
+GLIBC_2.18 inet_net_ntop F
+GLIBC_2.18 inet_net_pton F
+GLIBC_2.18 inet_neta F
+GLIBC_2.18 ns_datetosecs F
+GLIBC_2.18 ns_format_ttl F
+GLIBC_2.18 ns_get16 F
+GLIBC_2.18 ns_get32 F
+GLIBC_2.18 ns_initparse F
+GLIBC_2.18 ns_makecanon F
+GLIBC_2.18 ns_msg_getflag F
+GLIBC_2.18 ns_name_compress F
+GLIBC_2.18 ns_name_ntol F
+GLIBC_2.18 ns_name_ntop F
+GLIBC_2.18 ns_name_pack F
+GLIBC_2.18 ns_name_pton F
+GLIBC_2.18 ns_name_rollback F
+GLIBC_2.18 ns_name_skip F
+GLIBC_2.18 ns_name_uncompress F
+GLIBC_2.18 ns_name_unpack F
+GLIBC_2.18 ns_parse_ttl F
+GLIBC_2.18 ns_parserr F
+GLIBC_2.18 ns_put16 F
+GLIBC_2.18 ns_put32 F
+GLIBC_2.18 ns_samedomain F
+GLIBC_2.18 ns_samename F
+GLIBC_2.18 ns_skiprr F
+GLIBC_2.18 ns_sprintrr F
+GLIBC_2.18 ns_sprintrrf F
+GLIBC_2.18 ns_subdomain F
+GLIBC_2.18 res_gethostbyaddr F
+GLIBC_2.18 res_gethostbyname F
+GLIBC_2.18 res_gethostbyname2 F
+GLIBC_2.18 res_send_setqhook F
+GLIBC_2.18 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/librt.abilist
new file mode 100644
index 0000000000..9f6ecb0770
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/librt.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __mq_open_2 F
+GLIBC_2.18 aio_cancel F
+GLIBC_2.18 aio_cancel64 F
+GLIBC_2.18 aio_error F
+GLIBC_2.18 aio_error64 F
+GLIBC_2.18 aio_fsync F
+GLIBC_2.18 aio_fsync64 F
+GLIBC_2.18 aio_init F
+GLIBC_2.18 aio_read F
+GLIBC_2.18 aio_read64 F
+GLIBC_2.18 aio_return F
+GLIBC_2.18 aio_return64 F
+GLIBC_2.18 aio_suspend F
+GLIBC_2.18 aio_suspend64 F
+GLIBC_2.18 aio_write F
+GLIBC_2.18 aio_write64 F
+GLIBC_2.18 clock_getcpuclockid F
+GLIBC_2.18 clock_getres F
+GLIBC_2.18 clock_gettime F
+GLIBC_2.18 clock_nanosleep F
+GLIBC_2.18 clock_settime F
+GLIBC_2.18 lio_listio F
+GLIBC_2.18 lio_listio64 F
+GLIBC_2.18 mq_close F
+GLIBC_2.18 mq_getattr F
+GLIBC_2.18 mq_notify F
+GLIBC_2.18 mq_open F
+GLIBC_2.18 mq_receive F
+GLIBC_2.18 mq_send F
+GLIBC_2.18 mq_setattr F
+GLIBC_2.18 mq_timedreceive F
+GLIBC_2.18 mq_timedsend F
+GLIBC_2.18 mq_unlink F
+GLIBC_2.18 shm_open F
+GLIBC_2.18 shm_unlink F
+GLIBC_2.18 timer_create F
+GLIBC_2.18 timer_delete F
+GLIBC_2.18 timer_getoverrun F
+GLIBC_2.18 timer_gettime F
+GLIBC_2.18 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist
new file mode 100644
index 0000000000..6387ad13a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 td_init F
+GLIBC_2.18 td_log F
+GLIBC_2.18 td_symbol_list F
+GLIBC_2.18 td_ta_clear_event F
+GLIBC_2.18 td_ta_delete F
+GLIBC_2.18 td_ta_enable_stats F
+GLIBC_2.18 td_ta_event_addr F
+GLIBC_2.18 td_ta_event_getmsg F
+GLIBC_2.18 td_ta_get_nthreads F
+GLIBC_2.18 td_ta_get_ph F
+GLIBC_2.18 td_ta_get_stats F
+GLIBC_2.18 td_ta_map_id2thr F
+GLIBC_2.18 td_ta_map_lwp2thr F
+GLIBC_2.18 td_ta_new F
+GLIBC_2.18 td_ta_reset_stats F
+GLIBC_2.18 td_ta_set_event F
+GLIBC_2.18 td_ta_setconcurrency F
+GLIBC_2.18 td_ta_thr_iter F
+GLIBC_2.18 td_ta_tsd_iter F
+GLIBC_2.18 td_thr_clear_event F
+GLIBC_2.18 td_thr_dbresume F
+GLIBC_2.18 td_thr_dbsuspend F
+GLIBC_2.18 td_thr_event_enable F
+GLIBC_2.18 td_thr_event_getmsg F
+GLIBC_2.18 td_thr_get_info F
+GLIBC_2.18 td_thr_getfpregs F
+GLIBC_2.18 td_thr_getgregs F
+GLIBC_2.18 td_thr_getxregs F
+GLIBC_2.18 td_thr_getxregsize F
+GLIBC_2.18 td_thr_set_event F
+GLIBC_2.18 td_thr_setfpregs F
+GLIBC_2.18 td_thr_setgregs F
+GLIBC_2.18 td_thr_setprio F
+GLIBC_2.18 td_thr_setsigpending F
+GLIBC_2.18 td_thr_setxregs F
+GLIBC_2.18 td_thr_sigsetmask F
+GLIBC_2.18 td_thr_tls_get_addr F
+GLIBC_2.18 td_thr_tlsbase F
+GLIBC_2.18 td_thr_tsd F
+GLIBC_2.18 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libutil.abilist
new file mode 100644
index 0000000000..af2c3048cc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 forkpty F
+GLIBC_2.18 login F
+GLIBC_2.18 login_tty F
+GLIBC_2.18 logout F
+GLIBC_2.18 logwtmp F
+GLIBC_2.18 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/localplt.data
new file mode 100644
index 0000000000..ca476bedd8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/localplt.data
@@ -0,0 +1,18 @@
+libc.so: __errno_location
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: matherr
+# The dynamic loader needs __tls_get_addr for TLS.
+ld.so: __tls_get_addr ?
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error
+ld.so: _dl_catch_error
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/lxstat.c
new file mode 100644
index 0000000000..0efa0aea49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/lxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/profil-counter.h
new file mode 100644
index 0000000000..8a6a0bcf3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/profil-counter.h
@@ -0,0 +1,2 @@
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
new file mode 100644
index 0000000000..f201f0429f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
@@ -0,0 +1,49 @@
+/* vfork ABI-compatibility entry points for libpthread.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.
+
+   As of GCC 7, microblaze can *not* rely on the compiler to generate
+   a tail call from this vfork to __libc_vfork.  */
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+       || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+ENTRY (vfork_compat)
+	bri	__libc_vfork
+END (vfork_compat)
+
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+compat_symbol (libpthread, vfork_compat, vfork, GLIBC_2_0)
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (vfork_compat, vfork_compat2)
+compat_symbol (libpthread, vfork_compat2, __vfork, GLIBC_2_1_2)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/shlib-versions
new file mode 100644
index 0000000000..eaf37a118e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/shlib-versions
@@ -0,0 +1 @@
+DEFAULT			GLIBC_2.18
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
new file mode 100644
index 0000000000..071ca9475e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SIGCONTEXT int _code, struct ucontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)    ((void *) (ctx)->uc_mcontext.regs.pc)
+#define GET_FRAME(ctx) ((void *) (ctx)->uc_mcontext.regs.sp)
+#define GET_STACK(ctx) ((void *) (ctx)->uc_mcontext.regs.sp)
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h
new file mode 100644
index 0000000000..dba6adb44a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/procfs.h
@@ -0,0 +1,123 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   user_regs_struct' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_fpregs_struct elf_fpregset_t;
+
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing.  */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/user.h
new file mode 100644
index 0000000000..94faf45191
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sys/user.h
@@ -0,0 +1,69 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+# define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct user_fpregs_struct
+{
+  long int cwd;
+  long int swd;
+  long int twd;
+  long int fip;
+  long int fcs;
+  long int foo;
+  long int fos;
+  long int st_space [20];
+};
+
+struct user_regs_struct
+{
+  unsigned int gpr[32];
+  unsigned int pc;
+  unsigned int msr;
+  unsigned int ear;
+  unsigned int esr;
+  unsigned int fsr;
+  unsigned int btr;
+  unsigned int pvr[12];
+};
+
+struct user
+{
+  struct user_regs_struct	regs;
+  int				u_fpvalid;
+  struct user_fpregs_struct	elf_fpregset_t;
+  unsigned long int		u_tsize;
+  unsigned long int		u_dsize;
+  unsigned long int		u_ssize;
+  unsigned long			start_code;
+  unsigned long			start_stack;
+  long int			signal;
+  int				reserved;
+  struct user_regs_struct*	u_ar0;
+  struct user_fpregs_struct*	u_fpstate;
+  unsigned long int		magic;
+  char				u_comm [32];
+  int				u_debugreg [8];
+};
+
+#endif	/* _SYS_USER_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscall.S
new file mode 100644
index 0000000000..ca7b366cc2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscall.S
@@ -0,0 +1,37 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+ENTRY (syscall)
+	addk	r12,r0,r5
+	addk	r5,r0,r6
+	addk	r6,r0,r7
+	addk	r7,r0,r8
+	addk	r8,r0,r9
+	addk	r9,r0,r10
+	lwi	r10,r1,28
+	brki	r14,8
+	addk	r0,r0,r0
+	addik	r4,r0,-4095
+	cmpu	r4,r4,r3
+	bgei	r4,SYSCALL_ERROR_LABEL
+	rtsd	r15,8
+	nop
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscalls.list
new file mode 100644
index 0000000000..932c9cccc8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/syscalls.list
@@ -0,0 +1,7 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+cacheflush	EXTRA	cacheflush	i:iiii	__cacheflush	cacheflush
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
new file mode 100644
index 0000000000..dbcc2b2832
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
@@ -0,0 +1,158 @@
+/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# if !IS_IN (librt) || !defined(PIC)
+#  define AC_STACK_SIZE  16  /* space for r15, async_cancel arg and 2 temp words */
+#  define AC_SET_GOT /* empty */
+#  define AC_RESTORE_GOT /* empty */
+# else
+#  define AC_STACK_SIZE  20  /* extra 4 bytes for r20 */
+#  define AC_SET_GOT                                                 \
+    swi   r20, r1, AC_STACK_SIZE-4;                                  \
+    mfs   r20, rpc;                                                  \
+    addik r20, r20, _GLOBAL_OFFSET_TABLE_+8;
+#  define AC_RESTORE_GOT                                             \
+    lwi   r20, r1, AC_STACK_SIZE-4;
+# endif
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)                            \
+  .text;                                                             \
+  ENTRY (name)                                                       \
+    SINGLE_THREAD_P(r12);                                            \
+    bnei r12, L(pseudo_cancel);                                      \
+  .globl __##syscall_name##_nocancel;                                \
+  .type __##syscall_name##_nocancel,@function;                       \
+__##syscall_name##_nocancel:                                         \
+    DO_CALL (syscall_name, args);                                    \
+    addik r4, r0, -4095;                                             \
+    cmpu  r4, r4, r3;                                                \
+    bgei  r4, SYSCALL_ERROR_LABEL;                                   \
+    rtsd  r15, 8;                                                    \
+    nop;                                                             \
+  .size __##syscall_name##_nocancel, .-__##syscall_name##_nocancel;  \
+L(pseudo_cancel):                                                    \
+    addik r1, r1, -AC_STACK_SIZE;                                    \
+    swi   r15, r1, 0;                                                \
+    AC_SET_GOT                                                       \
+    DOCARGS_##args                                                   \
+    CENABLE;                                                         \
+    swi   r3, r1, 8;                                                 \
+    UNDOCARGS_##args                                                 \
+    DO_CALL (syscall_name, args);                                    \
+    swi   r3, r1, 12;                                                \
+    lwi   r5, r1, 8;                                                 \
+    CDISABLE;                                                        \
+    lwi   r3, r1, 12;                                                \
+    lwi   r15, r1, 0;                                                \
+    AC_RESTORE_GOT                                                   \
+    addik r1, r1, AC_STACK_SIZE;                                     \
+    addik r4, r0, -4095;                                             \
+    cmpu  r4, r4, r3;                                                \
+    bgei  r4, SYSCALL_ERROR_LABEL;                                   \
+    rtsd  r15, 8;                                                    \
+    nop;
+
+/*
+ * Macros to save/restore syscall arguments across CENABLE
+ * The arguments are saved into the caller's stack (original r1 + 4)
+ */
+
+# define DOCARGS_0
+# define DOCARGS_1  swi   r5, r1, AC_STACK_SIZE + 4;
+# define DOCARGS_2  swi   r6, r1, AC_STACK_SIZE + 8; DOCARGS_1
+# define DOCARGS_3  swi   r7, r1, AC_STACK_SIZE + 12; DOCARGS_2
+# define DOCARGS_4  swi   r8, r1, AC_STACK_SIZE + 16; DOCARGS_3
+# define DOCARGS_5  swi   r9, r1, AC_STACK_SIZE + 20; DOCARGS_4
+# define DOCARGS_6  swi   r10, r1, AC_STACK_SIZE + 24; DOCARGS_5
+
+# define UNDOCARGS_0
+# define UNDOCARGS_1  lwi   r5, r1, AC_STACK_SIZE + 4;
+# define UNDOCARGS_2  UNDOCARGS_1 lwi   r6, r1, AC_STACK_SIZE + 8;
+# define UNDOCARGS_3  UNDOCARGS_2 lwi   r7, r1, AC_STACK_SIZE + 12;
+# define UNDOCARGS_4  UNDOCARGS_3 lwi   r8, r1, AC_STACK_SIZE + 16;
+# define UNDOCARGS_5  UNDOCARGS_4 lwi   r9, r1, AC_STACK_SIZE + 20;
+# define UNDOCARGS_6  UNDOCARGS_5 lwi   r10, r1, AC_STACK_SIZE + 24;
+
+# ifdef PIC
+#  define PSEUDO_JMP(sym)  brlid r15, sym##@PLTPC; addk r0, r0, r0
+# else
+#  define PSEUDO_JMP(sym)  brlid r15, sym; addk r0, r0, r0
+# endif
+
+# if IS_IN (libpthread)
+#  define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__pthread_disable_asynccancel)
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE PSEUDO_JMP (__libc_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__libc_disable_asynccancel)
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE PSEUDO_JMP (__librt_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__librt_disable_asynccancel)
+# else
+#  error Unsupported library
+# endif
+
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   if !defined PIC
+#    define SINGLE_THREAD_P(reg) lwi reg, r0, __local_multiple_threads;
+#   else
+#    define SINGLE_THREAD_P(reg)                                     \
+      mfs   reg, rpc;                                                \
+      addik reg, reg, _GLOBAL_OFFSET_TABLE_+8;                       \
+      lwi   reg, reg, __local_multiple_threads@GOT;                  \
+      lwi   reg, reg, 0;
+#   endif
+#  endif
+# else
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P                                           \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,                      \
+                                   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(reg)                                      \
+     lwi reg, r0, MULTIPLE_THREADS_OFFSET(reg)
+#  endif
+# 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/microblaze/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.S
new file mode 100644
index 0000000000..251f493b5d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.S
@@ -0,0 +1,39 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+
+/* The following code is only used in the shared library when we
+   compile the reentrant version.  Otherwise each system call defines
+   each own version.  */
+
+#ifndef	PIC
+
+/* The syscall stubs jump here when they detect an error.  */
+
+# undef CALL_MCOUNT
+# define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %d0.  */
+
+	.text
+ENTRY (__syscall_error)
+	rsubk	r3,r3,r0
+	rtsd	r15,8
+	addik	r3,r0,-1	/* delay slot.  */
+END (__syscall_error)
+#endif /* PIC.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.h
new file mode 100644
index 0000000000..1fbbc55de1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/sysdep.h
@@ -0,0 +1,313 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_MICROBLAZE_SYSDEP_H
+#define _LINUX_MICROBLAZE_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/microblaze/sysdep.h>
+
+/* Defines RTLD_PRIVATE_ERRNO.  */
+#include <dl-sysdep.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+# include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+    /usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)   __NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* In microblaze ABI function call arguments are passed in registers
+   r5...r10. The return value is stored in r3 (or r3:r4 regiters pair).
+   Linux syscall uses the same convention with the addition that the
+   syscall number is passed in r12. To enter the kernel "brki r14,8"
+   instruction is used.
+   None of the abovementioned registers are presumed across function call
+   or syscall.
+*/
+/* Linux uses a negative return value to indicate syscall errors, unlike
+   most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be negative
+   even if the call succeeded.  E.g., the `lseek' system call might return
+   a large offset.  Therefore we must not anymore test for < 0, but test
+   for a real error by making sure the value in %d0 is a real error
+   number.  Linus said he will make sure the no syscall returns a value
+   in -1 .. -4095 as a valid result so we can savely test with -4095.  */
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+# ifdef PIC
+#  define SYSCALL_ERROR_LABEL 0f
+# else
+#  define SYSCALL_ERROR_LABEL __syscall_error
+# endif
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)           \
+  .text;                                            \
+  ENTRY (name)                                      \
+    DO_CALL (syscall_name, args);                   \
+    addik r12,r0,-4095;                             \
+    cmpu  r12,r12,r3;                               \
+    bgei  r12,SYSCALL_ERROR_LABEL;
+
+# undef PSEUDO_END
+# define PSEUDO_END(name)                           \
+  SYSCALL_ERROR_HANDLER;                            \
+  END (name)
+
+# undef PSEUDO_NOERRNO
+# define PSEUDO_NOERRNO(name, syscall_name, args)   \
+  .text;                                            \
+  ENTRY (name)                                      \
+    DO_CALL (syscall_name, args);
+
+# undef PSEUDO_END_NOERRNO
+# define PSEUDO_END_NOERRNO(name)                   \
+  END (name)
+
+/* The function has to return the error code.  */
+# undef  PSEUDO_ERRVAL
+# define PSEUDO_ERRVAL(name, syscall_name, args)    \
+  .text;                                            \
+  ENTRY (name)                                      \
+    DO_CALL (syscall_name, args);                   \
+
+# undef  PSEUDO_END_ERRVAL
+# define PSEUDO_END_ERRVAL(name)                    \
+  END (name)
+
+# define ret_NOERRNO                                \
+  rtsd r15,8; addk r0,r0,r0;
+
+# define ret_ERRVAL                                 \
+  rtsd r15,8; rsubk r3,r3,r0;
+
+# ifdef PIC
+#  define SYSCALL_ERROR_LABEL_DCL 0
+#  if RTLD_PRIVATE_ERRNO
+#   define SYSCALL_ERROR_HANDLER                    \
+SYSCALL_ERROR_LABEL_DCL:                            \
+    mfs   r12,rpc;                                  \
+    addik r12,r12,_GLOBAL_OFFSET_TABLE_+8;          \
+    lwi   r12,r12,rtld_errno@GOT;                   \
+    rsubk r3,r3,r0;                                 \
+    swi   r3,r12,0;                                 \
+    rtsd  r15,8;                                    \
+    addik r3,r0,-1;
+#  else /* !RTLD_PRIVATE_ERRNO.  */
+/* Store (-r3) into errno through the GOT.  */
+#   if defined _LIBC_REENTRANT
+#    define SYSCALL_ERROR_HANDLER                   \
+SYSCALL_ERROR_LABEL_DCL:                            \
+    addik r1,r1,-16;                                \
+    swi   r15,r1,0;                                 \
+    swi   r20,r1,8;                                 \
+    rsubk r3,r3,r0;                                 \
+    swi   r3,r1,12;                                 \
+    mfs   r20,rpc;                                  \
+    addik r20,r20,_GLOBAL_OFFSET_TABLE_+8;          \
+    brlid r15,__errno_location@PLT;                 \
+    nop;                                            \
+    lwi   r4,r1,12;                                 \
+    swi   r4,r3,0;                                  \
+    lwi   r20,r1,8;                                 \
+    lwi   r15,r1,0;                                 \
+    addik r1,r1,16;                                 \
+    rtsd  r15,8;                                    \
+    addik r3,r0,-1;
+#   else /* !_LIBC_REENTRANT.  */
+#    define SYSCALL_ERROR_HANDLER                   \
+SYSCALL_ERROR_LABEL_DCL:                            \
+    mfs   r12,rpc;                                  \
+    addik r12,r12,_GLOBAL_OFFSET_TABLE_+8;          \
+    lwi   r12,r12,errno@GOT;                        \
+    rsubk r3,r3,r0;                                 \
+    swi   r3,r12,0;                                 \
+    rtsd  r15,8;                                    \
+    addik r3,r0,-1;
+#    endif /* _LIBC_REENTRANT.  */
+# endif /* RTLD_PRIVATE_ERRNO.  */
+# else
+#  define SYSCALL_ERROR_HANDLER  /* Nothing here; code in sysdep.S is used.  */
+# endif /* PIC.  */
+
+# define DO_CALL(syscall_name, args)                \
+    addik r12,r0,SYS_ify (syscall_name);            \
+    brki  r14,8;                                    \
+    addk  r0,r0,r0;
+
+#else /* not __ASSEMBLER__ */
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)                           \
+({  INTERNAL_SYSCALL_DECL(err);                                      \
+    unsigned long resultvar = INTERNAL_SYSCALL(name, err, nr, args); \
+    if (INTERNAL_SYSCALL_ERROR_P (resultvar, err))                   \
+       {                                                             \
+        __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err));       \
+        resultvar = (unsigned long) -1;                              \
+       }                                                             \
+    (long) resultvar;                                                \
+})
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  This use is for internal calls that do not need to handle errors
+   normally.  It will never touch errno.  This returns just what the kernel
+   gave back.  */
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL(name, err, nr, args...)                    \
+  inline_syscall##nr(SYS_ify(name), args)
+
+# undef INTERNAL_SYSCALL_NCS
+# define INTERNAL_SYSCALL_NCS(name, err, nr, args...)                \
+  inline_syscall##nr(name, args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err)                          \
+  ((unsigned int) (val) >= -4095U)
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)    (-(val))
+
+# define SYSCALL_CLOBBERS_6 "r11", "r4", "memory"
+# define SYSCALL_CLOBBERS_5 "r10", SYSCALL_CLOBBERS_6
+# define SYSCALL_CLOBBERS_4 "r9", SYSCALL_CLOBBERS_5
+# define SYSCALL_CLOBBERS_3 "r8", SYSCALL_CLOBBERS_4
+# define SYSCALL_CLOBBERS_2 "r7", SYSCALL_CLOBBERS_3
+# define SYSCALL_CLOBBERS_1 "r6", SYSCALL_CLOBBERS_2
+# define SYSCALL_CLOBBERS_0 "r5", SYSCALL_CLOBBERS_1
+
+# define inline_syscall0(name,dummy)                                          \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r12)                                                            \
+      : SYSCALL_CLOBBERS_0 ); __ret;                                          \
+  })
+
+# define inline_syscall1(name,arg1)                                           \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r12)                                                 \
+      : SYSCALL_CLOBBERS_1 ); __ret;                                          \
+  })
+
+# define inline_syscall2(name,arg1,arg2)                                      \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    register long __r6 __asm__("r6") = (long)(arg2);                          \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r6), "r"(__r12)                                      \
+      : SYSCALL_CLOBBERS_2 ); __ret;                                          \
+  })
+
+
+# define inline_syscall3(name,arg1,arg2,arg3)                                 \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    register long __r6 __asm__("r6") = (long)(arg2);                          \
+    register long __r7 __asm__("r7") = (long)(arg3);                          \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r12)                           \
+      : SYSCALL_CLOBBERS_3 ); __ret;                                          \
+  })
+
+
+# define inline_syscall4(name,arg1,arg2,arg3,arg4)                            \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    register long __r6 __asm__("r6") = (long)(arg2);                          \
+    register long __r7 __asm__("r7") = (long)(arg3);                          \
+    register long __r8 __asm__("r8") = (long)(arg4);                          \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r12)                 \
+      : SYSCALL_CLOBBERS_4 ); __ret;                                          \
+  })
+
+
+# define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5)                       \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    register long __r6 __asm__("r6") = (long)(arg2);                          \
+    register long __r7 __asm__("r7") = (long)(arg3);                          \
+    register long __r8 __asm__("r8") = (long)(arg4);                          \
+    register long __r9 __asm__("r9") = (long)(arg5);                          \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r9), "r"(__r12)      \
+      : SYSCALL_CLOBBERS_5 ); __ret;                                          \
+  })
+
+
+# define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6)                  \
+  ({                                                                          \
+    register long __ret __asm__("r3");                                        \
+    register long __r12 __asm__("r12") = name;                                \
+    register long __r5 __asm__("r5") = (long)(arg1);                          \
+    register long __r6 __asm__("r6") = (long)(arg2);                          \
+    register long __r7 __asm__("r7") = (long)(arg3);                          \
+    register long __r8 __asm__("r8") = (long)(arg4);                          \
+    register long __r9 __asm__("r9") = (long)(arg5);                          \
+    register long __r10 __asm__("r10") = (long)(arg6);                        \
+    __asm__ __volatile__( "brki r14,8; nop;"                                  \
+      : "=r"(__ret)                                                           \
+      : "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r9), "r"(__r10),     \
+      "r"(__r12)                                                              \
+      : SYSCALL_CLOBBERS_6 ); __ret;                                          \
+  })
+
+
+/* Pointer mangling is not yet supported for Microblaze.  */
+# define PTR_MANGLE(var) (void) (var)
+# define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* not __ASSEMBLER__ */
+
+#endif /* _LINUX_MICROBLAZE_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/vfork.S
new file mode 100644
index 0000000000..f1e4508d20
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/vfork.S
@@ -0,0 +1,46 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+#ifdef __NR_vfork
+	DO_CALL (vfork, 0)
+#else
+	DO_CALL (fork, 0)
+#endif
+	addik	r12,r0,-4095
+	cmpu	r12,r12,r3
+	bgei	r12,SYSCALL_ERROR_LABEL
+	rtsd	r15,8
+	nop
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/microblaze/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Implies
new file mode 100644
index 0000000000..656fa77b63
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Implies
@@ -0,0 +1 @@
+mips/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Makefile
new file mode 100644
index 0000000000..bca11d39e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Makefile
@@ -0,0 +1,112 @@
+ifeq ($(subdir),signal)
+#sysdep_routines += sigsuspend
+endif
+
+ifeq ($(subdir),misc)
+sysdep_routines += cachectl cacheflush sysmips _test_and_set
+
+sysdep_headers += sys/cachectl.h sys/sysmips.h sys/tas.h
+endif
+
+abi-variants := o32_soft o32_hard o32_soft_2008 o32_hard_2008
+abi-variants += n32_soft n32_hard n32_soft_2008 n32_hard_2008
+abi-variants += n64_soft n64_hard n64_soft_2008 n64_hard_2008
+
+ifeq (,$(filter $(default-abi),$(abi-variants)))
+Unknown ABI, must be one of $(abi-variants)
+endif
+
+abi-includes := sgidefs.h
+
+# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_NABI32 == 2, _MIPS_SIM_ABI64 == 3
+abi-o32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+			-D__mips_soft_float -U__mips_hard_float \
+			-U__mips_nan2008
+abi-o32_soft-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_soft_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+			-D__mips_hard_float -U__mips_soft_float \
+			-U__mips_nan2008
+abi-o32_hard-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_hard_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+			     -D__mips_soft_float -U__mips_hard_float \
+			     -D__mips_nan2008
+abi-o32_soft_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_soft_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+			     -D__mips_hard_float -U__mips_soft_float \
+			     -D__mips_nan2008
+abi-o32_hard_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_hard_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-n32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+			-D__mips_soft_float -U__mips_hard_float \
+			-U__mips_nan2008
+abi-n32_soft-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_soft_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+			-D__mips_hard_float -U__mips_soft_float \
+			-U__mips_nan2008
+abi-n32_hard-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_hard_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+			     -D__mips_soft_float -U__mips_hard_float \
+			     -D__mips_nan2008
+abi-n32_soft_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_soft_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+			     -D__mips_hard_float -U__mips_soft_float \
+			     -D__mips_nan2008
+abi-n32_hard_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_hard_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n64_soft-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+			-D__mips_soft_float -U__mips_hard_float \
+			-U__mips_nan2008
+abi-n64_soft-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_soft_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_hard-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+			-D__mips_hard_float -U__mips_soft_float \
+			-U__mips_nan2008
+abi-n64_hard-condition := !defined(__mips_nan2008) \
+			  && defined(__mips_hard_float) \
+			  && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+			     -D__mips_soft_float -U__mips_hard_float \
+			     -D__mips_nan2008
+abi-n64_soft_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_soft_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+			     -D__mips_hard_float -U__mips_soft_float \
+			     -D__mips_nan2008
+abi-n64_hard_2008-condition := defined(__mips_nan2008) \
+			       && defined(__mips_hard_float) \
+			       && (_MIPS_SIM == _MIPS_SIM_ABI64)
+
+ifeq ($(subdir),elf)
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
+sysdep-dl-routines += dl-static
+
+sysdep_routines += dl-vdso
+endif
+
+# Supporting non-executable stacks on MIPS requires changes to both
+# the Linux kernel and glibc.  See
+# <https://sourceware.org/ml/libc-alpha/2016-01/msg00567.html> and
+# <https://sourceware.org/ml/libc-alpha/2016-01/msg00719.html>.
+test-xfail-check-execstack = yes
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Versions
new file mode 100644
index 0000000000..453f276aad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/Versions
@@ -0,0 +1,44 @@
+ld {
+  GLIBC_PRIVATE {
+    # used for loading by static libraries
+    _dl_var_init;
+  }
+}
+libc {
+  # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
+  # When you get an error from errlist-compat.awk, you need to add a new
+  # version here.  Don't do this blindly, since this means changing the ABI
+  # for all GNU/Linux configurations.
+
+  GLIBC_2.0 {
+    #errlist-compat	123
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+
+    # Needed by gcc:
+    _flush_cache;
+
+    # c*
+    cachectl; cacheflush;
+
+    # s*
+    sysmips;
+  }
+  GLIBC_2.2 {
+    #errlist-compat	1134
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    # _*
+    _test_and_set;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_PRIVATE {
+    # nptl/pthread_cond_timedwait.c uses INTERNAL_VSYSCALL(clock_gettime).
+    __vdso_clock_gettime;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c
new file mode 100644
index 0000000000..596b2af336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <stdio.h>
+#define __longjmp ____longjmp_chk
+#define CHECK_SP(saved_sp, cur_sp, sp_type)				\
+  do {									\
+    sp_type sp_saved = (sp_type) (saved_sp);				\
+    if (sp_saved < (cur_sp))						\
+      {									\
+	struct __jmp_buf_internal_tag *env_save = env_arg;		\
+	int val_save = val_arg;						\
+	stack_t ss;							\
+	int ret = __sigaltstack (NULL, &ss);				\
+	if (ret == 0							\
+	    && (!(ss.ss_flags & SS_ONSTACK)				\
+		|| ((unsigned sp_type) ((sp_type) (long) ss.ss_sp	\
+					+ (sp_type) ss.ss_size		\
+					- sp_saved)			\
+		    < ss.ss_size)))					\
+	  __fortify_fail ("longjmp causes uninitialized stack frame");	\
+	asm volatile ("move %0, %1" : "=r" (env) : "r" (env_save));	\
+	asm volatile ("move %0, %1" : "=r" (val) : "r" (val_save));	\
+      }									\
+  } while (0)
+#include <__longjmp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/_test_and_set.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/_test_and_set.c
new file mode 100644
index 0000000000..42b6a983a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/_test_and_set.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Define the real-function versions of all inline functions
+   defined in sys/tas.h  */
+
+#include <features.h>
+
+#define _EXTERN_INLINE
+#ifndef __USE_EXTERN_INLINES
+# define __USE_EXTERN_INLINES 1
+#endif
+
+#include "sys/tas.h"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/arch-fork.h
new file mode 100644
index 0000000000..5f945378ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/arch-fork.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/arch-fork.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/epoll.h
new file mode 100644
index 0000000000..904e9c3e1a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/epoll.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC = 02000000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/errno.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/errno.h
new file mode 100644
index 0000000000..fa62e1fc83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/errno.h
@@ -0,0 +1,65 @@
+/* Error constants.  MIPS/Linux specific version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code.  */
+# define ENOTSUP EOPNOTSUPP
+
+# ifndef ECANCELED
+#  define ECANCELED	158
+# endif
+
+/* Support for error codes to support robust mutexes was added later, too.  */
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		165
+#  define ENOTRECOVERABLE	166
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		167
+# endif
+
+# ifndef EHWPOISON
+#  define EHWPOISON		168
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable.  */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#  if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value.  */
+#   define errno (*__errno_location ())
+#  endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough.  We must
+   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+   defined.  */
+# define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	88	/* Illegal byte sequence.  */
+# define ERANGE	34	/* Math result not representable.  */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/eventfd.h
new file mode 100644
index 0000000000..901cec7509
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/eventfd.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
+#endif
+
+/* Flags for eventfd.  */
+enum
+  {
+    EFD_SEMAPHORE = 00000001,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
+    EFD_CLOEXEC = 02000000,
+#define EFD_CLOEXEC EFD_CLOEXEC
+    EFD_NONBLOCK = 00000200
+#define EFD_NONBLOCK EFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
new file mode 100644
index 0000000000..0e0c8cc0c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
@@ -0,0 +1,104 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#include <sgidefs.h>
+
+#define O_APPEND	 0x0008
+#define O_SYNC		 0x4010
+#define O_NONBLOCK	 0x0080
+#define O_CREAT		 0x0100	/* not fcntl */
+#define O_TRUNC		 0x0200	/* not fcntl */
+#define O_EXCL		 0x0400	/* not fcntl */
+#define O_NOCTTY	 0x0800	/* not fcntl */
+#define O_ASYNC		 0x1000
+
+#define __O_DIRECT	 0x8000	/* Direct disk access hint.  */
+#define __O_DSYNC	 0x0010	/* Synchronize data.  */
+
+#if _MIPS_SIM == _ABI64
+/* Not necessary, files are always with 64bit off_t.  */
+# define __O_LARGEFILE  0
+#else
+# define __O_LARGEFILE	0x2000	/* Allow large file opens.  */
+#endif
+
+#ifndef __USE_FILE_OFFSET64
+# define F_GETLK	14	/* Get record locking info.  */
+# define F_SETLK	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW	7	/* Set record locking info (blocking).	*/
+#else
+# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
+# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
+# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
+#endif
+
+#if _MIPS_SIM != _ABI64
+# define F_GETLK64	33	/* Get record locking info.  */
+# define F_SETLK64	34	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	35	/* Set record locking info (blocking).	*/
+#else
+# define F_GETLK64	14	/* Get record locking info.	*/
+# define F_SETLK64	6	/* Set record locking info (non-blocking).*/
+# define F_SETLKW64	7	/* Set record locking info (blocking).  */
+#endif
+
+#define __F_SETOWN	24	/* Get owner (process receiving SIGIO).  */
+#define __F_GETOWN	23	/* Set owner (process receiving SIGIO).  */
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#if _MIPS_SIM != _ABI64
+    /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
+       fcntls in o32 and n32, never has this field.  */
+    long int l_sysid;
+#endif
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+#if ! defined __USE_FILE_OFFSET64 && _MIPS_SIM != _ABI64
+    /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
+       flock in o32 and n32, never has this field.  */
+    long int __glibc_reserved0[4];
+#endif
+  };
+typedef struct flock flock_t;
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/inotify.h
new file mode 100644
index 0000000000..00b899410e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/inotify.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
+#endif
+
+/* Flags for the parameter of inotify_init1.  */
+enum
+  {
+    IN_CLOEXEC = 02000000,
+#define IN_CLOEXEC IN_CLOEXEC
+    IN_NONBLOCK = 00000200
+#define IN_NONBLOCK IN_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h
new file mode 100644
index 0000000000..e5f33bb34e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h
@@ -0,0 +1,75 @@
+/* Structure types for pre-termios terminal ioctls.  Linux/MIPS version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Get definition of constants for use with `ioctl'.  */
+#include <asm/ioctls.h>
+
+struct winsize
+  {
+    unsigned short int ws_row;
+    unsigned short int ws_col;
+    unsigned short int ws_xpixel;
+    unsigned short int ws_ypixel;
+  };
+
+#define NCC	8
+struct termio
+  {
+    unsigned short int c_iflag;		/* input mode flags */
+    unsigned short int c_oflag;		/* output mode flags */
+    unsigned short int c_cflag;		/* control mode flags */
+    unsigned short int c_lflag;		/* local mode flags */
+    char c_line;			/* line discipline */
+    /* Yes, this is really NCCS.  */
+    unsigned char c_cc[32 /* NCCS */]; /* control characters */
+  };
+
+/* modem lines */
+#define TIOCM_LE	0x001		/* line enable */
+#define TIOCM_DTR	0x002		/* data terminal ready */
+#define TIOCM_RTS	0x004		/* request to send */
+#define TIOCM_ST	0x010		/* secondary transmit */
+#define TIOCM_SR	0x020		/* secondary receive */
+#define TIOCM_CTS	0x040		/* clear to send */
+#define TIOCM_CAR	0x100		/* carrier detect */
+#define TIOCM_CD	TIOCM_CAR
+#define TIOCM_RNG	0x200		/* ring */
+#define TIOCM_RI	TIOCM_RNG
+#define TIOCM_DSR	0x400		/* data set ready */
+
+/* line disciplines */
+#define N_TTY		0
+#define N_SLIP		1
+#define N_MOUSE		2
+#define N_PPP		3
+#define N_STRIP		4
+#define N_AX25		5
+#define N_X25		6	/* X.25 async  */
+#define N_6PACK		7
+#define N_MASC		8	/* Mobitex module  */
+#define N_R3964		9	/* Simatic R3964 module  */
+#define N_PROFIBUS_FDL	10	/* Profibus  */
+#define N_IRDA		11	/* Linux IR  */
+#define N_SMSBLOCK	12	/* SMS block mode  */
+#define N_HDLC		13	/* synchronous HDLC  */
+#define N_SYNC_PPP	14	/* synchronous PPP  */
+#define	N_HCI		15	/* Bluetooth HCI UART  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ipc.h
new file mode 100644
index 0000000000..7d2712c36f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/ipc.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.	*/
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.	*/
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.	 */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    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.  */
+    unsigned short int __pad1;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/local_lim.h
new file mode 100644
index 0000000000..b07b8afc3c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits.  MIPS Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  At least two pages with 64k pages.  */
+#define PTHREAD_STACK_MIN	131072
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/mman.h
new file mode 100644
index 0000000000..7fcf630726
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/mman.h
@@ -0,0 +1,46 @@
+/* Definitions for POSIX memory map interface.  Linux/MIPS version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_NORESERVE	0x0400		/* don't check for reservations */
+# define MAP_GROWSDOWN	0x1000		/* stack-like segment */
+# define MAP_DENYWRITE	0x2000		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x4000		/* mark it as an executable */
+# define MAP_LOCKED	0x8000		/* pages are locked */
+# define MAP_POPULATE   0x10000         /* populate (prefault) pagetables */
+# define MAP_NONBLOCK   0x20000         /* do not block on IO */
+# define MAP_STACK	0x40000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x80000		/* Create huge page mapping.  */
+#endif
+
+#define __MAP_ANONYMOUS 0x0800
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
+
+#ifdef __USE_MISC
+# define MAP_RENAME	MAP_ANONYMOUS
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/msq.h
new file mode 100644
index 0000000000..648c71fbc2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/msq.h
@@ -0,0 +1,92 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+#if __WORDSIZE == 32 && defined (__MIPSEB__)
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t msg_stime;		/* time of last msgsnd command */
+#if __WORDSIZE == 32 && defined (__MIPSEL__)
+  unsigned long int __glibc_reserved1;
+#endif
+#if __WORDSIZE == 32 && defined (__MIPSEB__)
+  unsigned long int __glibc_reserved2;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#if __WORDSIZE == 32 && defined (__MIPSEL__)
+  unsigned long int __glibc_reserved2;
+#endif
+#if __WORDSIZE == 32 && defined (__MIPSEB__)
+  unsigned long int __glibc_reserved3;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+#if __WORDSIZE == 32 && defined (__MIPSEL__)
+  unsigned long int __glibc_reserved3;
+#endif
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved4;
+  unsigned long int __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/poll.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/poll.h
new file mode 100644
index 0000000000..0f92f34d79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/poll.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for.  These bits may be set in `events'
+   to indicate the interesting event types; they will appear in `revents'
+   to indicate the status of the file descriptor.  */
+#define POLLIN		0x001		/* There is data to read.  */
+#define POLLPRI		0x002		/* There is urgent data to read.  */
+#define POLLOUT		0x004		/* Writing now will not block.  */
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+/* These values are defined in XPG4.2.  */
+# define POLLRDNORM	0x040		/* Normal data may be read.  */
+# define POLLRDBAND	0x080		/* Priority data may be read.  */
+# define POLLWRNORM	POLLOUT		/* Writing now will not block.  */
+# define POLLWRBAND	0x100		/* Priority data may be written.  */
+#endif
+
+#ifdef __USE_GNU
+/* These are extensions for Linux.  */
+# define POLLMSG	0x400
+# define POLLREMOVE	0x1000
+# define POLLRDHUP	0x2000
+#endif
+
+/* Event types always implicitly polled for.  These bits need not be set in
+   `events', but they will appear in `revents' to indicate the status of
+   the file descriptor.  */
+#define POLLERR		0x008		/* Error condition.  */
+#define POLLHUP		0x010		/* Hung up.  */
+#define POLLNVAL	0x020		/* Invalid polling request.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/resource.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/resource.h
new file mode 100644
index 0000000000..c59a92b258
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/resource.h
@@ -0,0 +1,273 @@
+/* Bit values & structures for resource limits.  Linux/MIPS version.
+   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_RESOURCE_H
+# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Transmute defines to enumerations.  The macro re-definitions are
+   necessary because some programs want to test for operating system
+   features with #ifdef RUSAGE_SELF.  In ISO C the reflexive
+   definition is a no-op.  */
+
+/* Kinds of resource limit.  */
+enum __rlimit_resource
+{
+  /* Per-process CPU limit, in seconds.  */
+  RLIMIT_CPU = 0,
+#define RLIMIT_CPU RLIMIT_CPU
+
+  /* Largest file that can be created, in bytes.  */
+  RLIMIT_FSIZE = 1,
+#define	RLIMIT_FSIZE RLIMIT_FSIZE
+
+  /* Maximum size of data segment, in bytes.  */
+  RLIMIT_DATA = 2,
+#define	RLIMIT_DATA RLIMIT_DATA
+
+  /* Maximum size of stack segment, in bytes.  */
+  RLIMIT_STACK = 3,
+#define	RLIMIT_STACK RLIMIT_STACK
+
+  /* Largest core file that can be created, in bytes.  */
+  RLIMIT_CORE = 4,
+#define	RLIMIT_CORE RLIMIT_CORE
+
+  /* Largest resident set size, in bytes.
+     This affects swapping; processes that are exceeding their
+     resident set size will be more likely to have physical memory
+     taken from them.  */
+  __RLIMIT_RSS = 7,
+#define	RLIMIT_RSS __RLIMIT_RSS
+
+  /* Number of open files.  */
+  RLIMIT_NOFILE = 5,
+  __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
+#define RLIMIT_NOFILE RLIMIT_NOFILE
+#define RLIMIT_OFILE __RLIMIT_OFILE
+
+  /* Address space limit (?) */
+  RLIMIT_AS = 6,
+#define RLIMIT_AS RLIMIT_AS
+
+  /* Number of processes.  */
+  __RLIMIT_NPROC = 8,
+#define RLIMIT_NPROC __RLIMIT_NPROC
+
+  /* Locked-in-memory address space.  */
+  __RLIMIT_MEMLOCK = 9,
+#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
+
+  /* Maximum number of file locks.  */
+  __RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS __RLIMIT_LOCKS
+
+  /* Maximum number of pending signals.  */
+  __RLIMIT_SIGPENDING = 11,
+#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
+
+  /* Maximum bytes in POSIX message queues.  */
+  __RLIMIT_MSGQUEUE = 12,
+#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
+
+  /* Maximum nice priority allowed to raise to.
+     Nice levels 19 .. -20 correspond to 0 .. 39
+     values of this resource limit.  */
+  __RLIMIT_NICE = 13,
+#define RLIMIT_NICE __RLIMIT_NICE
+
+  /* Maximum realtime priority allowed for non-priviledged
+     processes.  */
+  __RLIMIT_RTPRIO = 14,
+#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
+
+  /* Maximum CPU time in µs that a process scheduled under a real-time
+     scheduling policy may consume without making a blocking system
+     call before being forcibly descheduled.  */
+  __RLIMIT_RTTIME = 15,
+#define RLIMIT_RTTIME __RLIMIT_RTTIME
+
+  __RLIMIT_NLIMITS = 16,
+  __RLIM_NLIMITS = __RLIMIT_NLIMITS
+#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
+#define RLIM_NLIMITS __RLIM_NLIMITS
+};
+
+/* Value to indicate that there is no limit.  */
+#if _MIPS_SIM == _ABI64
+/* The N64 syscall uses this value.  */
+# define RLIM_INFINITY 0xffffffffffffffffUL
+# ifdef __USE_LARGEFILE64
+#  define RLIM64_INFINITY 0xffffffffffffffffUL
+# endif
+#else
+/* The O32 and N32 syscalls use 0x7fffffff.  */
+# ifndef __USE_FILE_OFFSET64
+#  define RLIM_INFINITY ((long int)(~0UL >> 1))
+# else
+#  define RLIM_INFINITY 0xffffffffffffffffULL
+# endif
+# ifdef __USE_LARGEFILE64
+#  define RLIM64_INFINITY 0xffffffffffffffffULL
+# endif
+#endif
+
+/* We can represent all limits.  */
+#define RLIM_SAVED_MAX	RLIM_INFINITY
+#define RLIM_SAVED_CUR	RLIM_INFINITY
+
+
+/* Type for resource quantity measurement.  */
+#ifndef __USE_FILE_OFFSET64
+typedef __rlim_t rlim_t;
+#else
+typedef __rlim64_t rlim_t;
+#endif
+#ifdef __USE_LARGEFILE64
+typedef __rlim64_t rlim64_t;
+#endif
+
+struct rlimit
+  {
+    /* The current (soft) limit.  */
+    rlim_t rlim_cur;
+    /* The hard limit.  */
+    rlim_t rlim_max;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct rlimit64
+  {
+    /* The current (soft) limit.  */
+    rlim64_t rlim_cur;
+    /* The hard limit.  */
+    rlim64_t rlim_max;
+ };
+#endif
+
+/* Whose usage statistics do you want?  */
+enum __rusage_who
+{
+  /* The calling process.  */
+  RUSAGE_SELF = 0,
+#define RUSAGE_SELF RUSAGE_SELF
+
+  /* All of its terminated child processes.  */
+  RUSAGE_CHILDREN = -1
+#define RUSAGE_CHILDREN RUSAGE_CHILDREN
+
+#ifdef __USE_GNU
+  ,
+  /* The calling thread.  */
+  RUSAGE_THREAD = 1
+# define RUSAGE_THREAD RUSAGE_THREAD
+  /* Name for the same functionality on Solaris.  */
+# define RUSAGE_LWP RUSAGE_THREAD
+#endif
+};
+
+#include <bits/types/struct_timeval.h>
+
+/* Structure which says how much of each resource has been used.  */
+struct rusage
+  {
+    /* Total amount of user time used.  */
+    struct timeval ru_utime;
+    /* Total amount of system time used.  */
+    struct timeval ru_stime;
+    /* Maximum resident set size (in kilobytes).  */
+    long int ru_maxrss;
+    /* Amount of sharing of text segment memory
+       with other processes (kilobyte-seconds).  */
+    long int ru_ixrss;
+    /* Amount of data segment memory used (kilobyte-seconds).  */
+    long int ru_idrss;
+    /* Amount of stack memory used (kilobyte-seconds).  */
+    long int ru_isrss;
+    /* Number of soft page faults (i.e. those serviced by reclaiming
+       a page from the list of pages awaiting reallocation.  */
+    long int ru_minflt;
+    /* Number of hard page faults (i.e. those that required I/O).  */
+    long int ru_majflt;
+    /* Number of times a process was swapped out of physical memory.  */
+    long int ru_nswap;
+    /* Number of input operations via the file system.  Note: This
+       and `ru_oublock' do not include operations with the cache.  */
+    long int ru_inblock;
+    /* Number of output operations via the file system.  */
+    long int ru_oublock;
+    /* Number of IPC messages sent.  */
+    long int ru_msgsnd;
+    /* Number of IPC messages received.  */
+    long int ru_msgrcv;
+    /* Number of signals delivered.  */
+    long int ru_nsignals;
+    /* Number of voluntary context switches, i.e. because the process
+       gave up the process before it had to (usually to wait for some
+       resource to be available).  */
+    long int ru_nvcsw;
+    /* Number of involuntary context switches, i.e. a higher priority process
+       became runnable or the current process used up its time slice.  */
+    long int ru_nivcsw;
+  };
+
+/* Priority limits.  */
+#define PRIO_MIN	-20	/* Minimum priority a process can have.  */
+#define PRIO_MAX	20	/* Maximum priority a process can have.  */
+
+/* The type of the WHICH argument to `getpriority' and `setpriority',
+   indicating what flavor of entity the WHO argument specifies.  */
+enum __priority_which
+{
+  PRIO_PROCESS = 0,		/* WHO is a process ID.  */
+#define PRIO_PROCESS PRIO_PROCESS
+  PRIO_PGRP = 1,		/* WHO is a process group ID.  */
+#define PRIO_PGRP PRIO_PGRP
+  PRIO_USER = 2			/* WHO is a user ID.  */
+#define PRIO_USER PRIO_USER
+};
+
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically.  */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+		    const struct rlimit *__new_limit,
+		    struct rlimit *__old_limit) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+				     enum __rlimit_resource __resource,
+				     const struct rlimit *__new_limit,
+				     struct rlimit *__old_limit), prlimit64);
+#  else
+#   define prlimit prlimit64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+		      const struct rlimit64 *__new_limit,
+		      struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sem.h
new file mode 100644
index 0000000000..36de4390e8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sem.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/shm.h
new file mode 100644
index 0000000000..20a02ce9bb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/shm.h
@@ -0,0 +1,95 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		0x40000
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    __time_t shm_dtime;			/* time of last shmdt() */
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT	13
+# define SHM_INFO	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000  /* don't check for reservations */
+
+struct shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;  /* total allocated shm */
+    unsigned long int shm_rss;  /* total resident shm */
+    unsigned long int shm_swp;  /* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
new file mode 100644
index 0000000000..c61a49ef88
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
@@ -0,0 +1,89 @@
+/* The proper definitions for Linux/MIPS's sigaction.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Special flags.  */
+    int sa_flags;
+
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler    __sigaction_handler.sa_handler
+# define sa_sigaction  __sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* The ABI says here are two unused ints following. */
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+
+#if _MIPS_SZPTR < 64
+    int sa_resv[1];
+#endif
+  };
+
+/* Bits in `sa_flags'.  */
+/* Please note that some Linux kernels versions use different values for these
+   flags which is a bug in those kernel versions.  */
+#define SA_NOCLDSTOP  0x00000001 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  0x00010000 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    0x00000008 /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
+				    its handler is being executed.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define SIG_NOP	      0		/* 0 is unused to catch errors */
+#define	SIG_BLOCK     1		/* Block signals.  */
+#define	SIG_UNBLOCK   2		/* Unblock signals.  */
+#define	SIG_SETMASK   3		/* Set the set of blocked signals.  */
+#ifdef __USE_MISC
+# define SIG_SETMASK32 256	/* Goodie from SGI for BSD compatibility:
+				   set only the low 32 bit of the sigset.  */
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
new file mode 100644
index 0000000000..0b3fda1fe1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
@@ -0,0 +1,82 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.  This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
+#include <sgidefs.h>
+
+#if _MIPS_SIM == _ABIO32
+
+/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
+   The changes were as follows:
+
+   sc_cause -> sc_hi1
+   sc_badvaddr -> sc_lo1
+   sc_sigset[0] -> sc_hi2
+   sc_sigset[1] -> sc_lo2
+   sc_sigset[2] -> sc_hi3
+   sc_sigset[3] -> sc_lo3
+
+   sc_regmask, sc_ownedfp and sc_fpc_eir are not used.  */
+struct sigcontext {
+  unsigned int sc_regmask;
+  unsigned int sc_status;
+  __extension__ unsigned long long sc_pc;
+  __extension__ unsigned long long sc_regs[32];
+  __extension__ unsigned long long sc_fpregs[32];
+  unsigned int sc_ownedfp;
+  unsigned int sc_fpc_csr;
+  unsigned int sc_fpc_eir;
+  unsigned int sc_used_math;
+  unsigned int sc_dsp;
+  __extension__ unsigned long long sc_mdhi;
+  __extension__ unsigned long long sc_mdlo;
+  unsigned long sc_hi1;
+  unsigned long sc_lo1;
+  unsigned long sc_hi2;
+  unsigned long sc_lo2;
+  unsigned long sc_hi3;
+  unsigned long sc_lo3;
+};
+
+#else
+
+/* This structure changed in 2.6.12-rc4 when DSP support was added.  */
+struct sigcontext {
+  __extension__ unsigned long long sc_regs[32];
+  __extension__ unsigned long long sc_fpregs[32];
+  __extension__ unsigned long long sc_mdhi;
+  __extension__ unsigned long long sc_hi1;
+  __extension__ unsigned long long sc_hi2;
+  __extension__ unsigned long long sc_hi3;
+  __extension__ unsigned long long sc_mdlo;
+  __extension__ unsigned long long sc_lo1;
+  __extension__ unsigned long long sc_lo2;
+  __extension__ unsigned long long sc_lo3;
+  __extension__ unsigned long long sc_pc;
+  unsigned int sc_fpc_csr;
+  unsigned int sc_used_math;
+  unsigned int sc_dsp;
+  unsigned int sc_reserved;
+};
+
+#endif /* _MIPS_SIM != _ABIO32 */
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
new file mode 100644
index 0000000000..cd3af7db06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
@@ -0,0 +1,13 @@
+/* Architecture-specific adjustments to siginfo_t.  MIPS version.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+/* MIPS has the si_code and si_errno fields in the opposite order from
+   all other architectures.  */
+#define __SI_ERRNO_THEN_CODE 0
+
+/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
+   than all other architectures.  */
+#define __SI_ASYNCIO_AFTER_SIGIO 0
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signalfd.h
new file mode 100644
index 0000000000..7cc70153a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signalfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC = 02000000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 00000200
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signum.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signum.h
new file mode 100644
index 0000000000..6c31e01cd7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/signum.h
@@ -0,0 +1,78 @@
+/* Signal number definitions.  Linux version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* Fake signal functions.  */
+#define SIG_ERR ((__sighandler_t) -1)		/* Error return.  */
+#define SIG_DFL ((__sighandler_t) 0)		/* Default action.  */
+#define SIG_IGN ((__sighandler_t) 1)		/* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
+#endif
+
+
+#define SIGHUP		 1	/* Hangup (POSIX).  */
+#define SIGINT		 2	/* Interrupt (ANSI).  */
+#define SIGQUIT		 3	/* Quit (POSIX).  */
+#define SIGILL		 4	/* Illegal instruction (ANSI).  */
+#define SIGTRAP		 5	/* Trace trap (POSIX).  */
+#define SIGIOT		 6	/* IOT trap (4.2 BSD).  */
+#define SIGABRT		 SIGIOT	/* Abort (ANSI).  */
+#define SIGEMT		 7
+#define SIGFPE		 8	/* Floating-point exception (ANSI).  */
+#define SIGKILL		 9	/* Kill, unblockable (POSIX).  */
+#define SIGBUS		10	/* BUS error (4.2 BSD).  */
+#define SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define SIGSYS		12
+#define SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define SIGALRM		14	/* Alarm clock (POSIX).  */
+#define SIGTERM		15	/* Termination (ANSI).  */
+#define SIGUSR1		16	/* User-defined signal 1 (POSIX).  */
+#define SIGUSR2		17	/* User-defined signal 2 (POSIX).  */
+#define SIGCHLD		18	/* Child status has changed (POSIX).  */
+#define SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define SIGPWR		19	/* Power failure restart (System V).  */
+#define SIGWINCH	20	/* Window size change (4.3 BSD, Sun).  */
+#define SIGURG		21	/* Urgent condition on socket (4.2 BSD).  */
+#define SIGIO		22	/* I/O now possible (4.2 BSD).  */
+#define SIGPOLL		SIGIO	/* Pollable event occurred (System V).  */
+#define SIGSTOP		23	/* Stop, unblockable (POSIX).  */
+#define SIGTSTP		24	/* Keyboard stop (POSIX).  */
+#define SIGCONT		25	/* Continue (POSIX).  */
+#define SIGTTIN		26	/* Background read from tty (POSIX).  */
+#define SIGTTOU		27	/* Background write to tty (POSIX).  */
+#define SIGVTALRM	28	/* Virtual alarm clock (4.2 BSD).  */
+#define SIGPROF		29	/* Profiling alarm clock (4.2 BSD).  */
+#define SIGXCPU		30	/* CPU limit exceeded (4.2 BSD).  */
+#define SIGXFSZ		31	/* File size limit exceeded (4.2 BSD).  */
+
+
+#define _NSIG		128	/* Biggest signal number + 1
+				   (including real-time signals).  */
+
+#define SIGRTMIN	(__libc_current_sigrtmin ())
+#define SIGRTMAX	(__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+#define __SIGRTMIN	32
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/socket_type.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/socket_type.h
new file mode 100644
index 0000000000..64b70c204b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/socket_type.h
@@ -0,0 +1,55 @@
+/* Define enum __socket_type for Linux/MIPS.
+   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/>.  */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_DGRAM = 1,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_STREAM = 2,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_DCCP = 6,
+#define SOCK_DCCP SOCK_DCCP	/* Datagram Congestion Control Protocol.  */
+  SOCK_PACKET = 10,		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 02000000,	/* Atomically set close-on-exec flag for the
+				   new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 00000200	/* Atomically mark descriptor(s) as
+				   non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/stat.h
new file mode 100644
index 0000000000..07b6d7f615
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/stat.h
@@ -0,0 +1,263 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+#include <sgidefs.h>
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX /* The one defined below.  */
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+
+
+#if _MIPS_SIM == _ABIO32
+/* Structure describing file characteristics.  */
+struct stat
+  {
+    unsigned long int st_dev;
+    long int st_pad1[3];
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;		/* File serial number.		*/
+#else
+    __ino64_t st_ino;		/* File serial number.		*/
+#endif
+    __mode_t st_mode;		/* File mode.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    unsigned long int st_rdev;	/* Device number, if device.  */
+#ifndef __USE_FILE_OFFSET64
+    long int st_pad2[2];
+    __off_t st_size;		/* Size of file, in bytes.  */
+    /* SVR4 added this extra long to allow for expansion of off_t.  */
+    long int st_pad3;
+#else
+    long int st_pad2[3];
+    __off64_t st_size;		/* Size of file, in bytes.  */
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# define st_atime st_atim.tv_sec        /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;	/* Number of 512-byte blocks allocated.  */
+#else
+    long int st_pad4;
+    __blkcnt64_t st_blocks;	/* Number of 512-byte blocks allocated.  */
+#endif
+    long int st_pad5[14];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    unsigned long int st_dev;
+    long int st_pad1[3];
+    __ino64_t st_ino;		/* File serial number.		*/
+    __mode_t st_mode;		/* File mode.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    unsigned long int st_rdev;	/* Device number, if device.  */
+    long int st_pad2[3];
+    __off64_t st_size;		/* Size of file, in bytes.  */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    long int st_pad3;
+    __blkcnt64_t st_blocks;	/* Number of 512-byte blocks allocated.  */
+    long int st_pad4[14];
+  };
+#endif
+#else
+struct stat
+  {
+    __dev_t st_dev;
+    int	st_pad1[3];		/* Reserved for st_dev expansion  */
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;
+#else
+    __ino64_t st_ino;
+#endif
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+#if !defined __USE_FILE_OFFSET64
+    unsigned int st_pad2[2];	/* Reserved for st_rdev expansion  */
+    __off_t st_size;
+    int st_pad3;
+#else
+    unsigned int st_pad2[3];	/* Reserved for st_rdev expansion  */
+    __off64_t st_size;
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# define st_atime st_atim.tv_sec        /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;
+    unsigned int st_pad4;
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;
+#else
+    __blkcnt64_t st_blocks;
+#endif
+    int st_pad5[14];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;
+    unsigned int st_pad1[3];	/* Reserved for st_dev expansion  */
+    __ino64_t st_ino;
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    unsigned int st_pad2[3];	/* Reserved for st_rdev expansion  */
+    __off64_t st_size;
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    __blksize_t st_blksize;
+    unsigned int st_pad3;
+    __blkcnt64_t st_blocks;
+    int st_pad4[14];
+};
+#endif
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define	_STATBUF_ST_RDEV
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/statfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/statfs.h
new file mode 100644
index 0000000000..a3ed8a363d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/statfs.h
@@ -0,0 +1,73 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATFS_H
+# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
+#endif
+
+#include <bits/types.h>  /* for __fsid_t and __fsblkcnt_t*/
+
+struct statfs
+  {
+    long int f_type;
+#define f_fstyp f_type
+    long int f_bsize;
+    long int f_frsize;	/* Fragment size - unsupported */
+#ifndef __USE_FILE_OFFSET64
+    __fsblkcnt_t f_blocks;
+    __fsblkcnt_t f_bfree;
+    __fsblkcnt_t f_files;
+    __fsblkcnt_t f_ffree;
+    __fsblkcnt_t f_bavail;
+#else
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_files;
+    __fsblkcnt64_t f_ffree;
+    __fsblkcnt64_t f_bavail;
+#endif
+
+	/* Linux specials */
+    __fsid_t f_fsid;
+    long int f_namelen;
+    long int f_flags;
+    long int f_spare[5];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct statfs64
+  {
+    long int f_type;
+#define f_fstyp f_type
+    long int f_bsize;
+    long int f_frsize;	/* Fragment size - unsupported */
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_files;
+    __fsblkcnt64_t f_ffree;
+    __fsblkcnt64_t f_bavail;
+
+	/* Linux specials */
+    __fsid_t f_fsid;
+    long int f_namelen;
+    long int f_flags;
+    long int f_spare[5];
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define _STATFS_F_NAMELEN
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/termios.h
new file mode 100644
index 0000000000..ecf4b1378a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -0,0 +1,222 @@
+/* termios type and macro definitions.  Linux/MIPS version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 32
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[NCCS];		/* control characters */
+  };
+
+/* c_cc characters */
+#define VINTR		0	/* Interrupt character [ISIG].  */
+#define VQUIT		1	/* Quit character [ISIG].  */
+#define VERASE		2	/* Erase character [ICANON].  */
+#define VKILL		3	/* Kill-line character [ICANON].  */
+#define VMIN		4	/* Minimum number of bytes read at once [!ICANON].  */
+#define VTIME		5	/* Time-out value (tenths of a second) [!ICANON].  */
+#define VEOL2		6	/* Second EOL character [ICANON].  */
+#define VSWTC		7
+#define VSWTCH		VSWTC
+#define VSTART		8	/* Start (X-ON) character [IXON, IXOFF].  */
+#define VSTOP		9	/* Stop (X-OFF) character [IXON, IXOFF].  */
+#define VSUSP		10	/* Suspend character [ISIG].  */
+				/* VDSUSP is not supported on Linux. */
+/* #define VDSUSP	11	/ * Delayed suspend character [ISIG].  */
+#define VREPRINT	12	/* Reprint-line character [ICANON].  */
+#define VDISCARD	13	/* Discard character [IEXTEN].  */
+#define VWERASE		14	/* Word-erase character [ICANON].  */
+#define VLNEXT		15	/* Literal-next character [IEXTEN].  */
+#define VEOF		16	/* End-of-file character [ICANON].  */
+#define VEOL		17	/* End-of-line character [ICANON].  */
+
+/* c_iflag bits */
+#define IGNBRK	0000001		/* Ignore break condition.  */
+#define BRKINT	0000002		/* Signal interrupt on break.  */
+#define IGNPAR	0000004		/* Ignore characters with parity errors.  */
+#define PARMRK	0000010		/* Mark parity and framing errors.  */
+#define INPCK	0000020		/* Enable input parity check.  */
+#define ISTRIP	0000040		/* Strip 8th bit off characters.  */
+#define INLCR	0000100		/* Map NL to CR on input.  */
+#define IGNCR	0000200		/* Ignore CR.  */
+#define ICRNL	0000400		/* Map CR to NL on input.  */
+#define IUCLC	0001000		/* Map upper case to lower case on input.  */
+#define IXON	0002000		/* Enable start/stop output control.  */
+#define IXANY	0004000		/* Any character will restart after stop.  */
+#define IXOFF	0010000		/* Enable start/stop input control.  */
+#define IMAXBEL 0020000		/* Ring bell when input queue is full.  */
+#define IUTF8	0040000		/* Input is UTF8.  */
+
+/* c_oflag bits */
+#define OPOST	0000001		/* Perform output processing.  */
+#define OLCUC	0000002		/* Map lower case to upper case on output.  */
+#define ONLCR	0000004		/* Map NL to CR-NL on output.  */
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+#define OFILL	0000100
+#define OFDEL	0000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0000400
+# define   NL0	0000000
+# define   NL1	0000400
+# define CRDLY	0003000
+# define   CR0	0000000
+# define   CR1	0001000
+# define   CR2	0002000
+# define   CR3	0003000
+# define TABDLY	0014000
+# define   TAB0	0000000
+# define   TAB1	0004000
+# define   TAB2	0010000
+# define   TAB3	0014000
+# define BSDLY	0020000
+# define   BS0	0000000
+# define   BS1	0020000
+# define FFDLY	0100000
+# define   FF0	0000000
+# define   FF1	0100000
+#endif
+
+#define VTDLY	0040000
+#define   VT0	0000000
+#define   VT1	0040000
+
+#ifdef __USE_MISC
+# define XTABS  0014000
+#endif
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0010017
+#endif
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+#endif
+#define CSIZE	0000060		/* Number of bits per byte (mask).  */
+#define   CS5	0000000		/* 5 bits per byte.  */
+#define   CS6	0000020		/* 6 bits per byte.  */
+#define   CS7	0000040		/* 7 bits per byte.  */
+#define   CS8	0000060		/* 8 bits per byte.  */
+#define CSTOPB	0000100		/* Two stop bits instead of one.  */
+#define CREAD	0000200		/* Enable receiver.  */
+#define PARENB	0000400		/* Parity enable.  */
+#define PARODD	0001000		/* Odd parity instead of even.  */
+#define HUPCL	0002000		/* Hang up on last close.  */
+#define CLOCAL	0004000		/* Ignore modem status lines.  */
+#ifdef __USE_MISC
+# define CBAUDEX   0010000
+#endif
+#define  B57600   0010001
+#define  B115200  0010002
+#define  B230400  0010003
+#define  B460800  0010004
+#define  B500000  0010005
+#define  B576000  0010006
+#define  B921600  0010007
+#define  B1000000 0010010
+#define  B1152000 0010011
+#define  B1500000 0010012
+#define  B2000000 0010013
+#define  B2500000 0010014
+#define  B3000000 0010015
+#define  B3500000 0010016
+#define  B4000000 0010017
+#define __MAX_BAUD B4000000
+#ifdef __USE_MISC
+# define CIBAUD	  002003600000	/* input baud rate (not used) */
+# define CRTSCTS  020000000000		/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0000001		/* Enable signals.  */
+#define ICANON	0000002		/* Do erase and kill processing.  */
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0000004
+#endif
+#define ECHO	0000010		/* Enable echo.  */
+#define ECHOE	0000020		/* Visual erase for ERASE.  */
+#define ECHOK	0000040		/* Echo NL after KILL.  */
+#define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
+#define NOFLSH	0000200		/* Disable flush after interrupt.  */
+#define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
+#ifdef __USE_MISC
+# define ECHOCTL 0001000	/* Echo control characters as ^X.  */
+# define ECHOPRT 0002000	/* Hardcopy visual erase.  */
+# define ECHOKE	 0004000	/* Visual erase for KILL.  */
+# define FLUSHO	0020000
+# define PENDIN	0040000		/* Retype pending input (state).  */
+#endif
+#define TOSTOP	0100000		/* Send SIGTTOU for background output.  */
+#define ITOSTOP	TOSTOP
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif
+
+#ifdef __USE_MISC
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+#endif
+
+/* tcflow() and TCXONC use these */
+#define	TCOOFF		0	/* Suspend output.  */
+#define	TCOON		1	/* Restart suspended output.  */
+#define	TCIOFF		2	/* Send a STOP character.  */
+#define	TCION		3	/* Send a START character.  */
+
+/* tcflush() and TCFLSH use these */
+#define	TCIFLUSH	0	/* Discard data received but not yet read.  */
+#define	TCOFLUSH	1	/* Discard data written but not yet sent.  */
+#define	TCIOFLUSH	2	/* Discard all pending data.  */
+
+/* tcsetattr uses these */
+#define	TCSANOW		0x540e	/* Same as TCSETS; change immediately.  */
+#define	TCSADRAIN	0x540f	/* Same as TCSETSW; change when pending output is written.  */
+#define	TCSAFLUSH	0x5410	/* Same as TCSETSF; flush pending input before changing.  */
+
+#define _IOT_termios /* Hurd ioctl type field.  */ \
+  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/timerfd.h
new file mode 100644
index 0000000000..ebf2608d50
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/timerfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
+#endif
+
+/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
+enum
+  {
+    TFD_CLOEXEC = 02000000,
+#define TFD_CLOEXEC TFD_CLOEXEC
+    TFD_NONBLOCK = 00000200
+#define TFD_NONBLOCK TFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h
new file mode 100644
index 0000000000..b9635ad18a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h
@@ -0,0 +1,33 @@
+/* Define stack_t.  MIPS Linux version.
+   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 __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Structure describing a signal stack.  */
+typedef struct
+  {
+    void *ss_sp;
+    size_t ss_size;
+    int ss_flags;
+  } stack_t;
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/brk.c
new file mode 100644
index 0000000000..f91becffac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/brk.c
@@ -0,0 +1,47 @@
+/* brk system call for Linux/MIPS.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux/x86 ELF
+   dynamic linker.  Sigh.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  void *newbrk;
+
+  newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
+  __curbrk = newbrk;
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/clone.S
new file mode 100644
index 0000000000..8b79457b1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/clone.S
@@ -0,0 +1,152 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ralf Baechle <ralf@linux-mips.org>, 1996.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <sys/asm.h>
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tls.h>
+
+#define CLONE_VM      0x00000100
+#define CLONE_THREAD  0x00010000
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     void *parent_tidptr, void *tls, void *child_tidptr) */
+
+	.text
+	.set		nomips16
+#if _MIPS_SIM == _ABIO32
+# define EXTRA_LOCALS 1
+#else
+# define EXTRA_LOCALS 0
+#endif
+LOCALSZ= 4
+FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
+GPOFF= FRAMESZ-(1*SZREG)
+NESTED(__clone,4*SZREG,sp)
+#ifdef __PIC__
+	SETUP_GP
+#endif
+	PTR_SUBU sp, FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+	SETUP_GP64_STACK (GPOFF, __clone)
+#ifdef __PIC__
+	SAVE_GP (GPOFF)
+#endif
+#ifdef PROF
+	.set		noat
+	move		$1,ra
+	jal		_mcount
+	.set		at
+#endif
+
+
+	/* Sanity check arguments.  */
+	li		v0,EINVAL
+	beqz		a0,L(error)	/* No NULL function pointers.  */
+	beqz		a1,L(error)	/* No NULL stack pointers.  */
+
+	PTR_SUBU	a1,32		/* Reserve argument save space.  */
+	PTR_S		a0,0(a1)	/* Save function pointer.  */
+	PTR_S		a3,PTRSIZE(a1)	/* Save argument pointer.  */
+	LONG_S		a2,(PTRSIZE*2)(a1)	/* Save clone flags.  */
+
+	move		a0,a2
+
+	/* Shuffle in the last three arguments - arguments 5, 6, and 7 to
+	   this function, but arguments 3, 4, and 5 to the syscall.  */
+#if _MIPS_SIM == _ABIO32
+	PTR_L		a2,(FRAMESZ+PTRSIZE+PTRSIZE+16)(sp)
+	PTR_S		a2,16(sp)
+	PTR_L		a2,(FRAMESZ+16)(sp)
+	PTR_L		a3,(FRAMESZ+PTRSIZE+16)(sp)
+#else
+	move		a2,a4
+	move		a3,a5
+	move		a4,a6
+#endif
+
+	/* Do the system call */
+	li		v0,__NR_clone
+	cfi_endproc
+	syscall
+
+	bnez		a3,L(error)
+	beqz		v0,L(thread_start)
+
+	/* Successful return from the parent */
+	cfi_startproc
+	cfi_adjust_cfa_offset (FRAMESZ)
+	SETUP_GP64_STACK_CFI (GPOFF)
+	cfi_remember_state
+	RESTORE_GP64_STACK
+	PTR_ADDU	sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	ret
+
+	/* Something bad happened -- no child created */
+L(error):
+	cfi_restore_state
+#ifdef __PIC__
+	PTR_LA		t9,__syscall_error
+	RESTORE_GP64_STACK
+	PTR_ADDU	sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	jr		t9
+#else
+	RESTORE_GP64_STACK
+	PTR_ADDU	sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	j		__syscall_error
+#endif
+	END(__clone)
+
+/* Load up the arguments to the function.  Put this block of code in
+   its own function so that we can terminate the stack trace with our
+   debug info.  */
+
+ENTRY(__thread_start)
+L(thread_start):
+	cfi_undefined ($31)
+	/* cp is already loaded.  */
+	SAVE_GP (GPOFF)
+	/* The stackframe has been created on entry of clone().  */
+
+	/* Restore the arg for user's function.  */
+	PTR_L		t9,0(sp)	/* Function pointer.  */
+	PTR_L		a0,PTRSIZE(sp)	/* Argument pointer.  */
+
+	/* Call the user's function.  */
+	jal		t9
+
+	/* Call _exit rather than doing it inline for breakpoint purposes.  */
+	move		a0,v0
+#ifdef __PIC__
+	PTR_LA		t9,_exit
+	jalr		t9
+#else
+	jal		_exit
+#endif
+
+	END(__thread_start)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure b/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure
new file mode 100644
index 0000000000..a5513fad48
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure
@@ -0,0 +1,477 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+    #if (_MIPS_SIM != _ABIO32)
+    #error Not O32 ABI
+    #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_abi=o32
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+      #if (_MIPS_SIM != _ABIN32)
+      #error Not N32 ABI
+      #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_abi=n32
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+        #if (_MIPS_SIM != _ABI64)
+        #error Not 64 ABI
+        #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_abi=n64
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test -z "$libc_mips_abi"; then
+  as_fn_error $? "could not determine what ABI the compiler is using" "$LINENO" 5
+fi
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+    #if !defined(__mips_soft_float)
+    #error Not soft ABI
+    #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_float=soft
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+      #if !defined(__mips_hard_float)
+      #error Not hard ABI
+      #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_float=hard
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test -z "$libc_mips_float"; then
+  as_fn_error $? "could not determine if compiler is using hard or soft floating point ABI" "$LINENO" 5
+fi
+
+libc_mips_o32_fp=
+libc_cv_mips_fp64=
+libc_cv_mips_modd_spreg=
+
+if test x"$libc_mips_abi" = xo32 -a x"$libc_mips_float" = xhard; then
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+      #if !defined(__mips_fpr)
+      #error Missing FPR sizes
+      #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+        #if (__mips_fpr != 32)
+        #error Not FP32
+        #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_o32_fp=32
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #if (__mips_fpr != 0) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16)
+          #error Not FPXX (without odd single-precision registers)
+          #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_o32_fp=xx
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+            #if (__mips_fpr != 0)
+            #error Not FPXX (with odd single precision registers)
+            #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_o32_fp=xxo
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+              #if (__mips_fpr != 64) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16)
+              #error Not FP64A
+              #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_o32_fp=64a
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+                #if (__mips_fpr != 64)
+                #error Not FP64
+                #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_o32_fp=64
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+  if { ac_try='${CC-cc} -mfp64 -xc /dev/null -S -o /dev/null'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  libc_cv_mips_fp64=yes
+else
+  libc_cv_mips_fp64=no
+fi
+  if { ac_try='${CC-cc} -Werror -modd-spreg -xc /dev/null -S -o /dev/null'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  libc_cv_mips_modd_spreg=yes
+else
+  libc_cv_mips_modd_spreg=no
+fi
+fi
+config_vars="$config_vars
+o32-fpabi = ${libc_mips_o32_fp}"
+config_vars="$config_vars
+has-mpf64 = ${libc_cv_mips_fp64}"
+config_vars="$config_vars
+has-modd-spreg = ${libc_cv_mips_modd_spreg}"
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+    #include <linux/prctl.h>
+    #if !defined(PR_GET_FP_MODE) || !defined(PR_SET_FP_MODE)
+    #error New prctl support for setting FP modes not found
+    #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_mips_mode_switch=yes
+else
+  libc_mips_mode_switch=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+config_vars="$config_vars
+mips-mode-switch = ${libc_mips_mode_switch}"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the 2008 NaN encoding" >&5
+$as_echo_n "checking whether the compiler is using the 2008 NaN encoding... " >&6; }
+if ${libc_cv_mips_nan2008+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+dnl
+#ifdef __mips_nan2008
+yes
+#endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  libc_cv_mips_nan2008=yes
+else
+  libc_cv_mips_nan2008=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_nan2008" >&5
+$as_echo "$libc_cv_mips_nan2008" >&6; }
+
+libc_mips_nan=
+if test x"$libc_cv_mips_nan2008" = xyes; then
+  libc_mips_nan=_2008
+fi
+
+config_vars="$config_vars
+default-abi = ${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}"
+
+case $machine in
+mips/mips64/n64/*)
+  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
+  ;;
+mips/mips64/n32/*)
+  test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib32
+  libc_cv_rtlddir=/lib32
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib32';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_complocaledir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
+  ;;
+esac
+
+libc_cv_gcc_unwind_find_fde=yes
+
+if test -z "$arch_minimum_kernel"; then
+  if test x$libc_cv_mips_nan2008 = xyes; then
+    arch_minimum_kernel=4.5.0
+  fi
+fi
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure.ac
new file mode 100644
index 0000000000..9147aa4582
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/configure.ac
@@ -0,0 +1,136 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([
+    #if (_MIPS_SIM != _ABIO32)
+    #error Not O32 ABI
+    #endif])],
+  [libc_mips_abi=o32],
+  [AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM([
+      #if (_MIPS_SIM != _ABIN32)
+      #error Not N32 ABI
+      #endif])],
+    [libc_mips_abi=n32],
+    [AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM([
+        #if (_MIPS_SIM != _ABI64)
+        #error Not 64 ABI
+        #endif])],
+      [libc_mips_abi=n64],
+      [])])])
+
+if test -z "$libc_mips_abi"; then
+  AC_MSG_ERROR([could not determine what ABI the compiler is using])
+fi
+
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([
+    #if !defined(__mips_soft_float)
+    #error Not soft ABI
+    #endif])],
+  [libc_mips_float=soft],
+  [AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM([
+      #if !defined(__mips_hard_float)
+      #error Not hard ABI
+      #endif])],
+    [libc_mips_float=hard],
+    [])])
+
+if test -z "$libc_mips_float"; then
+  AC_MSG_ERROR([could not determine if compiler is using hard or soft floating point ABI])
+fi
+
+libc_mips_o32_fp=
+libc_cv_mips_fp64=
+libc_cv_mips_modd_spreg=
+
+if test x"$libc_mips_abi" = xo32 -a x"$libc_mips_float" = xhard; then
+  AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM([
+      #if !defined(__mips_fpr)
+      #error Missing FPR sizes
+      #endif])],
+    [AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM([
+        #if (__mips_fpr != 32)
+        #error Not FP32
+        #endif])],
+      [libc_mips_o32_fp=32],
+      [AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM([
+          #if (__mips_fpr != 0) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16)
+          #error Not FPXX (without odd single-precision registers)
+          #endif])],
+        [libc_mips_o32_fp=xx],
+        [AC_COMPILE_IFELSE(
+          [AC_LANG_PROGRAM([
+            #if (__mips_fpr != 0)
+            #error Not FPXX (with odd single precision registers)
+            #endif])],
+          [libc_mips_o32_fp=xxo],
+          [AC_COMPILE_IFELSE(
+            [AC_LANG_PROGRAM([
+              #if (__mips_fpr != 64) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16)
+              #error Not FP64A
+              #endif])],
+            [libc_mips_o32_fp=64a],
+            [AC_COMPILE_IFELSE(
+              [AC_LANG_PROGRAM([
+                #if (__mips_fpr != 64)
+                #error Not FP64
+                #endif])],
+              [libc_mips_o32_fp=64],
+              [])])])])])],
+    [])
+
+  LIBC_TRY_CC_OPTION([-mfp64], [libc_cv_mips_fp64=yes], [libc_cv_mips_fp64=no])
+  LIBC_TRY_CC_OPTION([-Werror -modd-spreg], [libc_cv_mips_modd_spreg=yes], [libc_cv_mips_modd_spreg=no])
+fi
+LIBC_CONFIG_VAR([o32-fpabi],[${libc_mips_o32_fp}])
+LIBC_CONFIG_VAR([has-mpf64],[${libc_cv_mips_fp64}])
+LIBC_CONFIG_VAR([has-modd-spreg],[${libc_cv_mips_modd_spreg}])
+
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([
+    #include <linux/prctl.h>
+    #if !defined(PR_GET_FP_MODE) || !defined(PR_SET_FP_MODE)
+    #error New prctl support for setting FP modes not found
+    #endif])],
+  [libc_mips_mode_switch=yes],
+  [libc_mips_mode_switch=no])
+LIBC_CONFIG_VAR([mips-mode-switch],[${libc_mips_mode_switch}])
+
+AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
+  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
+#ifdef __mips_nan2008
+yes
+#endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
+
+libc_mips_nan=
+if test x"$libc_cv_mips_nan2008" = xyes; then
+  libc_mips_nan=_2008
+fi
+
+LIBC_CONFIG_VAR([default-abi],
+  [${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}])
+
+case $machine in
+mips/mips64/n64/*)
+  LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
+  ;;
+mips/mips64/n32/*)
+  LIBC_SLIBDIR_RTLDDIR([lib32], [lib32])
+  ;;
+esac
+
+libc_cv_gcc_unwind_find_fde=yes
+
+if test -z "$arch_minimum_kernel"; then
+  if test x$libc_cv_mips_nan2008 = xyes; then
+    arch_minimum_kernel=4.5.0
+  fi
+fi
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-cache.h
new file mode 100644
index 0000000000..573a5dcb9f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-cache.h
@@ -0,0 +1,72 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldconfig.h>
+
+#if ((defined __mips_nan2008 && !defined HAVE_MIPS_NAN2008) \
+     || (!defined __mips_nan2008 && defined HAVE_MIPS_NAN2008))
+# error "Configuration inconsistency: __mips_nan2008 != HAVE_MIPS_NAN2008, overridden CFLAGS?"
+#endif
+
+/* Redefine the cache ID for new ABIs and 2008 NaN support; legacy o32
+   keeps using the generic check.  */
+#ifdef __mips_nan2008
+# if _MIPS_SIM == _ABIO32
+#  define _DL_CACHE_DEFAULT_ID	(FLAG_MIPS_LIB32_NAN2008 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABI64
+#  define _DL_CACHE_DEFAULT_ID	(FLAG_MIPS64_LIBN64_NAN2008 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABIN32
+#  define _DL_CACHE_DEFAULT_ID	(FLAG_MIPS64_LIBN32_NAN2008 | FLAG_ELF_LIBC6)
+# endif
+#else
+# if _MIPS_SIM == _ABI64
+#  define _DL_CACHE_DEFAULT_ID	(FLAG_MIPS64_LIBN64 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABIN32
+#  define _DL_CACHE_DEFAULT_ID	(FLAG_MIPS64_LIBN32 | FLAG_ELF_LIBC6)
+# endif
+#endif
+
+#ifdef _DL_CACHE_DEFAULT_ID
+# define _dl_cache_check_flags(flags) \
+  ((flags) == _DL_CACHE_DEFAULT_ID)
+#endif
+
+#define add_system_dir(dir) \
+  do								\
+    {								\
+      size_t len = strlen (dir);				\
+      char path[len + 3];					\
+      memcpy (path, dir, len + 1);				\
+      if (len >= 6						\
+	  && (! memcmp (path + len - 6, "/lib64", 6)		\
+	      || ! memcmp (path + len - 6, "/lib32", 6)))	\
+	{							\
+	  len -= 2;						\
+	  path[len] = '\0';					\
+	}							\
+      add_dir (path);						\
+      if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4))	\
+	{							\
+	  memcpy (path + len, "32", 3);				\
+	  add_dir (path);					\
+	  memcpy (path + len, "64", 3);				\
+	  add_dir (path);					\
+	}							\
+    } while (0)
+
+#include_next <dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-static.c
new file mode 100644
index 0000000000..8884fadaf2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  MIPS version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0
+    };
+
+  GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize)
+};
+
+static void
+_dl_unprotect_relro (struct link_map *l)
+{
+  ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
+		      & ~(GLRO(dl_pagesize) - 1));
+  ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
+		    & ~(GLRO(dl_pagesize) - 1));
+
+  if (start != end)
+    __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
+}
+
+void
+_dl_static_init (struct link_map *l)
+{
+  struct link_map *rtld_map = l;
+  struct r_scope_elem **scope;
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+  size_t i;
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
+				  NULL, 0, 1, NULL);
+
+  for (scope = l->l_local_scope; *scope != NULL; scope++)
+    for (i = 0; i < (*scope)->r_nlist; i++)
+      if ((*scope)->r_list[i] == loadbase)
+	{
+	  rtld_map = (*scope)->r_list[i];
+	  break;
+	}
+
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      _dl_unprotect_relro (rtld_map);
+      f (variables);
+      _dl_protect_relro (rtld_map);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getcontext.S
new file mode 100644
index 0000000000..64de2ebf2e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getcontext.S
@@ -0,0 +1,154 @@
+/* Save current context.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maciej W. Rozycki <macro@codesourcery.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 <sysdep.h>
+#include <sys/asm.h>
+#include <sys/fpregdef.h>
+#include <sys/regdef.h>
+
+#include "ucontext_i.h"
+
+/* int getcontext (ucontext_t *ucp) */
+
+	.text
+	.set	nomips16
+LOCALSZ = 0
+MASK = 0x00000000
+#ifdef __PIC__
+LOCALSZ = 1						/* save gp */
+# if _MIPS_SIM != _ABIO32
+MASK = 0x10000000
+# endif
+#endif
+FRAMESZ = ((LOCALSZ * SZREG) + ALSZ) & ALMASK
+GPOFF = FRAMESZ - (1 * SZREG)
+
+NESTED (__getcontext, FRAMESZ, ra)
+	.mask	MASK, 0
+	.fmask	0x00000000, 0
+
+#ifdef __PIC__
+	SETUP_GP
+
+	move	a2, sp
+# define _SP a2
+
+# if _MIPS_SIM != _ABIO32
+	move	a3, gp
+#  define _GP a3
+# endif
+
+	PTR_ADDIU sp, -FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+	SETUP_GP64_STACK (GPOFF, __getcontext)
+	SAVE_GP (GPOFF)
+
+#else  /* ! __PIC__ */
+# define _SP sp
+# define _GP gp
+
+#endif /* ! __PIC__ */
+
+#ifdef PROF
+	.set	noat
+	move	AT, ra
+	jal	_mcount
+	.set	at
+#endif
+
+	/* Store a magic flag.	*/
+	li	v1, 1
+	REG_S	v1, (0 * SZREG + MCONTEXT_GREGS)(a0)	/* zero */
+
+	REG_S	s0, (16 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s1, (17 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s2, (18 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s3, (19 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s4, (20 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s5, (21 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s6, (22 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s7, (23 * SZREG + MCONTEXT_GREGS)(a0)
+#if ! defined (__PIC__) || _MIPS_SIM != _ABIO32
+	REG_S	_GP, (28 * SZREG + MCONTEXT_GREGS)(a0)
+#endif
+	REG_S	_SP, (29 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	fp, (30 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	ra, (31 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	ra, MCONTEXT_PC(a0)
+
+#ifdef __mips_hard_float
+# if _MIPS_SIM == _ABI64
+	s.d	fs0, (24 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs1, (25 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs2, (26 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs3, (27 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs5, (29 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs6, (30 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs7, (31 * SZREG + MCONTEXT_FPREGS)(a0)
+
+# else  /* _MIPS_SIM != _ABI64 */
+	s.d	fs0, (20 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs1, (22 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs2, (24 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs3, (26 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs5, (30 * SZREG + MCONTEXT_FPREGS)(a0)
+
+# endif /* _MIPS_SIM != _ABI64 */
+
+	cfc1	v1, fcr31
+	sw	v1, MCONTEXT_FPC_CSR(a0)
+#endif /* __mips_hard_float */
+
+/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	li	a3, _NSIG8
+	PTR_ADDU a2, a0, UCONTEXT_SIGMASK
+	move	a1, zero
+	li	a0, SIG_BLOCK
+
+	li	v0, SYS_ify (rt_sigprocmask)
+	syscall
+	bnez	a3, 99f
+	cfi_remember_state
+
+#ifdef __PIC__
+	RESTORE_GP64_STACK
+	PTR_ADDIU sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+#endif
+	move	v0, zero
+	jr	ra
+
+99:
+	cfi_restore_state
+#ifdef __PIC__
+	PTR_LA	t9, JUMPTARGET (__syscall_error)
+	RESTORE_GP64_STACK
+	PTR_ADDIU sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	jr	t9
+
+#else  /* ! __PIC__ */
+
+	j	JUMPTARGET (__syscall_error)
+#endif /* ! __PIC__ */
+PSEUDO_END (__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/getmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getmsg.c
new file mode 100644
index 0000000000..3a1fa08525
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/getrlimit64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getrlimit64.c
new file mode 100644
index 0000000000..5193722bbc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getrlimit64.c
@@ -0,0 +1,68 @@
+/* Copyright (C) 2013-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 <sgidefs.h>
+
+#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
+
+# include <shlib-compat.h>
+
+# define getrlimit64 __new_getrlimit64
+# include <sysdeps/unix/sysv/linux/getrlimit64.c>
+# undef getrlimit64
+
+versioned_symbol (libc, __getrlimit64, getrlimit64, GLIBC_2_19);
+strong_alias (__getrlimit64, __GI_getrlimit64)
+
+# if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_19)
+
+/* RLIM64_INFINITY was supposed to be a glibc convention rather than
+   anything seen by the kernel, but it ended being passed to the kernel
+   through the prlimit64 syscall.  Given that a lot of binaries with
+   the wrong constant value are in the wild, provide a wrapper function
+   fixing the value after the syscall.  */
+
+#  define OLD_RLIM64_INFINITY		0x7fffffffffffffffULL
+
+int
+attribute_compat_text_section
+__old_getrlimit64 (enum __rlimit_resource resource,
+		   struct rlimit64 *rlimits)
+{
+  struct rlimit64 krlimits;
+
+  if (__getrlimit64 (resource, &krlimits) < 0)
+    return -1;
+
+  if (krlimits.rlim_cur == RLIM64_INFINITY)
+    rlimits->rlim_cur = OLD_RLIM64_INFINITY;
+  else
+    rlimits->rlim_cur = krlimits.rlim_cur;
+  if (krlimits.rlim_max == RLIM64_INFINITY)
+    rlimits->rlim_max = OLD_RLIM64_INFINITY;
+  else
+    rlimits->rlim_max = krlimits.rlim_max;
+
+  return 0;
+}
+
+compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_2);
+# endif
+
+#else /* !_ABI_O32 && !_ABI_N32 */
+# include <sysdeps/unix/sysv/linux/getrlimit64.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getsysstats.c
new file mode 100644
index 0000000000..625df807c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/getsysstats.c
@@ -0,0 +1,36 @@
+/* Determine various system internal values, Linux/MIPS 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/>.  */
+
+
+/* We need to define a special parser for /proc/cpuinfo.  */
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)	  \
+  do									  \
+    {									  \
+      (RESULT) = 0;							  \
+      /* Read all lines and count the lines starting with the string	  \
+	 "cpu model".  We don't have to fear extremely long lines since	  \
+	 the kernel will not generate them.  8192 bytes are really	  \
+	 enough.  */							  \
+      char *l;								  \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)  \
+	if (strncmp (l, "cpu model", 9) == 0)				  \
+	  ++(RESULT);							  \
+    }									  \
+  while (0)
+
+#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/init-first.c
new file mode 100644
index 0000000000..7892c0afde
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/init-first.c
@@ -0,0 +1,44 @@
+/* Initialization code run first thing by the ELF startup code.
+   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/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) attribute_hidden;
+int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
+
+  void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel-features.h
new file mode 100644
index 0000000000..d5d35afa4d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel-features.h
@@ -0,0 +1,49 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sgidefs.h>
+
+#include_next <kernel-features.h>
+
+/* The MIPS kernel does not support futex_atomic_cmpxchg_inatomic if
+   emulating LL/SC.  */
+#if __mips == 1 || defined _MIPS_ARCH_R5900
+# undef __ASSUME_SET_ROBUST_LIST
+#endif
+
+/* Define this if your 32-bit syscall API requires 64-bit register
+   pairs to start with an even-number register.  */
+#if _MIPS_SIM == _ABIO32
+# define __ASSUME_ALIGNED_REGISTER_PAIRS	1
+/* mips32 only supports ipc syscall.  */
+# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+
+/* The o32 MIPS fadvise64 syscall behaves as fadvise64_64.  */
+# define __ASSUME_FADVISE64_AS_64_64		1
+
+/* mips32 support wire-up network syscalls.  */
+# define __ASSUME_RECV_SYSCALL		1
+# define __ASSUME_SEND_SYSCALL		1
+#endif
+
+/* Define that mips64-n32 is a ILP32 ABI to set the correct interface to
+   pass 64-bits values through syscalls.  */
+#if _MIPS_SIM == _ABIN32
+# define __ASSUME_WORDSIZE64_ILP32	1
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h
new file mode 100644
index 0000000000..e870b207de
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+
+/* Linux kernel RT signal frame. */
+typedef struct kernel_rt_sigframe
+  {
+    uint32_t rs_ass[4];
+    uint32_t rs_code[2];
+    siginfo_t rs_info;
+    struct ucontext rs_uc;
+    uint32_t rs_altcode[8] __attribute__ ((__aligned__ (1 << 7)));
+  }
+kernel_rt_sigframe_t;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
new file mode 100644
index 0000000000..b6f52cc9c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
@@ -0,0 +1,40 @@
+/* This is the sigaction structure from the Linux 2.1.24 kernel.  */
+
+#include <sgidefs.h>
+
+#define HAVE_SA_RESTORER
+
+struct old_kernel_sigaction {
+	unsigned int	sa_flags;
+	__sighandler_t	k_sa_handler;
+	unsigned long	sa_mask;
+	unsigned int    __pad0[3]; /* reserved, keep size constant */
+
+	/* Abi says here follows reserved int[2] */
+	void		(*sa_restorer)(void);
+#if (_MIPS_SZPTR < 64)
+	/*
+	 * For 32 bit code we have to pad struct sigaction to get
+	 * constant size for the ABI
+	 */
+	int		pad1[1]; /* reserved */
+#endif
+};
+
+
+#define _KERNEL_NSIG	       128
+#define _KERNEL_NSIG_BPW       _MIPS_SZLONG
+#define _KERNEL_NSIG_WORDS     (_KERNEL_NSIG / _KERNEL_NSIG_BPW)
+
+typedef struct {
+	unsigned long sig[_KERNEL_NSIG_WORDS];
+} kernel_sigset_t;
+
+/* This is the sigaction structure from the Linux 2.1.68 kernel.  */
+struct kernel_sigaction {
+	unsigned int	sa_flags;
+	__sighandler_t	k_sa_handler;
+	kernel_sigset_t	sa_mask;
+	void		(*sa_restorer)(void);
+	int		s_resv[1]; /* reserved */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_stat.h
new file mode 100644
index 0000000000..388df1bfff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_stat.h
@@ -0,0 +1,60 @@
+#include <sgidefs.h>
+/* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the
+   userland data structures are not identical, because of different
+   padding.  */
+/* Definition of `struct stat' used in the kernel.  */
+#if _MIPS_SIM != _ABIO32
+struct kernel_stat
+  {
+    unsigned int st_dev;
+    unsigned int __pad1[3];
+    unsigned long long st_ino;
+    unsigned int st_mode;
+    unsigned int st_nlink;
+    int st_uid;
+    int st_gid;
+    unsigned int st_rdev;
+    unsigned int __pad2[3];
+    long long st_size;
+    unsigned int st_atime_sec;
+    unsigned int st_atime_nsec;
+    unsigned int st_mtime_sec;
+    unsigned int st_mtime_nsec;
+    unsigned int st_ctime_sec;
+    unsigned int st_ctime_nsec;
+    unsigned int st_blksize;
+    unsigned int __pad3;
+    unsigned long long st_blocks;
+  };
+#else
+struct kernel_stat
+  {
+    unsigned long int st_dev;
+    long int __pad1[3];			/* Reserved for network id */
+    unsigned long int st_ino;
+    unsigned long int st_mode;
+    unsigned long int st_nlink;
+    long int st_uid;
+    long int st_gid;
+    unsigned long int st_rdev;
+    long int __pad2[2];
+    long int st_size;
+    long int __pad3;
+    unsigned int st_atime_sec;
+    unsigned int st_atime_nsec;
+    unsigned int st_mtime_sec;
+    unsigned int st_mtime_nsec;
+    unsigned int st_ctime_sec;
+    unsigned int st_ctime_nsec;
+    long int st_blksize;
+    long int st_blocks;
+    char st_fstype[16];			/* Filesystem type name, unsupported */
+    long st_pad4[8];
+    /* Linux specific fields */
+    unsigned int st_flags;
+    unsigned int st_gen;
+  };
+#endif
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_termios.h
new file mode 100644
index 0000000000..7a0cbaec8a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/kernel_termios.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+/* The following corresponds to the values from the Linux 2.1.24 kernel.  */
+
+#define __KERNEL_NCCS 23
+
+struct __kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[__KERNEL_NCCS];	/* control characters */
+  };
+
+#endif /* kernel_termios.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ldsodefs.h
new file mode 100644
index 0000000000..daf37321c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ldsodefs.h
@@ -0,0 +1,40 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. MIPS.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+/* Allow ABIVERSION == 1, meaning PLTs and copy relocations are
+   required, with ELFOSABI_SYSV, and ELFOSABI_GNU.  */
+#undef VALID_ELF_ABIVERSION
+#define VALID_ELF_ABIVERSION(osabi,ver)			\
+  (ver == 0						\
+   || (osabi == ELFOSABI_SYSV && ver < 4)		\
+   || (osabi == ELFOSABI_GNU && ver < LIBC_ABI_MAX))
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-abis b/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-abis
new file mode 100644
index 0000000000..14ff60322a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-abis
@@ -0,0 +1,16 @@
+# See the copy of this file in libc for detailed explanations.  This
+# copy needs to include all libc definitions applicable to MIPS; only
+# one copy will be used.
+#
+# Feature Name	Configuration
+# ------------	-------------
+#
+# MIPS PLTs.
+MIPS_PLT	mips*-*-linux*
+#
+# Unique symbol definitions for C++.
+# Architecture independent, all ELF targets (== all targets)
+UNIQUE
+#
+# MIPS O32 FP64
+MIPS_O32_FP64   mips*-*-linux*
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-vdso.h
new file mode 100644
index 0000000000..9792f397ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/libc-vdso.h
@@ -0,0 +1,33 @@
+/* VDSO function pointer declarations.
+   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/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/makecontext.S
new file mode 100644
index 0000000000..5c3af04491
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/makecontext.S
@@ -0,0 +1,198 @@
+/* Modify saved context.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maciej W. Rozycki <macro@codesourcery.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 <sysdep.h>
+#include <sys/asm.h>
+#include <sys/fpregdef.h>
+#include <sys/regdef.h>
+
+#include "ucontext_i.h"
+
+/* int makecontext (ucontext_t *ucp, (void *func) (), int argc, ...) */
+
+	.text
+	.set	nomips16
+LOCALSZ = 0
+ARGSZ = 0
+MASK = 0x00000000
+#ifdef __PIC__
+LOCALSZ = 1						/* save gp */
+#endif
+#if _MIPS_SIM != _ABIO32
+ARGSZ = 5						/* save a3-a7 */
+# ifdef __PIC__
+MASK = 0x10000000
+# endif
+#endif
+FRAMESZ = (((ARGSZ + LOCALSZ) * SZREG) + ALSZ) & ALMASK
+GPOFF = FRAMESZ - ((ARGSZ + 1) * SZREG)
+#if _MIPS_SIM != _ABIO32
+A3OFF = FRAMESZ - (5 * SZREG)				/* callee-allocated */
+A4OFF = FRAMESZ - (4 * SZREG)
+A5OFF = FRAMESZ - (3 * SZREG)
+A6OFF = FRAMESZ - (2 * SZREG)
+A7OFF = FRAMESZ - (1 * SZREG)
+NARGREGS = 8
+#else
+A3OFF = FRAMESZ + (3 * SZREG)				/* caller-allocated */
+NARGREGS = 4
+#endif
+
+NESTED (__makecontext, FRAMESZ, ra)
+	.mask	MASK, -(ARGSZ * SZREG)
+	.fmask	0x00000000, 0
+
+98:
+#ifdef __PIC__
+	SETUP_GP
+#endif
+
+	PTR_ADDIU sp, -FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+
+#ifdef __PIC__
+	SETUP_GP64_STACK (GPOFF, __makecontext)
+	SAVE_GP (GPOFF)
+#endif
+
+#ifdef PROF
+	.set	noat
+	move	AT, ra
+	jal	_mcount
+	.set	at
+#endif
+
+	/* Store args to be passed.  */
+	REG_S	a3, A3OFF(sp)
+#if _MIPS_SIM != _ABIO32
+	REG_S	a4, A4OFF(sp)
+	REG_S	a5, A5OFF(sp)
+	REG_S	a6, A6OFF(sp)
+	REG_S	a7, A7OFF(sp)
+#endif
+
+	/* Store a magic flag.  */
+	li	v1, 1
+	REG_S	v1, (0 * SZREG + MCONTEXT_GREGS)(a0)	/* zero */
+
+	/* Set up the stack.  */
+	PTR_L	t0, STACK_SP(a0)
+	PTR_L	t2, STACK_SIZE(a0)
+	PTR_ADDIU t1, sp, A3OFF
+	PTR_ADDU t0, t2
+	and	t0, ALMASK
+	blez	a2, 2f					/* no arguments */
+
+	/* Store register arguments.  */
+	PTR_ADDIU t2, a0, MCONTEXT_GREGS + 4 * SZREG
+	move	t3, zero
+0:
+	addiu	t3, 1
+	REG_L	v1, (t1)
+	PTR_ADDIU t1, SZREG
+	REG_S	v1, (t2)
+	PTR_ADDIU t2, SZREG
+	bgeu	t3, a2, 2f				/* all done */
+	bltu	t3, NARGREGS, 0b			/* next */
+
+	/* Make room for stack arguments.  */
+	PTR_SUBU t2, a2, t3
+	PTR_SLL	t2, 3
+	PTR_SUBU t0, t2
+	and	t0, ALMASK
+
+	/* Store stack arguments.  */
+	move	t2, t0
+1:
+	addiu	t3, 1
+	REG_L	v1, (t1)
+	PTR_ADDIU t1, SZREG
+	REG_S	v1, (t2)
+	PTR_ADDIU t2, SZREG
+	bltu	t3, a2, 1b				/* next */
+
+2:
+#if _MIPS_SIM == _ABIO32
+	/* Make room for a0-a3 storage.  */
+	PTR_ADDIU t0, -(NARGSAVE * SZREG)
+#endif
+	PTR_L	v1, UCONTEXT_LINK(a0)
+#ifdef __PIC__
+	PTR_ADDIU t9, 99f - 98b
+#else
+	PTR_LA	t9, 99f
+#endif
+	REG_S	t0, (29 * SZREG + MCONTEXT_GREGS)(a0)	/* sp */
+	REG_S	v1, (16 * SZREG + MCONTEXT_GREGS)(a0)	/* s0 */
+#ifdef __PIC__
+	REG_S	gp, (17 * SZREG + MCONTEXT_GREGS)(a0)	/* s1 */
+#endif
+	REG_S	t9, (31 * SZREG + MCONTEXT_GREGS)(a0)	/* ra */
+	REG_S	a1, MCONTEXT_PC(a0)
+
+#ifdef __PIC__
+	RESTORE_GP64_STACK
+	PTR_ADDIU sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+#endif
+	jr	ra
+
+	/* We need to terminate the FDE to stop unwinding if backtrace was
+	   called within a context created by makecontext.  */
+	cfi_endproc
+	nop
+
+99:
+#ifdef __PIC__
+	move	gp, s1
+#endif
+	move	a0, zero
+	beqz	s0, 0f
+
+	/* setcontext (ucp) */
+	move	a0, s0
+#ifdef __PIC__
+	PTR_LA	t9, JUMPTARGET (__setcontext)
+	jalr	t9
+# if _MIPS_SIM == _ABIO32
+	move	gp, s1
+# endif
+#else
+	jal	JUMPTARGET (__setcontext)
+#endif
+	move	a0, v0
+
+0:
+	/* exit (a0) */
+#ifdef __PIC__
+	PTR_LA	t9, HIDDEN_JUMPTARGET (exit)
+	jalr	t9
+#else
+	jal	HIDDEN_JUMPTARGET (exit)
+#endif
+
+	/* You don't exist, you won't feel anything.  */
+1:
+	lb	zero, (zero)
+	b	1b
+
+	cfi_startproc
+PSEUDO_END (__makecontext)
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Makefile
new file mode 100644
index 0000000000..9439d29dea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Makefile
@@ -0,0 +1,4 @@
+ifeq ($(subdir),conform)
+# For bugs 17786 and 21278.
+conformtest-xfail-conds += mips-o32-linux
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Versions
new file mode 100644
index 0000000000..9621fb5cae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.19 {
+    getrlimit64;
+    setrlimit64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
new file mode 100644
index 0000000000..907ab331f2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -0,0 +1,2256 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _flush_cache F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 cachectl F
+GLIBC_2.0 cacheflush F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 sysmips F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.18 __mips_fpu_getcw F
+GLIBC_2.18 __mips_fpu_setcw F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 getrlimit64 F
+GLIBC_2.19 setrlimit64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_do_write F
+GLIBC_2.2 _IO_fclose F
+GLIBC_2.2 _IO_fdopen F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_file_attach F
+GLIBC_2.2 _IO_file_close_it 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_overflow F
+GLIBC_2.2 _IO_file_seekoff F
+GLIBC_2.2 _IO_file_setbuf 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_fopen 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_getline_info F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_popen F
+GLIBC_2.2 _IO_proc_close F
+GLIBC_2.2 _IO_proc_open F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __asprintf F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __backtrace F
+GLIBC_2.2 __backtrace_symbols F
+GLIBC_2.2 __backtrace_symbols_fd F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+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 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __freelocale F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __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 __islower_l 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_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 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_gendes_LOCAL D 0x4
+GLIBC_2.2 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __libc_freeres F
+GLIBC_2.2 __libc_sa_len F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __newlocale F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __poll F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __sigsuspend F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __stpcpy_small 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 __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_l F
+GLIBC_2.2 __strtof_l F
+GLIBC_2.2 __strtok_r_1c F
+GLIBC_2.2 __strtol_l F
+GLIBC_2.2 __strtold_l F
+GLIBC_2.2 __strtoll_l F
+GLIBC_2.2 __strtoul_l 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 __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 __vfork F
+GLIBC_2.2 __wcscasecmp_l F
+GLIBC_2.2 __wcscoll_l F
+GLIBC_2.2 __wcsncasecmp_l F
+GLIBC_2.2 __wcstod_l F
+GLIBC_2.2 __wcstof_l F
+GLIBC_2.2 __wcstol_l F
+GLIBC_2.2 __wcstold_l F
+GLIBC_2.2 __wcstoll_l F
+GLIBC_2.2 __wcstoul_l 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 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause 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 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 _sys_errlist D 0x11b8
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x100
+GLIBC_2.2 _test_and_set F
+GLIBC_2.2 addseverity 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 0x4
+GLIBC_2.2 argp_program_version D 0x4
+GLIBC_2.2 argp_program_version_hook D 0x4
+GLIBC_2.2 argp_state_help F
+GLIBC_2.2 argp_usage F
+GLIBC_2.2 authdes_create F
+GLIBC_2.2 authdes_getucred F
+GLIBC_2.2 authdes_pk_create F
+GLIBC_2.2 backtrace F
+GLIBC_2.2 backtrace_symbols F
+GLIBC_2.2 backtrace_symbols_fd F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 capget F
+GLIBC_2.2 capset F
+GLIBC_2.2 cbc_crypt F
+GLIBC_2.2 clntunix_create F
+GLIBC_2.2 creat64 F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 des_setparity F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 ecb_crypt F
+GLIBC_2.2 endutxent F
+GLIBC_2.2 fattach F
+GLIBC_2.2 fclose F
+GLIBC_2.2 fdetach F
+GLIBC_2.2 fdopen F
+GLIBC_2.2 ffsl F
+GLIBC_2.2 ffsll F
+GLIBC_2.2 fgetc_unlocked F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgets_unlocked F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fmtmsg F
+GLIBC_2.2 fopen F
+GLIBC_2.2 fopen64 F
+GLIBC_2.2 fopencookie 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_unlocked F
+GLIBC_2.2 freopen64 F
+GLIBC_2.2 fseeko F
+GLIBC_2.2 fseeko64 F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fstatfs64 F
+GLIBC_2.2 fstatvfs F
+GLIBC_2.2 fstatvfs64 F
+GLIBC_2.2 ftello F
+GLIBC_2.2 ftello64 F
+GLIBC_2.2 ftruncate64 F
+GLIBC_2.2 ftw64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwrite_unlocked F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 gai_strerror F
+GLIBC_2.2 getaliasbyname_r F
+GLIBC_2.2 getaliasent_r F
+GLIBC_2.2 getcontext F
+GLIBC_2.2 getdate F
+GLIBC_2.2 getdate_err D 0x4
+GLIBC_2.2 getdate_r F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getgrent_r F
+GLIBC_2.2 getgrgid_r F
+GLIBC_2.2 getgrnam_r F
+GLIBC_2.2 gethostbyaddr_r F
+GLIBC_2.2 gethostbyname2_r F
+GLIBC_2.2 gethostbyname_r F
+GLIBC_2.2 gethostent_r F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getmsg F
+GLIBC_2.2 getnameinfo F
+GLIBC_2.2 getnetbyaddr_r F
+GLIBC_2.2 getnetbyname_r F
+GLIBC_2.2 getnetent_r F
+GLIBC_2.2 getnetname F
+GLIBC_2.2 getpmsg F
+GLIBC_2.2 getprotobyname_r F
+GLIBC_2.2 getprotobynumber_r F
+GLIBC_2.2 getprotoent_r F
+GLIBC_2.2 getpt F
+GLIBC_2.2 getpwent_r F
+GLIBC_2.2 getpwnam_r F
+GLIBC_2.2 getpwuid_r F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getrpcbyname_r F
+GLIBC_2.2 getrpcbynumber_r F
+GLIBC_2.2 getrpcent_r F
+GLIBC_2.2 getservbyname_r F
+GLIBC_2.2 getservbyport_r F
+GLIBC_2.2 getservent_r F
+GLIBC_2.2 getspent_r F
+GLIBC_2.2 getspnam_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 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 globfree64 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 host2netname 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 iruserok_af F
+GLIBC_2.2 isastream F
+GLIBC_2.2 iswblank 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 localeconv F
+GLIBC_2.2 lockf64 F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 makecontext F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 mempcpy F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 mmap64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 netname2host F
+GLIBC_2.2 netname2user F
+GLIBC_2.2 nftw F
+GLIBC_2.2 nftw64 F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 ntp_adjtime F
+GLIBC_2.2 ntp_gettime F
+GLIBC_2.2 open64 F
+GLIBC_2.2 passwd2des F
+GLIBC_2.2 pclose 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 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 printf_size F
+GLIBC_2.2 printf_size_info F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 ptsname F
+GLIBC_2.2 ptsname_r F
+GLIBC_2.2 putgrent F
+GLIBC_2.2 putmsg F
+GLIBC_2.2 putpmsg F
+GLIBC_2.2 pututxline 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 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 rawmemchr F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 rtime F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 sendfile F
+GLIBC_2.2 setrlimit64 F
+GLIBC_2.2 setutxent F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 sighold F
+GLIBC_2.2 sigignore F
+GLIBC_2.2 sigqueue F
+GLIBC_2.2 sigrelse F
+GLIBC_2.2 sigset F
+GLIBC_2.2 sigtimedwait F
+GLIBC_2.2 sigwaitinfo F
+GLIBC_2.2 statfs64 F
+GLIBC_2.2 statvfs F
+GLIBC_2.2 statvfs64 F
+GLIBC_2.2 strcasestr F
+GLIBC_2.2 strchrnul F
+GLIBC_2.2 strtoimax F
+GLIBC_2.2 strtoumax F
+GLIBC_2.2 strverscmp F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 svcunix_create F
+GLIBC_2.2 svcunixfd_create F
+GLIBC_2.2 swapcontext F
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 sys_errlist D 0x11b8
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x100
+GLIBC_2.2 sys_siglist D 0x100
+GLIBC_2.2 sysv_signal F
+GLIBC_2.2 tcgetsid F
+GLIBC_2.2 tdestroy F
+GLIBC_2.2 tmpfile F
+GLIBC_2.2 tmpfile64 F
+GLIBC_2.2 truncate64 F
+GLIBC_2.2 umount2 F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 unlockpt F
+GLIBC_2.2 updwtmpx F
+GLIBC_2.2 user2netname F
+GLIBC_2.2 utmpxname F
+GLIBC_2.2 versionsort F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 waitid F
+GLIBC_2.2 wcscasecmp F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wcsncasecmp F
+GLIBC_2.2 wcsnlen F
+GLIBC_2.2 wcstoimax F
+GLIBC_2.2 wcstoll F
+GLIBC_2.2 wcstoull F
+GLIBC_2.2 wcstoumax F
+GLIBC_2.2 wcswcs F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wordexp F
+GLIBC_2.2 wordfree F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2 xdecrypt F
+GLIBC_2.2 xdr_authdes_cred F
+GLIBC_2.2 xdr_authdes_verf F
+GLIBC_2.2 xdr_getcredres F
+GLIBC_2.2 xdr_hyper 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_longlong_t F
+GLIBC_2.2 xdr_netnamestr F
+GLIBC_2.2 xdr_sizeof F
+GLIBC_2.2 xdr_u_hyper F
+GLIBC_2.2 xdr_u_longlong_t 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_unixcred F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 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 0x200
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x200
+GLIBC_2.3.3 sys_siglist D 0x200
+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 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 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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
new file mode 100644
index 0000000000..651b952524
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
@@ -0,0 +1,14 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x4
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __stack_chk_guard D 0x4
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..8c497b477e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist
@@ -0,0 +1,3 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist
new file mode 100644
index 0000000000..bcfbf9e199
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist
@@ -0,0 +1,6 @@
+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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist
new file mode 100644
index 0000000000..c9d2e54530
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist
@@ -0,0 +1,9 @@
+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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
new file mode 100644
index 0000000000..55f8a1e5e9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
@@ -0,0 +1,15 @@
+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.2 GLIBC_2.2 A
+GLIBC_2.2 dlopen F
+GLIBC_2.2 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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
new file mode 100644
index 0000000000..000c011495
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -0,0 +1,435 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.2 GLIBC_2.2 A
+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 __signbit F
+GLIBC_2.2 __signbitf 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 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 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 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 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 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 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 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 log2 F
+GLIBC_2.2 log2f F
+GLIBC_2.2 log2l 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 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 nexttoward F
+GLIBC_2.2 nexttowardf F
+GLIBC_2.2 nexttowardl F
+GLIBC_2.2 pow10 F
+GLIBC_2.2 pow10f F
+GLIBC_2.2 pow10l F
+GLIBC_2.2 remquo F
+GLIBC_2.2 remquof F
+GLIBC_2.2 remquol F
+GLIBC_2.2 round F
+GLIBC_2.2 roundf F
+GLIBC_2.2 roundl F
+GLIBC_2.2 scalbln F
+GLIBC_2.2 scalblnf F
+GLIBC_2.2 scalblnl F
+GLIBC_2.2 sincos F
+GLIBC_2.2 sincosf F
+GLIBC_2.2 sincosl 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.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 exp2l F
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist
new file mode 100644
index 0000000000..53b4608235
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/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.2 GLIBC_2.2 A
+GLIBC_2.2 __free_fdresult F
+GLIBC_2.2 __nis_default_access F
+GLIBC_2.2 __nis_default_group F
+GLIBC_2.2 __nis_default_owner F
+GLIBC_2.2 __nis_default_ttl F
+GLIBC_2.2 __nis_finddirectory F
+GLIBC_2.2 __nis_hash F
+GLIBC_2.2 __nisbind_connect F
+GLIBC_2.2 __nisbind_create F
+GLIBC_2.2 __nisbind_destroy F
+GLIBC_2.2 __nisbind_next F
+GLIBC_2.2 nis_add F
+GLIBC_2.2 nis_add_entry F
+GLIBC_2.2 nis_addmember F
+GLIBC_2.2 nis_checkpoint F
+GLIBC_2.2 nis_clone_directory F
+GLIBC_2.2 nis_clone_object F
+GLIBC_2.2 nis_clone_result F
+GLIBC_2.2 nis_creategroup F
+GLIBC_2.2 nis_destroy_object F
+GLIBC_2.2 nis_destroygroup F
+GLIBC_2.2 nis_dir_cmp F
+GLIBC_2.2 nis_domain_of F
+GLIBC_2.2 nis_domain_of_r F
+GLIBC_2.2 nis_first_entry F
+GLIBC_2.2 nis_free_directory F
+GLIBC_2.2 nis_free_object F
+GLIBC_2.2 nis_free_request F
+GLIBC_2.2 nis_freenames F
+GLIBC_2.2 nis_freeresult F
+GLIBC_2.2 nis_freeservlist F
+GLIBC_2.2 nis_freetags F
+GLIBC_2.2 nis_getnames F
+GLIBC_2.2 nis_getservlist F
+GLIBC_2.2 nis_ismember F
+GLIBC_2.2 nis_leaf_of F
+GLIBC_2.2 nis_leaf_of_r F
+GLIBC_2.2 nis_lerror F
+GLIBC_2.2 nis_list F
+GLIBC_2.2 nis_local_directory F
+GLIBC_2.2 nis_local_group F
+GLIBC_2.2 nis_local_host F
+GLIBC_2.2 nis_local_principal F
+GLIBC_2.2 nis_lookup F
+GLIBC_2.2 nis_mkdir F
+GLIBC_2.2 nis_modify F
+GLIBC_2.2 nis_modify_entry F
+GLIBC_2.2 nis_name_of F
+GLIBC_2.2 nis_name_of_r F
+GLIBC_2.2 nis_next_entry F
+GLIBC_2.2 nis_perror F
+GLIBC_2.2 nis_ping F
+GLIBC_2.2 nis_print_directory F
+GLIBC_2.2 nis_print_entry F
+GLIBC_2.2 nis_print_group F
+GLIBC_2.2 nis_print_group_entry F
+GLIBC_2.2 nis_print_link F
+GLIBC_2.2 nis_print_object F
+GLIBC_2.2 nis_print_result F
+GLIBC_2.2 nis_print_rights F
+GLIBC_2.2 nis_print_table F
+GLIBC_2.2 nis_read_obj F
+GLIBC_2.2 nis_remove F
+GLIBC_2.2 nis_remove_entry F
+GLIBC_2.2 nis_removemember F
+GLIBC_2.2 nis_rmdir F
+GLIBC_2.2 nis_servstate F
+GLIBC_2.2 nis_sperrno F
+GLIBC_2.2 nis_sperror F
+GLIBC_2.2 nis_sperror_r F
+GLIBC_2.2 nis_stats F
+GLIBC_2.2 nis_verifygroup F
+GLIBC_2.2 nis_write_obj F
+GLIBC_2.2 readColdStartFile F
+GLIBC_2.2 writeColdStartFile F
+GLIBC_2.2 xdr_cback_data F
+GLIBC_2.2 xdr_obj_p F
+GLIBC_2.2 xdr_ypall F
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist
new file mode 100644
index 0000000000..db6b02789d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist
@@ -0,0 +1 @@
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
new file mode 100644
index 0000000000..280d99d974
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -0,0 +1,257 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.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 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __vfork F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getguardsize 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_setguardsize 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_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_create F
+GLIBC_2.2 pthread_getconcurrency F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_mutexattr_settype 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_setconcurrency F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_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.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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
new file mode 100644
index 0000000000..1f89eb6cd9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
@@ -0,0 +1,101 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __b64_ntop F
+GLIBC_2.0 __b64_pton F
+GLIBC_2.0 __dn_comp F
+GLIBC_2.0 __dn_count_labels F
+GLIBC_2.0 __dn_skipname F
+GLIBC_2.0 __fp_nquery F
+GLIBC_2.0 __fp_query F
+GLIBC_2.0 __fp_resstat F
+GLIBC_2.0 __hostalias F
+GLIBC_2.0 __loc_aton F
+GLIBC_2.0 __loc_ntoa F
+GLIBC_2.0 __p_cdname F
+GLIBC_2.0 __p_cdnname F
+GLIBC_2.0 __p_class F
+GLIBC_2.0 __p_class_syms D 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
new file mode 100644
index 0000000000..61f63e1524
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 aio_cancel F
+GLIBC_2.2 aio_cancel64 F
+GLIBC_2.2 aio_error F
+GLIBC_2.2 aio_error64 F
+GLIBC_2.2 aio_fsync F
+GLIBC_2.2 aio_fsync64 F
+GLIBC_2.2 aio_init F
+GLIBC_2.2 aio_read F
+GLIBC_2.2 aio_read64 F
+GLIBC_2.2 aio_return F
+GLIBC_2.2 aio_return64 F
+GLIBC_2.2 aio_suspend F
+GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
+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 lio_listio F
+GLIBC_2.2 lio_listio64 F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist
new file mode 100644
index 0000000000..e47140b61c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist
@@ -0,0 +1,45 @@
+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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist
new file mode 100644
index 0000000000..ce712a238c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist
@@ -0,0 +1,8 @@
+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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
new file mode 100644
index 0000000000..fa9fcb7e6f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
@@ -0,0 +1,13 @@
+ifeq ($(subdir),misc)
+sysdep_routines += mips16-syscall0 mips16-syscall1 mips16-syscall2
+sysdep_routines += mips16-syscall3 mips16-syscall4 mips16-syscall5
+sysdep_routines += mips16-syscall6 mips16-syscall7
+CFLAGS-mips16-syscall0.c += -fexceptions
+CFLAGS-mips16-syscall1.c += -fexceptions
+CFLAGS-mips16-syscall2.c += -fexceptions
+CFLAGS-mips16-syscall3.c += -fexceptions
+CFLAGS-mips16-syscall4.c += -fexceptions
+CFLAGS-mips16-syscall5.c += -fexceptions
+CFLAGS-mips16-syscall6.c += -fexceptions
+CFLAGS-mips16-syscall7.c += -fexceptions
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
new file mode 100644
index 0000000000..73bcfb566c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_PRIVATE {
+    __mips16_syscall0; __mips16_syscall1; __mips16_syscall2; __mips16_syscall3;
+    __mips16_syscall4; __mips16_syscall5; __mips16_syscall6; __mips16_syscall7;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
new file mode 100644
index 0000000000..880e9908e8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
@@ -0,0 +1,89 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-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 MIPS16_SYSCALL_H
+#define MIPS16_SYSCALL_H 1
+
+#define __nomips16 __attribute__ ((nomips16))
+
+union __mips16_syscall_return
+  {
+    long long val;
+    struct
+      {
+	long v0;
+	long v1;
+      }
+    reg;
+  };
+
+long long __nomips16 __mips16_syscall0 (long number);
+#define __mips16_syscall0(dummy, number)				\
+	__mips16_syscall0 ((long) (number))
+
+long long __nomips16 __mips16_syscall1 (long a0,
+					long number);
+#define __mips16_syscall1(a0, number)					\
+	__mips16_syscall1 ((long) (a0),					\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall2 (long a0, long a1,
+					long number);
+#define __mips16_syscall2(a0, a1, number)				\
+	__mips16_syscall2 ((long) (a0), (long) (a1),			\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall3 (long a0, long a1, long a2,
+					long number);
+#define __mips16_syscall3(a0, a1, a2, number)				\
+	__mips16_syscall3 ((long) (a0), (long) (a1), (long) (a2),	\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall4 (long a0, long a1, long a2, long a3,
+					long number);
+#define __mips16_syscall4(a0, a1, a2, a3, number)			\
+	__mips16_syscall4 ((long) (a0), (long) (a1), (long) (a2),	\
+			   (long) (a3),					\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall5 (long a0, long a1, long a2, long a3,
+					long a4,
+					long number);
+#define __mips16_syscall5(a0, a1, a2, a3, a4, number)			\
+	__mips16_syscall5 ((long) (a0), (long) (a1), (long) (a2),	\
+			   (long) (a3), (long) (a4),			\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall6 (long a0, long a1, long a2, long a3,
+					long a4, long a5,
+					long number);
+#define __mips16_syscall6(a0, a1, a2, a3, a4, a5, number)		\
+	__mips16_syscall6 ((long) (a0), (long) (a1), (long) (a2),	\
+			   (long) (a3), (long) (a4), (long) (a5),	\
+			   (long) (number))
+
+long long __nomips16 __mips16_syscall7 (long a0, long a1, long a2, long a3,
+					long a4, long a5, long a6,
+					long number);
+#define __mips16_syscall7(a0, a1, a2, a3, a4, a5, a6, number)		\
+	__mips16_syscall7 ((long) (a0), (long) (a1), (long) (a2),	\
+			   (long) (a3), (long) (a4), (long) (a5),	\
+			   (long) (a6),					\
+			   (long) (number))
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
new file mode 100644
index 0000000000..490245b34e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
@@ -0,0 +1,30 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall0
+
+long long __nomips16
+__mips16_syscall0 (long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 0);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
new file mode 100644
index 0000000000..3061e8accb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
@@ -0,0 +1,32 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall1
+
+long long __nomips16
+__mips16_syscall1 (long a0,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 1,
+					a0);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
new file mode 100644
index 0000000000..440a4ed285
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
@@ -0,0 +1,32 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall2
+
+long long __nomips16
+__mips16_syscall2 (long a0, long a1,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 2,
+					a0, a1);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
new file mode 100644
index 0000000000..c3f83fc1f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
@@ -0,0 +1,32 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall3
+
+long long __nomips16
+__mips16_syscall3 (long a0, long a1, long a2,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 3,
+					a0, a1, a2);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
new file mode 100644
index 0000000000..496297d296
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
@@ -0,0 +1,32 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall4
+
+long long __nomips16
+__mips16_syscall4 (long a0, long a1, long a2, long a3,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 4,
+					a0, a1, a2, a3);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c
new file mode 100644
index 0000000000..ad265d88e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c
@@ -0,0 +1,33 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall5
+
+long long __nomips16
+__mips16_syscall5 (long a0, long a1, long a2, long a3,
+		   long a4,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 5,
+					a0, a1, a2, a3, a4);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c
new file mode 100644
index 0000000000..bfbd395ed3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c
@@ -0,0 +1,33 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall6
+
+long long __nomips16
+__mips16_syscall6 (long a0, long a1, long a2, long a3,
+		   long a4, long a5,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 6,
+					a0, a1, a2, a3, a4, a5);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c
new file mode 100644
index 0000000000..e1267616dc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c
@@ -0,0 +1,33 @@
+/* MIPS16 syscall wrappers.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <mips16-syscall.h>
+
+#undef __mips16_syscall7
+
+long long __nomips16
+__mips16_syscall7 (long a0, long a1, long a2, long a3,
+		   long a4, long a5, long a6,
+		   long number)
+{
+  union __mips16_syscall_return ret;
+  ret.reg.v0 = INTERNAL_SYSCALL_MIPS16 (number, ret.reg.v1, 7,
+					a0, a1, a2, a3, a4, a5, a6);
+  return ret.val;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
new file mode 100644
index 0000000000..36ee235d71
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -0,0 +1,2254 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _flush_cache F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 cachectl F
+GLIBC_2.0 cacheflush F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 sysmips F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 getrlimit64 F
+GLIBC_2.19 setrlimit64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_do_write F
+GLIBC_2.2 _IO_fclose F
+GLIBC_2.2 _IO_fdopen F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_file_attach F
+GLIBC_2.2 _IO_file_close_it 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_overflow F
+GLIBC_2.2 _IO_file_seekoff F
+GLIBC_2.2 _IO_file_setbuf 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_fopen 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_getline_info F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_popen F
+GLIBC_2.2 _IO_proc_close F
+GLIBC_2.2 _IO_proc_open F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __asprintf F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __backtrace F
+GLIBC_2.2 __backtrace_symbols F
+GLIBC_2.2 __backtrace_symbols_fd F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+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 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __freelocale F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __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 __islower_l 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_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 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_gendes_LOCAL D 0x4
+GLIBC_2.2 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __libc_freeres F
+GLIBC_2.2 __libc_sa_len F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __newlocale F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __poll F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __sigsuspend F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __stpcpy_small 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 __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_l F
+GLIBC_2.2 __strtof_l F
+GLIBC_2.2 __strtok_r_1c F
+GLIBC_2.2 __strtol_l F
+GLIBC_2.2 __strtold_l F
+GLIBC_2.2 __strtoll_l F
+GLIBC_2.2 __strtoul_l 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 __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 __vfork F
+GLIBC_2.2 __wcscasecmp_l F
+GLIBC_2.2 __wcscoll_l F
+GLIBC_2.2 __wcsncasecmp_l F
+GLIBC_2.2 __wcstod_l F
+GLIBC_2.2 __wcstof_l F
+GLIBC_2.2 __wcstol_l F
+GLIBC_2.2 __wcstold_l F
+GLIBC_2.2 __wcstoll_l F
+GLIBC_2.2 __wcstoul_l 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 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause 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 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 _sys_errlist D 0x11b8
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x100
+GLIBC_2.2 _test_and_set F
+GLIBC_2.2 addseverity 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 0x4
+GLIBC_2.2 argp_program_version D 0x4
+GLIBC_2.2 argp_program_version_hook D 0x4
+GLIBC_2.2 argp_state_help F
+GLIBC_2.2 argp_usage F
+GLIBC_2.2 authdes_create F
+GLIBC_2.2 authdes_getucred F
+GLIBC_2.2 authdes_pk_create F
+GLIBC_2.2 backtrace F
+GLIBC_2.2 backtrace_symbols F
+GLIBC_2.2 backtrace_symbols_fd F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 capget F
+GLIBC_2.2 capset F
+GLIBC_2.2 cbc_crypt F
+GLIBC_2.2 clntunix_create F
+GLIBC_2.2 creat64 F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 des_setparity F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 ecb_crypt F
+GLIBC_2.2 endutxent F
+GLIBC_2.2 fattach F
+GLIBC_2.2 fclose F
+GLIBC_2.2 fdetach F
+GLIBC_2.2 fdopen F
+GLIBC_2.2 ffsl F
+GLIBC_2.2 ffsll F
+GLIBC_2.2 fgetc_unlocked F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgets_unlocked F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fmtmsg F
+GLIBC_2.2 fopen F
+GLIBC_2.2 fopen64 F
+GLIBC_2.2 fopencookie 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_unlocked F
+GLIBC_2.2 freopen64 F
+GLIBC_2.2 fseeko F
+GLIBC_2.2 fseeko64 F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fstatfs64 F
+GLIBC_2.2 fstatvfs F
+GLIBC_2.2 fstatvfs64 F
+GLIBC_2.2 ftello F
+GLIBC_2.2 ftello64 F
+GLIBC_2.2 ftruncate64 F
+GLIBC_2.2 ftw64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwrite_unlocked F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 gai_strerror F
+GLIBC_2.2 getaliasbyname_r F
+GLIBC_2.2 getaliasent_r F
+GLIBC_2.2 getcontext F
+GLIBC_2.2 getdate F
+GLIBC_2.2 getdate_err D 0x4
+GLIBC_2.2 getdate_r F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getgrent_r F
+GLIBC_2.2 getgrgid_r F
+GLIBC_2.2 getgrnam_r F
+GLIBC_2.2 gethostbyaddr_r F
+GLIBC_2.2 gethostbyname2_r F
+GLIBC_2.2 gethostbyname_r F
+GLIBC_2.2 gethostent_r F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getmsg F
+GLIBC_2.2 getnameinfo F
+GLIBC_2.2 getnetbyaddr_r F
+GLIBC_2.2 getnetbyname_r F
+GLIBC_2.2 getnetent_r F
+GLIBC_2.2 getnetname F
+GLIBC_2.2 getpmsg F
+GLIBC_2.2 getprotobyname_r F
+GLIBC_2.2 getprotobynumber_r F
+GLIBC_2.2 getprotoent_r F
+GLIBC_2.2 getpt F
+GLIBC_2.2 getpwent_r F
+GLIBC_2.2 getpwnam_r F
+GLIBC_2.2 getpwuid_r F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getrpcbyname_r F
+GLIBC_2.2 getrpcbynumber_r F
+GLIBC_2.2 getrpcent_r F
+GLIBC_2.2 getservbyname_r F
+GLIBC_2.2 getservbyport_r F
+GLIBC_2.2 getservent_r F
+GLIBC_2.2 getspent_r F
+GLIBC_2.2 getspnam_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 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 globfree64 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 host2netname 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 iruserok_af F
+GLIBC_2.2 isastream F
+GLIBC_2.2 iswblank 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 localeconv F
+GLIBC_2.2 lockf64 F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 makecontext F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 mempcpy F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 mmap64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 netname2host F
+GLIBC_2.2 netname2user F
+GLIBC_2.2 nftw F
+GLIBC_2.2 nftw64 F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 ntp_adjtime F
+GLIBC_2.2 ntp_gettime F
+GLIBC_2.2 open64 F
+GLIBC_2.2 passwd2des F
+GLIBC_2.2 pclose 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 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 printf_size F
+GLIBC_2.2 printf_size_info F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 ptsname F
+GLIBC_2.2 ptsname_r F
+GLIBC_2.2 putgrent F
+GLIBC_2.2 putmsg F
+GLIBC_2.2 putpmsg F
+GLIBC_2.2 pututxline 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 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 rawmemchr F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 rtime F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 sendfile F
+GLIBC_2.2 setrlimit64 F
+GLIBC_2.2 setutxent F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 sighold F
+GLIBC_2.2 sigignore F
+GLIBC_2.2 sigqueue F
+GLIBC_2.2 sigrelse F
+GLIBC_2.2 sigset F
+GLIBC_2.2 sigtimedwait F
+GLIBC_2.2 sigwaitinfo F
+GLIBC_2.2 statfs64 F
+GLIBC_2.2 statvfs F
+GLIBC_2.2 statvfs64 F
+GLIBC_2.2 strcasestr F
+GLIBC_2.2 strchrnul F
+GLIBC_2.2 strtoimax F
+GLIBC_2.2 strtoumax F
+GLIBC_2.2 strverscmp F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 svcunix_create F
+GLIBC_2.2 svcunixfd_create F
+GLIBC_2.2 swapcontext F
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 sys_errlist D 0x11b8
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x100
+GLIBC_2.2 sys_siglist D 0x100
+GLIBC_2.2 sysv_signal F
+GLIBC_2.2 tcgetsid F
+GLIBC_2.2 tdestroy F
+GLIBC_2.2 tmpfile F
+GLIBC_2.2 tmpfile64 F
+GLIBC_2.2 truncate64 F
+GLIBC_2.2 umount2 F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 unlockpt F
+GLIBC_2.2 updwtmpx F
+GLIBC_2.2 user2netname F
+GLIBC_2.2 utmpxname F
+GLIBC_2.2 versionsort F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 waitid F
+GLIBC_2.2 wcscasecmp F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wcsncasecmp F
+GLIBC_2.2 wcsnlen F
+GLIBC_2.2 wcstoimax F
+GLIBC_2.2 wcstoll F
+GLIBC_2.2 wcstoull F
+GLIBC_2.2 wcstoumax F
+GLIBC_2.2 wcswcs F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wordexp F
+GLIBC_2.2 wordfree F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2 xdecrypt F
+GLIBC_2.2 xdr_authdes_cred F
+GLIBC_2.2 xdr_authdes_verf F
+GLIBC_2.2 xdr_getcredres F
+GLIBC_2.2 xdr_hyper 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_longlong_t F
+GLIBC_2.2 xdr_netnamestr F
+GLIBC_2.2 xdr_sizeof F
+GLIBC_2.2 xdr_u_hyper F
+GLIBC_2.2 xdr_u_longlong_t 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_unixcred F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 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 0x200
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x200
+GLIBC_2.3.3 sys_siglist D 0x200
+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 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 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
+_gp_disp _gp_disp A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/readahead.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/readahead.c
new file mode 100644
index 0000000000..80170c3e8a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/readahead.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/arm/readahead.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list
new file mode 100644
index 0000000000..f357b5c918
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/syscalls.list
@@ -0,0 +1,5 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
new file mode 100644
index 0000000000..e9e3ee7e82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
@@ -0,0 +1,396 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_MIPS_MIPS32_SYSDEP_H
+#define _LINUX_MIPS_MIPS32_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/mips/mips32/sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+#ifdef __PIC__
+# define SYSCALL_ERROR_LABEL 99b
+#endif
+
+#else   /* ! __ASSEMBLER__ */
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)                               \
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);					\
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);	\
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )		\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));	\
+	 result_var = -1L;						\
+       }								\
+     result_var; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) long err __attribute__ ((unused))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)   ((void) (val), (long) (err))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)     ((void) (err), val)
+
+/* Note that the original Linux syscall restart convention required the
+   instruction immediately preceding SYSCALL to initialize $v0 with the
+   syscall number.  Then if a restart triggered, $v0 would have been
+   clobbered by the syscall interrupted, and needed to be reinititalized.
+   The kernel would decrement the PC by 4 before switching back to the
+   user mode so that $v0 had been reloaded before SYSCALL was executed
+   again.  This implied the place $v0 was loaded from must have been
+   preserved across a syscall, e.g. an immediate, static register, stack
+   slot, etc.
+
+   The convention was relaxed in Linux with a change applied to the kernel
+   GIT repository as commit 96187fb0bc30cd7919759d371d810e928048249d, that
+   first appeared in the 2.6.36 release.  Since then the kernel has had
+   code that reloads $v0 upon syscall restart and resumes right at the
+   SYSCALL instruction, so no special arrangement is needed anymore.
+
+   For backwards compatibility with existing kernel binaries we support
+   the old convention by choosing the instruction preceding SYSCALL
+   carefully.  This also means we have to force a 32-bit encoding of the
+   microMIPS MOVE instruction if one is used.  */
+
+#ifdef __mips_micromips
+# define MOVE32 "move32"
+#else
+# define MOVE32 "move"
+#endif
+
+#undef INTERNAL_SYSCALL
+#undef INTERNAL_SYSCALL_NCS
+
+#ifdef __mips16
+/* There's no MIPS16 syscall instruction, so we go through out-of-line
+   standard MIPS wrappers.  These do use inline snippets below though,
+   through INTERNAL_SYSCALL_MIPS16.  Spilling the syscall number to
+   memory gives the best code in that case, avoiding the need to save
+   and restore a static register.  */
+
+# include <mips16-syscall.h>
+
+# define INTERNAL_SYSCALL(name, err, nr, args...)			\
+	INTERNAL_SYSCALL_NCS (SYS_ify (name), err, nr, args)
+
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+({									\
+	union __mips16_syscall_return _sc_ret;				\
+	_sc_ret.val = __mips16_syscall##nr (args, number);		\
+	err = _sc_ret.reg.v1;						\
+	_sc_ret.reg.v0;							\
+})
+
+# define INTERNAL_SYSCALL_MIPS16(number, err, nr, args...)		\
+	internal_syscall##nr ("lw\t%0, %2\n\t",				\
+			      "R" (number),				\
+			      0, err, args)
+
+#else /* !__mips16 */
+# define INTERNAL_SYSCALL(name, err, nr, args...)			\
+	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
+			      "IK" (SYS_ify (name)),			\
+			      0, err, args)
+
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
+			      "r" (__s0),				\
+			      number, err, args)
+
+#endif /* !__mips16 */
+
+#define internal_syscall0(v0_init, input, number, err, dummy...)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input								\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall1(v0_init, input, number, err, arg1)		\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0)						\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1)					\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall3(v0_init, input, number, err,			\
+			  arg1, arg2, arg3)				\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall4(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4)			\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+/* We need to use a frame pointer for the functions in which we
+   adjust $sp around the syscall, or debug information and unwind
+   information will be $sp relative and thus wrong during the syscall.  As
+   of GCC 4.7, this is sufficient.  */
+#define FORCE_FRAME_POINTER						\
+  void *volatile __fp_force __attribute__ ((unused)) = alloca (4)
+
+#define internal_syscall5(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5)			\
+({									\
+	long _sys_result;						\
+									\
+	FORCE_FRAME_POINTER;						\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	"subu\t$29, 32\n\t"						\
+	"sw\t%6, 16($29)\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	"addiu\t$29, 32\n\t"						\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+	  "r" ((long) (arg5))						\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall6(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5, arg6)		\
+({									\
+	long _sys_result;						\
+									\
+	FORCE_FRAME_POINTER;						\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	"subu\t$29, 32\n\t"						\
+	"sw\t%6, 16($29)\n\t"						\
+	"sw\t%7, 20($29)\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	"addiu\t$29, 32\n\t"						\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+	  "r" ((long) (arg5)), "r" ((long) (arg6))			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall7(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5, arg6, arg7)	\
+({									\
+	long _sys_result;						\
+									\
+	FORCE_FRAME_POINTER;						\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	"subu\t$29, 32\n\t"						\
+	"sw\t%6, 16($29)\n\t"						\
+	"sw\t%7, 20($29)\n\t"						\
+	"sw\t%8, 24($29)\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	"addiu\t$29, 32\n\t"						\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
+	  "r" ((long) (arg5)), "r" ((long) (arg6)), "r" ((long) (arg7))	\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
+	"$14", "$15", "$24", "$25", "hi", "lo", "memory"
+
+/* Standard MIPS syscalls have an error flag, and return a positive errno
+   when the error flag is set. Emulate this behaviour for vsyscalls so that
+   the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly.  */
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		\
+  ({									\
+    long _ret = funcptr (args);						\
+    err = ((unsigned long) (_ret) >= (unsigned long) -4095L);		\
+    if (err)								\
+      _ret = -_ret;							\
+    _ret;								\
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+#endif /* __ASSEMBLER__ */
+
+/* Pointer mangling is not yet supported for MIPS.  */
+#define PTR_MANGLE(var) (void) (var)
+#define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* linux/mips/mips32/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/Makefile
new file mode 100644
index 0000000000..b4fb190bba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/Makefile
@@ -0,0 +1,21 @@
+ifeq ($(subdir),socket)
+CFLAGS-recv.c += -fexceptions
+CFLAGS-send.c += -fexceptions
+endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-recv.c += -fexceptions
+CFLAGS-send.c += -fexceptions
+endif
+
+ifeq ($(subdir),signal)
+# sigaction.c defines static functions in asms and refers to them from
+# C code, resulting in "'restore_rt' used but never defined" (which
+# has no corresponding warning option to allow it to be disabled with
+# diagnostic pragmas).
+CFLAGS-sigaction.c += -Wno-error
+endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-sigaction.c += -Wno-error
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure
new file mode 100644
index 0000000000..26bed649db
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure
@@ -0,0 +1,4 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/mips/mips64.
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure.ac
new file mode 100644
index 0000000000..c137ec5552
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/configure.ac
@@ -0,0 +1,5 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/mips/mips64.
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
new file mode 100644
index 0000000000..5be899f2af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
@@ -0,0 +1,44 @@
+/* fxstat64 using 64-bit MIPS fstat system call.
+   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 <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file FD in BUF.  */
+
+int
+__fxstat64 (int vers, int fd, struct stat64 *buf)
+{
+  int result;
+  struct kernel_stat kbuf;
+
+  result = INLINE_SYSCALL (fstat, 2, fd, &kbuf);
+  if (result == 0)
+    result = __xstat64_conv (vers, &kbuf, buf);
+
+  return result;
+}
+
+hidden_def (__fxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
new file mode 100644
index 0000000000..0019359f72
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
@@ -0,0 +1,55 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+
+int
+__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
+{
+  if (__builtin_expect (vers != _STAT_VER_LINUX, 0))
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  int result;
+  INTERNAL_SYSCALL_DECL (err);
+  struct kernel_stat kst;
+
+  result = INTERNAL_SYSCALL (newfstatat, err, 4, fd, file, &kst, flag);
+  if (!__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 1))
+    return __xstat64_conv (vers, &kst, st);
+  else
+    {
+      __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
+      return -1;
+    }
+}
+libc_hidden_def (__fxstatat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ipc_priv.h
new file mode 100644
index 0000000000..de7bb68b37
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ipc_priv.h
@@ -0,0 +1,32 @@
+/* Old SysV permission definition for Linux.  MIPS64 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>
+
+#define __IPC_64	0x100
+
+struct __old_ipc_perm
+{
+  __key_t __key;		/* Key.  */
+  int uid;			/* Owner's user ID.  */
+  int gid;			/* Owner's group ID.  */
+  int cuid;			/* Creator's user ID.  */
+  int cgid;			/* Creator's group ID.  */
+  int mode;			/* Read/write permission.  */
+  unsigned short int __seq;	/* Sequence number.  */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h
new file mode 100644
index 0000000000..7430fb7718
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib32/ld.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib64/ld.so.1", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed
new file mode 100644
index 0000000000..2c327327e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed
@@ -0,0 +1 @@
+s_^\(RTLDLIST=\)\(.*lib\)\(\|32\|64\)\(/[^/]*\.so\.[0-9.]*\)[ 	]*$_\1"\232\4 \264\4 \2\4"_
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/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/mips/mips64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/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/mips/mips64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
new file mode 100644
index 0000000000..b4c577e4a6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/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.2 GLIBC_2.2 A
+GLIBC_2.2 dlopen F
+GLIBC_2.2 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/mips/mips64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
new file mode 100644
index 0000000000..b9599fee34
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -0,0 +1,465 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.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 __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 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 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 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 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 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 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 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 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 log2 F
+GLIBC_2.2 log2f F
+GLIBC_2.2 log2l 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 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 nexttoward F
+GLIBC_2.2 nexttowardf F
+GLIBC_2.2 nexttowardl F
+GLIBC_2.2 pow10 F
+GLIBC_2.2 pow10f F
+GLIBC_2.2 pow10l F
+GLIBC_2.2 remquo F
+GLIBC_2.2 remquof F
+GLIBC_2.2 remquol F
+GLIBC_2.2 round F
+GLIBC_2.2 roundf F
+GLIBC_2.2 roundl F
+GLIBC_2.2 scalbln F
+GLIBC_2.2 scalblnf F
+GLIBC_2.2 scalblnl F
+GLIBC_2.2 sincos F
+GLIBC_2.2 sincosf F
+GLIBC_2.2 sincosl 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.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/mips/mips64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist
new file mode 100644
index 0000000000..d5b6e6997d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist
@@ -0,0 +1,123 @@
+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.2 GLIBC_2.2 A
+GLIBC_2.2 __free_fdresult F
+GLIBC_2.2 __nis_default_access F
+GLIBC_2.2 __nis_default_group F
+GLIBC_2.2 __nis_default_owner F
+GLIBC_2.2 __nis_default_ttl F
+GLIBC_2.2 __nis_finddirectory F
+GLIBC_2.2 __nis_hash F
+GLIBC_2.2 __nisbind_connect F
+GLIBC_2.2 __nisbind_create F
+GLIBC_2.2 __nisbind_destroy F
+GLIBC_2.2 __nisbind_next F
+GLIBC_2.2 nis_add F
+GLIBC_2.2 nis_add_entry F
+GLIBC_2.2 nis_addmember F
+GLIBC_2.2 nis_checkpoint F
+GLIBC_2.2 nis_clone_directory F
+GLIBC_2.2 nis_clone_object F
+GLIBC_2.2 nis_clone_result F
+GLIBC_2.2 nis_creategroup F
+GLIBC_2.2 nis_destroy_object F
+GLIBC_2.2 nis_destroygroup F
+GLIBC_2.2 nis_dir_cmp F
+GLIBC_2.2 nis_domain_of F
+GLIBC_2.2 nis_domain_of_r F
+GLIBC_2.2 nis_first_entry F
+GLIBC_2.2 nis_free_directory F
+GLIBC_2.2 nis_free_object F
+GLIBC_2.2 nis_free_request F
+GLIBC_2.2 nis_freenames F
+GLIBC_2.2 nis_freeresult F
+GLIBC_2.2 nis_freeservlist F
+GLIBC_2.2 nis_freetags F
+GLIBC_2.2 nis_getnames F
+GLIBC_2.2 nis_getservlist F
+GLIBC_2.2 nis_ismember F
+GLIBC_2.2 nis_leaf_of F
+GLIBC_2.2 nis_leaf_of_r F
+GLIBC_2.2 nis_lerror F
+GLIBC_2.2 nis_list F
+GLIBC_2.2 nis_local_directory F
+GLIBC_2.2 nis_local_group F
+GLIBC_2.2 nis_local_host F
+GLIBC_2.2 nis_local_principal F
+GLIBC_2.2 nis_lookup F
+GLIBC_2.2 nis_mkdir F
+GLIBC_2.2 nis_modify F
+GLIBC_2.2 nis_modify_entry F
+GLIBC_2.2 nis_name_of F
+GLIBC_2.2 nis_name_of_r F
+GLIBC_2.2 nis_next_entry F
+GLIBC_2.2 nis_perror F
+GLIBC_2.2 nis_ping F
+GLIBC_2.2 nis_print_directory F
+GLIBC_2.2 nis_print_entry F
+GLIBC_2.2 nis_print_group F
+GLIBC_2.2 nis_print_group_entry F
+GLIBC_2.2 nis_print_link F
+GLIBC_2.2 nis_print_object F
+GLIBC_2.2 nis_print_result F
+GLIBC_2.2 nis_print_rights F
+GLIBC_2.2 nis_print_table F
+GLIBC_2.2 nis_read_obj F
+GLIBC_2.2 nis_remove F
+GLIBC_2.2 nis_remove_entry F
+GLIBC_2.2 nis_removemember F
+GLIBC_2.2 nis_rmdir F
+GLIBC_2.2 nis_servstate F
+GLIBC_2.2 nis_sperrno F
+GLIBC_2.2 nis_sperror F
+GLIBC_2.2 nis_sperror_r F
+GLIBC_2.2 nis_stats F
+GLIBC_2.2 nis_verifygroup F
+GLIBC_2.2 nis_write_obj F
+GLIBC_2.2 readColdStartFile F
+GLIBC_2.2 writeColdStartFile F
+GLIBC_2.2 xdr_cback_data F
+GLIBC_2.2 xdr_obj_p F
+GLIBC_2.2 xdr_ypall F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
new file mode 100644
index 0000000000..ad55bdd0e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -0,0 +1,256 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.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 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __vfork F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getguardsize 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_setguardsize 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_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_create F
+GLIBC_2.2 pthread_getconcurrency F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_mutexattr_settype 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_setconcurrency F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_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.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/mips/mips64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
new file mode 100644
index 0000000000..ff77db947e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
@@ -0,0 +1,46 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 aio_cancel F
+GLIBC_2.2 aio_cancel64 F
+GLIBC_2.2 aio_error F
+GLIBC_2.2 aio_error64 F
+GLIBC_2.2 aio_fsync F
+GLIBC_2.2 aio_fsync64 F
+GLIBC_2.2 aio_init F
+GLIBC_2.2 aio_read F
+GLIBC_2.2 aio_read64 F
+GLIBC_2.2 aio_return F
+GLIBC_2.2 aio_return64 F
+GLIBC_2.2 aio_suspend F
+GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
+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 lio_listio F
+GLIBC_2.2 lio_listio64 F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/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/mips/mips64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/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/mips/mips64/lxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
new file mode 100644
index 0000000000..1be716cc77
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
@@ -0,0 +1,43 @@
+/* lxstat64 using 64-bit MIPS lstat system call.
+   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 <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__lxstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  int result;
+  struct kernel_stat kbuf;
+
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
+  if (result == 0)
+    result = __xstat64_conv (vers, &kbuf, buf);
+
+  return result;
+}
+
+hidden_def (__lxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c
new file mode 100644
index 0000000000..f379ecb7f5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+#undef SHLIB_COMPAT
+#define SHLIB_COMPAT(a, b, c) 0
+
+#define DEFAULT_VERSION GLIBC_2_0
+
+#include <sysdeps/unix/sysv/linux/msgctl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
new file mode 100644
index 0000000000..9621fb5cae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.19 {
+    getrlimit64;
+    setrlimit64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/c++-types.data
new file mode 100644
index 0000000000..39212e50bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:x
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
new file mode 100644
index 0000000000..bf55148c79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x4
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __stack_chk_guard D 0x4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
new file mode 100644
index 0000000000..783aa73ab7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -0,0 +1,2251 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _flush_cache F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 cachectl F
+GLIBC_2.0 cacheflush F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 sysmips F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 getrlimit64 F
+GLIBC_2.19 setrlimit64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.2 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_do_write F
+GLIBC_2.2 _IO_fclose F
+GLIBC_2.2 _IO_fdopen F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_file_attach F
+GLIBC_2.2 _IO_file_close_it 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_overflow F
+GLIBC_2.2 _IO_file_seekoff F
+GLIBC_2.2 _IO_file_setbuf 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_fopen 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_getline_info F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_popen F
+GLIBC_2.2 _IO_proc_close F
+GLIBC_2.2 _IO_proc_open F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __asprintf F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __backtrace F
+GLIBC_2.2 __backtrace_symbols F
+GLIBC_2.2 __backtrace_symbols_fd F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+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 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __freelocale F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __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 __islower_l 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_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 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_gendes_LOCAL D 0x4
+GLIBC_2.2 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __libc_freeres F
+GLIBC_2.2 __libc_sa_len F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __newlocale F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __poll F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __signbitl F
+GLIBC_2.2 __sigsuspend F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __stpcpy_small 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 __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_l F
+GLIBC_2.2 __strtof_l F
+GLIBC_2.2 __strtok_r_1c F
+GLIBC_2.2 __strtol_l F
+GLIBC_2.2 __strtold_l F
+GLIBC_2.2 __strtoll_l F
+GLIBC_2.2 __strtoul_l 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 __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 __vfork F
+GLIBC_2.2 __wcscasecmp_l F
+GLIBC_2.2 __wcscoll_l F
+GLIBC_2.2 __wcsncasecmp_l F
+GLIBC_2.2 __wcstod_l F
+GLIBC_2.2 __wcstof_l F
+GLIBC_2.2 __wcstol_l F
+GLIBC_2.2 __wcstold_l F
+GLIBC_2.2 __wcstoll_l F
+GLIBC_2.2 __wcstoul_l 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 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause 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 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 _sys_errlist D 0x11b8
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x100
+GLIBC_2.2 _test_and_set F
+GLIBC_2.2 addseverity 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 0x4
+GLIBC_2.2 argp_program_version D 0x4
+GLIBC_2.2 argp_program_version_hook D 0x4
+GLIBC_2.2 argp_state_help F
+GLIBC_2.2 argp_usage F
+GLIBC_2.2 authdes_create F
+GLIBC_2.2 authdes_getucred F
+GLIBC_2.2 authdes_pk_create F
+GLIBC_2.2 backtrace F
+GLIBC_2.2 backtrace_symbols F
+GLIBC_2.2 backtrace_symbols_fd F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 capget F
+GLIBC_2.2 capset F
+GLIBC_2.2 cbc_crypt F
+GLIBC_2.2 clntunix_create F
+GLIBC_2.2 creat64 F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 des_setparity F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 ecb_crypt F
+GLIBC_2.2 endutxent F
+GLIBC_2.2 fattach F
+GLIBC_2.2 fclose F
+GLIBC_2.2 fdetach F
+GLIBC_2.2 fdopen F
+GLIBC_2.2 ffsl F
+GLIBC_2.2 ffsll F
+GLIBC_2.2 fgetc_unlocked F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgets_unlocked F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fmtmsg F
+GLIBC_2.2 fopen F
+GLIBC_2.2 fopen64 F
+GLIBC_2.2 fopencookie 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_unlocked F
+GLIBC_2.2 freopen64 F
+GLIBC_2.2 fseeko F
+GLIBC_2.2 fseeko64 F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fstatfs64 F
+GLIBC_2.2 fstatvfs F
+GLIBC_2.2 fstatvfs64 F
+GLIBC_2.2 ftello F
+GLIBC_2.2 ftello64 F
+GLIBC_2.2 ftruncate64 F
+GLIBC_2.2 ftw64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwrite_unlocked F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 gai_strerror F
+GLIBC_2.2 getaliasbyname_r F
+GLIBC_2.2 getaliasent_r F
+GLIBC_2.2 getcontext F
+GLIBC_2.2 getdate F
+GLIBC_2.2 getdate_err D 0x4
+GLIBC_2.2 getdate_r F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getgrent_r F
+GLIBC_2.2 getgrgid_r F
+GLIBC_2.2 getgrnam_r F
+GLIBC_2.2 gethostbyaddr_r F
+GLIBC_2.2 gethostbyname2_r F
+GLIBC_2.2 gethostbyname_r F
+GLIBC_2.2 gethostent_r F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getmsg F
+GLIBC_2.2 getnameinfo F
+GLIBC_2.2 getnetbyaddr_r F
+GLIBC_2.2 getnetbyname_r F
+GLIBC_2.2 getnetent_r F
+GLIBC_2.2 getnetname F
+GLIBC_2.2 getpmsg F
+GLIBC_2.2 getprotobyname_r F
+GLIBC_2.2 getprotobynumber_r F
+GLIBC_2.2 getprotoent_r F
+GLIBC_2.2 getpt F
+GLIBC_2.2 getpwent_r F
+GLIBC_2.2 getpwnam_r F
+GLIBC_2.2 getpwuid_r F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getrpcbyname_r F
+GLIBC_2.2 getrpcbynumber_r F
+GLIBC_2.2 getrpcent_r F
+GLIBC_2.2 getservbyname_r F
+GLIBC_2.2 getservbyport_r F
+GLIBC_2.2 getservent_r F
+GLIBC_2.2 getspent_r F
+GLIBC_2.2 getspnam_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 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 globfree64 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 host2netname 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 iruserok_af F
+GLIBC_2.2 isastream F
+GLIBC_2.2 iswblank 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 localeconv F
+GLIBC_2.2 lockf64 F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 makecontext F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 mempcpy F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 mmap64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 netname2host F
+GLIBC_2.2 netname2user F
+GLIBC_2.2 nftw F
+GLIBC_2.2 nftw64 F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 ntp_adjtime F
+GLIBC_2.2 ntp_gettime F
+GLIBC_2.2 open64 F
+GLIBC_2.2 passwd2des F
+GLIBC_2.2 pclose 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 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 printf_size F
+GLIBC_2.2 printf_size_info F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 ptsname F
+GLIBC_2.2 ptsname_r F
+GLIBC_2.2 putgrent F
+GLIBC_2.2 putmsg F
+GLIBC_2.2 putpmsg F
+GLIBC_2.2 pututxline 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 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 rawmemchr F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 rtime F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 sendfile F
+GLIBC_2.2 setrlimit64 F
+GLIBC_2.2 setutxent F
+GLIBC_2.2 sighold F
+GLIBC_2.2 sigignore F
+GLIBC_2.2 sigqueue F
+GLIBC_2.2 sigrelse F
+GLIBC_2.2 sigset F
+GLIBC_2.2 sigtimedwait F
+GLIBC_2.2 sigwaitinfo F
+GLIBC_2.2 statfs64 F
+GLIBC_2.2 statvfs F
+GLIBC_2.2 statvfs64 F
+GLIBC_2.2 strcasestr F
+GLIBC_2.2 strchrnul F
+GLIBC_2.2 strtoimax F
+GLIBC_2.2 strtoumax F
+GLIBC_2.2 strverscmp F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 svcunix_create F
+GLIBC_2.2 svcunixfd_create F
+GLIBC_2.2 swapcontext F
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 sys_errlist D 0x11b8
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x100
+GLIBC_2.2 sys_siglist D 0x100
+GLIBC_2.2 sysv_signal F
+GLIBC_2.2 tcgetsid F
+GLIBC_2.2 tdestroy F
+GLIBC_2.2 tmpfile F
+GLIBC_2.2 tmpfile64 F
+GLIBC_2.2 truncate64 F
+GLIBC_2.2 umount2 F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 unlockpt F
+GLIBC_2.2 updwtmpx F
+GLIBC_2.2 user2netname F
+GLIBC_2.2 utmpxname F
+GLIBC_2.2 versionsort F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 waitid F
+GLIBC_2.2 wcscasecmp F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wcsncasecmp F
+GLIBC_2.2 wcsnlen F
+GLIBC_2.2 wcstoimax F
+GLIBC_2.2 wcstoll F
+GLIBC_2.2 wcstoull F
+GLIBC_2.2 wcstoumax F
+GLIBC_2.2 wcswcs F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wordexp F
+GLIBC_2.2 wordfree F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2 xdecrypt F
+GLIBC_2.2 xdr_authdes_cred F
+GLIBC_2.2 xdr_authdes_verf F
+GLIBC_2.2 xdr_getcredres F
+GLIBC_2.2 xdr_hyper 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_longlong_t F
+GLIBC_2.2 xdr_netnamestr F
+GLIBC_2.2 xdr_sizeof F
+GLIBC_2.2 xdr_u_hyper F
+GLIBC_2.2 xdr_u_longlong_t 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_unixcred F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 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 0x200
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x200
+GLIBC_2.3.3 sys_siglist D 0x200
+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 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 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/mips/mips64/n32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lseek.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lseek.c
new file mode 100644
index 0000000000..26d2e11e13
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/lseek.c
@@ -0,0 +1,36 @@
+/* MIPS n32 lseek implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sys/types.h>
+#include <errno.h>
+
+off_t
+__lseek (int fd, off_t offset, int whence)
+{
+  off64_t res = __lseek64 (fd, offset, whence);
+  if (res != (off_t) res)
+    {
+      __set_errno (EOVERFLOW);
+      return (off_t) -1;
+    }
+  return (off_t) res;
+}
+libc_hidden_def (__lseek)
+weak_alias (__lseek, lseek)
+strong_alias (__lseek, __libc_lseek)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h
new file mode 100644
index 0000000000..4b65559ecb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h
@@ -0,0 +1,28 @@
+/* Common mmap definition for Linux implementation.  MIPS n32 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/>.  */
+
+#ifndef MMAP_MIPS_N32_INTERNAL_H
+#define MMAP_MIPS_N32_INTERNAL_H
+
+/* To handle negative offsets consistently with other architectures,
+   the offset must be zero-extended to 64-bit.  */
+#define MMAP_ADJUST_OFFSET(offset) (uint64_t) (uint32_t) offset
+
+#include_next <mmap_internal.h>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
new file mode 100644
index 0000000000..5f3d04728d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
@@ -0,0 +1,13 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+# C syscall macros cannot be used because this syscall has a 64-bit
+# return value.
+lseek64		-	lseek		i:iii	__lseek64	__libc_lseek64 lseek64 llseek
+
+readahead	-	readahead	i:iii	__readahead	readahead
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiis	fanotify_mark
+
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
new file mode 100644
index 0000000000..f27778bdf8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
@@ -0,0 +1,321 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_MIPS_SYSDEP_H
+#define _LINUX_MIPS_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/mips/mips64/n32/sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+# define SYSCALL_ERROR_LABEL 99b
+
+#else   /* ! __ASSEMBLER__ */
+
+/* Convert X to a long long, without losing any bits if it is one
+   already or warning if it is a 32-bit pointer.  */
+#define ARGIFY(X) ((long long) (__typeof__ ((X) - (X))) (X))
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);					\
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);	\
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )		\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));	\
+	 result_var = -1L;						\
+       }								\
+     result_var; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) long err __attribute__ ((unused))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)   ((void) (val), (long) (err))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)     ((void) (err), val)
+
+/* Note that the original Linux syscall restart convention required the
+   instruction immediately preceding SYSCALL to initialize $v0 with the
+   syscall number.  Then if a restart triggered, $v0 would have been
+   clobbered by the syscall interrupted, and needed to be reinititalized.
+   The kernel would decrement the PC by 4 before switching back to the
+   user mode so that $v0 had been reloaded before SYSCALL was executed
+   again.  This implied the place $v0 was loaded from must have been
+   preserved across a syscall, e.g. an immediate, static register, stack
+   slot, etc.
+
+   The convention was relaxed in Linux with a change applied to the kernel
+   GIT repository as commit 96187fb0bc30cd7919759d371d810e928048249d, that
+   first appeared in the 2.6.36 release.  Since then the kernel has had
+   code that reloads $v0 upon syscall restart and resumes right at the
+   SYSCALL instruction, so no special arrangement is needed anymore.
+
+   For backwards compatibility with existing kernel binaries we support
+   the old convention by choosing the instruction preceding SYSCALL
+   carefully.  This also means we have to force a 32-bit encoding of the
+   microMIPS MOVE instruction if one is used.  */
+
+#ifdef __mips_micromips
+# define MOVE32 "move32"
+#else
+# define MOVE32 "move"
+#endif
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)			\
+	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
+			      "IK" (SYS_ify (name)),			\
+			      0, err, args)
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
+			      "r" (__s0),				\
+			      number, err, args)
+
+#define internal_syscall0(v0_init, input, number, err, dummy...)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a3 asm ("$7");				\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input								\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall1(v0_init, input, number, err, arg1)		\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a3 asm ("$7");				\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0)						\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a1 asm ("$5") = ARGIFY (arg2);		\
+	register long long __a3 asm ("$7");				\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1)					\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall3(v0_init, input, number, err,			\
+			  arg1, arg2, arg3)				\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a1 asm ("$5") = ARGIFY (arg2);		\
+	register long long __a2 asm ("$6") = ARGIFY (arg3);		\
+	register long long __a3 asm ("$7");				\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall4(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4)			\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a1 asm ("$5") = ARGIFY (arg2);		\
+	register long long __a2 asm ("$6") = ARGIFY (arg3);		\
+	register long long __a3 asm ("$7") = ARGIFY (arg4);		\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall5(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5)			\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a1 asm ("$5") = ARGIFY (arg2);		\
+	register long long __a2 asm ("$6") = ARGIFY (arg3);		\
+	register long long __a3 asm ("$7") = ARGIFY (arg4);		\
+	register long long __a4 asm ("$8") = ARGIFY (arg5);		\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4)		\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall6(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5, arg6)		\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long long __s0 asm ("$16") __attribute__ ((unused))	\
+	  = (number);							\
+	register long long __v0 asm ("$2");				\
+	register long long __a0 asm ("$4") = ARGIFY (arg1);		\
+	register long long __a1 asm ("$5") = ARGIFY (arg2);		\
+	register long long __a2 asm ("$6") = ARGIFY (arg3);		\
+	register long long __a3 asm ("$7") = ARGIFY (arg4);		\
+	register long long __a4 asm ("$8") = ARGIFY (arg5);		\
+	register long long __a5 asm ("$9") = ARGIFY (arg6);		\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4),	\
+	  "r" (__a5)							\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
+	"$14", "$15", "$24", "$25", "hi", "lo", "memory"
+
+/* Standard MIPS syscalls have an error flag, and return a positive errno
+   when the error flag is set. Emulate this behaviour for vsyscalls so that
+   the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly.  */
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		\
+  ({									\
+    long _ret = funcptr (args);						\
+    err = ((unsigned long) (_ret) >= (unsigned long) -4095L);		\
+    if (err)								\
+      _ret = -_ret;							\
+    _ret;								\
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+#endif /* __ASSEMBLER__ */
+
+/* Pointer mangling is not yet supported for MIPS.  */
+#define PTR_MANGLE(var) (void) (var)
+#define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* linux/mips/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/c++-types.data
new file mode 100644
index 0000000000..23c11dc41b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/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:m
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatfs64.c
new file mode 100644
index 0000000000..6e25b021ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatfs64.c
@@ -0,0 +1 @@
+/* Empty.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c
new file mode 100644
index 0000000000..d0c62e6195
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c
@@ -0,0 +1 @@
+#include <io/fts.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c
new file mode 100644
index 0000000000..2472f8bf75
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c
@@ -0,0 +1 @@
+#include <io/fts64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c
new file mode 100644
index 0000000000..46389568b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c
@@ -0,0 +1 @@
+#include <io/ftw.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c
new file mode 100644
index 0000000000..cb02172b3e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c
@@ -0,0 +1 @@
+#include <io/ftw64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c
new file mode 100644
index 0000000000..33918ea6a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c
@@ -0,0 +1 @@
+/* glob64 is in glob.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S
new file mode 100644
index 0000000000..ee5d11d240
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S
@@ -0,0 +1,41 @@
+/* Copyright 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include <sys/asm.h>
+
+/* Sign-extend the ioctl number, since the kernel wants it as a
+   sign-extended 32-bit value, but our prototype is that of a long.  */
+
+	.text
+ENTRY (__ioctl)
+	sll a1, a1, 0
+	li v0, __NR_ioctl
+	syscall			/* Do the system call.  */
+	bne a3, zero, L(error)
+	ret
+
+L(error):
+	SETUP_GP64_REG (a0, __ioctl)
+	PTR_LA t9, __syscall_error
+	RESTORE_GP64_REG
+	jr t9
+
+PSEUDO_END (__ioctl)
+
+weak_alias (__ioctl, ioctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
new file mode 100644
index 0000000000..f7ba5fd730
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x28
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x8
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __stack_chk_guard D 0x8
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
new file mode 100644
index 0000000000..e1275dfe28
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -0,0 +1,2245 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0xa8
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x8
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x98
+GLIBC_2.0 _IO_stdin_ D 0x98
+GLIBC_2.0 _IO_stdout_ D 0x98
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x8
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x8
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x8
+GLIBC_2.0 __ctype_b D 0x8
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x8
+GLIBC_2.0 __ctype_toupper D 0x8
+GLIBC_2.0 __curbrk D 0x8
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x8
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x8
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x8
+GLIBC_2.0 __malloc_initialize_hook D 0x8
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x8
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x8
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x8
+GLIBC_2.0 __progname_full D 0x8
+GLIBC_2.0 __rcmd_errstr D 0x8
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x8
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x8
+GLIBC_2.0 __tzname D 0x10
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x8
+GLIBC_2.0 _exit F
+GLIBC_2.0 _flush_cache F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x8
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0x18
+GLIBC_2.0 _obstack D 0x8
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x238
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x3d8
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x100
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 cachectl F
+GLIBC_2.0 cacheflush F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x8
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x8
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x28
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x8
+GLIBC_2.0 loc2 D 0x8
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x8
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x8
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x8
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x8
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x8
+GLIBC_2.0 program_invocation_short_name D 0x8
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x8
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x20
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x8
+GLIBC_2.0 stdin D 0x8
+GLIBC_2.0 stdout D 0x8
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0x18
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x3d8
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x100
+GLIBC_2.0 sys_siglist D 0x100
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 sysmips F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x8
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x10
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _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_wcolumn F
+GLIBC_2.2 _IO_do_write F
+GLIBC_2.2 _IO_fclose F
+GLIBC_2.2 _IO_fdopen F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_file_attach F
+GLIBC_2.2 _IO_file_close_it 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_overflow F
+GLIBC_2.2 _IO_file_seekoff F
+GLIBC_2.2 _IO_file_setbuf 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_fopen 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_getline_info F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_popen F
+GLIBC_2.2 _IO_proc_close F
+GLIBC_2.2 _IO_proc_open F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 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 __asprintf F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __backtrace F
+GLIBC_2.2 __backtrace_symbols F
+GLIBC_2.2 __backtrace_symbols_fd F
+GLIBC_2.2 __ctype32_tolower D 0x8
+GLIBC_2.2 __ctype32_toupper 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 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __freelocale F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __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 __islower_l 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_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 __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_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __libc_freeres F
+GLIBC_2.2 __libc_sa_len F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __newlocale F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __poll F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __signbitl F
+GLIBC_2.2 __sigsuspend F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __stpcpy_small 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 __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_l F
+GLIBC_2.2 __strtof_l F
+GLIBC_2.2 __strtok_r_1c F
+GLIBC_2.2 __strtol_l F
+GLIBC_2.2 __strtold_l F
+GLIBC_2.2 __strtoll_l F
+GLIBC_2.2 __strtoul_l 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 __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 __vfork F
+GLIBC_2.2 __wcscasecmp_l F
+GLIBC_2.2 __wcscoll_l F
+GLIBC_2.2 __wcsncasecmp_l F
+GLIBC_2.2 __wcstod_l F
+GLIBC_2.2 __wcstof_l F
+GLIBC_2.2 __wcstol_l F
+GLIBC_2.2 __wcstold_l F
+GLIBC_2.2 __wcstoll_l F
+GLIBC_2.2 __wcstoul_l 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 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause 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 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x48
+GLIBC_2.2 _sys_errlist D 0x2370
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x200
+GLIBC_2.2 _test_and_set F
+GLIBC_2.2 addseverity 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 authdes_create F
+GLIBC_2.2 authdes_getucred F
+GLIBC_2.2 authdes_pk_create F
+GLIBC_2.2 backtrace F
+GLIBC_2.2 backtrace_symbols F
+GLIBC_2.2 backtrace_symbols_fd F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 capget F
+GLIBC_2.2 capset F
+GLIBC_2.2 cbc_crypt F
+GLIBC_2.2 clntunix_create F
+GLIBC_2.2 creat64 F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 des_setparity F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 ecb_crypt F
+GLIBC_2.2 endutxent F
+GLIBC_2.2 fattach F
+GLIBC_2.2 fclose F
+GLIBC_2.2 fdetach F
+GLIBC_2.2 fdopen F
+GLIBC_2.2 ffsl F
+GLIBC_2.2 ffsll F
+GLIBC_2.2 fgetc_unlocked F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgets_unlocked F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fmtmsg F
+GLIBC_2.2 fopen F
+GLIBC_2.2 fopen64 F
+GLIBC_2.2 fopencookie 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_unlocked F
+GLIBC_2.2 freopen64 F
+GLIBC_2.2 fseeko F
+GLIBC_2.2 fseeko64 F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fstatfs64 F
+GLIBC_2.2 fstatvfs F
+GLIBC_2.2 fstatvfs64 F
+GLIBC_2.2 ftello F
+GLIBC_2.2 ftello64 F
+GLIBC_2.2 ftruncate64 F
+GLIBC_2.2 ftw64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwrite_unlocked F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 gai_strerror F
+GLIBC_2.2 getaliasbyname_r F
+GLIBC_2.2 getaliasent_r F
+GLIBC_2.2 getcontext F
+GLIBC_2.2 getdate F
+GLIBC_2.2 getdate_err D 0x4
+GLIBC_2.2 getdate_r F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getgrent_r F
+GLIBC_2.2 getgrgid_r F
+GLIBC_2.2 getgrnam_r F
+GLIBC_2.2 gethostbyaddr_r F
+GLIBC_2.2 gethostbyname2_r F
+GLIBC_2.2 gethostbyname_r F
+GLIBC_2.2 gethostent_r F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getmsg F
+GLIBC_2.2 getnameinfo F
+GLIBC_2.2 getnetbyaddr_r F
+GLIBC_2.2 getnetbyname_r F
+GLIBC_2.2 getnetent_r F
+GLIBC_2.2 getnetname F
+GLIBC_2.2 getpmsg F
+GLIBC_2.2 getprotobyname_r F
+GLIBC_2.2 getprotobynumber_r F
+GLIBC_2.2 getprotoent_r F
+GLIBC_2.2 getpt F
+GLIBC_2.2 getpwent_r F
+GLIBC_2.2 getpwnam_r F
+GLIBC_2.2 getpwuid_r F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getrpcbyname_r F
+GLIBC_2.2 getrpcbynumber_r F
+GLIBC_2.2 getrpcent_r F
+GLIBC_2.2 getservbyname_r F
+GLIBC_2.2 getservbyport_r F
+GLIBC_2.2 getservent_r F
+GLIBC_2.2 getspent_r F
+GLIBC_2.2 getspnam_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 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 globfree64 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 host2netname 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 iruserok_af F
+GLIBC_2.2 isastream F
+GLIBC_2.2 iswblank 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 localeconv F
+GLIBC_2.2 lockf64 F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 makecontext F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 mempcpy F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 mmap64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 netname2host F
+GLIBC_2.2 netname2user F
+GLIBC_2.2 nftw F
+GLIBC_2.2 nftw64 F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 ntp_adjtime F
+GLIBC_2.2 ntp_gettime F
+GLIBC_2.2 open64 F
+GLIBC_2.2 passwd2des F
+GLIBC_2.2 pclose 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 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 printf_size F
+GLIBC_2.2 printf_size_info F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 ptsname F
+GLIBC_2.2 ptsname_r F
+GLIBC_2.2 putgrent F
+GLIBC_2.2 putmsg F
+GLIBC_2.2 putpmsg F
+GLIBC_2.2 pututxline 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 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 rawmemchr F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 rtime F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 sendfile F
+GLIBC_2.2 setrlimit64 F
+GLIBC_2.2 setutxent F
+GLIBC_2.2 sighold F
+GLIBC_2.2 sigignore F
+GLIBC_2.2 sigqueue F
+GLIBC_2.2 sigrelse F
+GLIBC_2.2 sigset F
+GLIBC_2.2 sigtimedwait F
+GLIBC_2.2 sigwaitinfo F
+GLIBC_2.2 statfs64 F
+GLIBC_2.2 statvfs F
+GLIBC_2.2 statvfs64 F
+GLIBC_2.2 strcasestr F
+GLIBC_2.2 strchrnul F
+GLIBC_2.2 strtoimax F
+GLIBC_2.2 strtoumax F
+GLIBC_2.2 strverscmp F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x8
+GLIBC_2.2 svcunix_create F
+GLIBC_2.2 svcunixfd_create F
+GLIBC_2.2 swapcontext F
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 sys_errlist D 0x2370
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x200
+GLIBC_2.2 sys_siglist D 0x200
+GLIBC_2.2 sysv_signal F
+GLIBC_2.2 tcgetsid F
+GLIBC_2.2 tdestroy F
+GLIBC_2.2 tmpfile F
+GLIBC_2.2 tmpfile64 F
+GLIBC_2.2 truncate64 F
+GLIBC_2.2 umount2 F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 unlockpt F
+GLIBC_2.2 updwtmpx F
+GLIBC_2.2 user2netname F
+GLIBC_2.2 utmpxname F
+GLIBC_2.2 versionsort F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 waitid F
+GLIBC_2.2 wcscasecmp F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wcsncasecmp F
+GLIBC_2.2 wcsnlen F
+GLIBC_2.2 wcstoimax F
+GLIBC_2.2 wcstoll F
+GLIBC_2.2 wcstoull F
+GLIBC_2.2 wcstoumax F
+GLIBC_2.2 wcswcs F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wordexp F
+GLIBC_2.2 wordfree F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2 xdecrypt F
+GLIBC_2.2 xdr_authdes_cred F
+GLIBC_2.2 xdr_authdes_verf F
+GLIBC_2.2 xdr_getcredres F
+GLIBC_2.2 xdr_hyper 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_longlong_t F
+GLIBC_2.2 xdr_netnamestr F
+GLIBC_2.2 xdr_sizeof F
+GLIBC_2.2 xdr_u_hyper F
+GLIBC_2.2 xdr_u_longlong_t 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_unixcred F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 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 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 0x400
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 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 0x400
+GLIBC_2.3.3 sys_siglist D 0x400
+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 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 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/mips/mips64/n64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
new file mode 100644
index 0000000000..2d92a35e81
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/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/mips/mips64/n64/posix_fadvise64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c
new file mode 100644
index 0000000000..5a6379613b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#undef weak_alias
+#define weak_alias(a, b)
+#undef strong_alias
+#define strong_alias(a, b)
+
+#include <sysdeps/unix/sysv/linux/posix_fadvise64.c>
+
+/* Although both posix_fadvise and posix_fadvise64 has the same semantic
+   on mips64, there were were releases with both symbol versions (BZ#14044).
+   So we need to continue export them.  */
+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)
+_strong_alias (__posix_fadvise64_l64, __posix_fadvise64_l32);
+compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2);
+versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3);
+#else
+_weak_alias (posix_fadvise, posix_fadvise64);
+#endif
+_strong_alias (__posix_fadvise64_l64, posix_fadvise);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c
new file mode 100644
index 0000000000..4c451bd093
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c
@@ -0,0 +1 @@
+/* sendfile64 is alias of sendfile syscall.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/statfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/statfs64.c
new file mode 100644
index 0000000000..6e25b021ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/statfs64.c
@@ -0,0 +1 @@
+/* Empty.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
new file mode 100644
index 0000000000..28664208d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
@@ -0,0 +1,12 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+readahead	-	readahead	i:iii	__readahead	readahead
+
+prlimit		EXTRA	prlimit64	i:iipp	prlimit		prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiis	fanotify_mark
+
+fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
+statfs		-	statfs		i:sp	__statfs	statfs statfs64 __statfs64
+
+sendfile	-	sendfile	i:iipi	sendfile	sendfile64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
new file mode 100644
index 0000000000..98283083b3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
@@ -0,0 +1,317 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_MIPS_SYSDEP_H
+#define _LINUX_MIPS_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/mips/mips64/n64/sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* We don't want the label for the error handler to be visible in the symbol
+   table when we define it here.  */
+# define SYSCALL_ERROR_LABEL 99b
+
+#else   /* ! __ASSEMBLER__ */
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				\
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);					\
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);	\
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )		\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));	\
+	 result_var = -1L;						\
+       }								\
+     result_var; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) long err __attribute__ ((unused))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)   ((void) (val), (long) (err))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)     ((void) (err), val)
+
+/* Note that the original Linux syscall restart convention required the
+   instruction immediately preceding SYSCALL to initialize $v0 with the
+   syscall number.  Then if a restart triggered, $v0 would have been
+   clobbered by the syscall interrupted, and needed to be reinititalized.
+   The kernel would decrement the PC by 4 before switching back to the
+   user mode so that $v0 had been reloaded before SYSCALL was executed
+   again.  This implied the place $v0 was loaded from must have been
+   preserved across a syscall, e.g. an immediate, static register, stack
+   slot, etc.
+
+   The convention was relaxed in Linux with a change applied to the kernel
+   GIT repository as commit 96187fb0bc30cd7919759d371d810e928048249d, that
+   first appeared in the 2.6.36 release.  Since then the kernel has had
+   code that reloads $v0 upon syscall restart and resumes right at the
+   SYSCALL instruction, so no special arrangement is needed anymore.
+
+   For backwards compatibility with existing kernel binaries we support
+   the old convention by choosing the instruction preceding SYSCALL
+   carefully.  This also means we have to force a 32-bit encoding of the
+   microMIPS MOVE instruction if one is used.  */
+
+#ifdef __mips_micromips
+# define MOVE32 "move32"
+#else
+# define MOVE32 "move"
+#endif
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)			\
+	internal_syscall##nr ("li\t%0, %2\t\t\t# " #name "\n\t",	\
+			      "IK" (SYS_ify (name)),			\
+			      0, err, args)
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...)			\
+	internal_syscall##nr (MOVE32 "\t%0, %2\n\t",			\
+			      "r" (__s0),				\
+			      number, err, args)
+
+#define internal_syscall0(v0_init, input, number, err, dummy...)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input								\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall1(v0_init, input, number, err, arg1)		\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set reorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0)						\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall2(v0_init, input, number, err, arg1, arg2)	\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1)					\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall3(v0_init, input, number, err,			\
+			  arg1, arg2, arg3)				\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7");					\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "=r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall4(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4)			\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2)			\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall5(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5)			\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	register long __a4 asm ("$8") = (long) (arg5);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4)		\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define internal_syscall6(v0_init, input, number, err,			\
+			  arg1, arg2, arg3, arg4, arg5, arg6)		\
+({									\
+	long _sys_result;						\
+									\
+	{								\
+	register long __s0 asm ("$16") __attribute__ ((unused))		\
+	  = (number);							\
+	register long __v0 asm ("$2");					\
+	register long __a0 asm ("$4") = (long) (arg1);			\
+	register long __a1 asm ("$5") = (long) (arg2);			\
+	register long __a2 asm ("$6") = (long) (arg3);			\
+	register long __a3 asm ("$7") = (long) (arg4);			\
+	register long __a4 asm ("$8") = (long) (arg5);			\
+	register long __a5 asm ("$9") = (long) (arg6);			\
+	__asm__ volatile (						\
+	".set\tnoreorder\n\t"						\
+	v0_init								\
+	"syscall\n\t"							\
+	".set\treorder"							\
+	: "=r" (__v0), "+r" (__a3)					\
+	: input, "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4),	\
+	  "r" (__a5)							\
+	: __SYSCALL_CLOBBERS);						\
+	err = __a3;							\
+	_sys_result = __v0;						\
+	}								\
+	_sys_result;							\
+})
+
+#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
+	"$14", "$15", "$24", "$25", "hi", "lo", "memory"
+
+/* Standard MIPS syscalls have an error flag, and return a positive errno
+   when the error flag is set. Emulate this behaviour for vsyscalls so that
+   the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly.  */
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		\
+  ({									\
+    long _ret = funcptr (args);						\
+    err = ((unsigned long) (_ret) >= (unsigned long) -4095L);		\
+    if (err)								\
+      _ret = -_ret;							\
+    _ret;								\
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+#endif /* __ASSEMBLER__ */
+
+/* Pointer mangling is not yet supported for MIPS.  */
+#define PTR_MANGLE(var) (void) (var)
+#define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* linux/mips/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/semctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
new file mode 100644
index 0000000000..2cd5d63af0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+#undef SHLIB_COMPAT
+#define SHLIB_COMPAT(a, b, c) 0
+
+#define DEFAULT_VERSION GLIBC_2_0
+
+#include <sysdeps/unix/sysv/linux/semctl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c
new file mode 100644
index 0000000000..f008110742
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+#undef SHLIB_COMPAT
+#define SHLIB_COMPAT(a, b, c) 0
+
+#define DEFAULT_VERSION GLIBC_2_0
+
+#include <./sysdeps/unix/sysv/linux/shmctl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/syscall.S
new file mode 100644
index 0000000000..efaa4489c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/syscall.S
@@ -0,0 +1,63 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include <sys/asm.h>
+
+/* Usage:
+   long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
+
+   We need to do some arg shifting, syscall_number will be in v0.  */
+
+
+	.text
+NESTED (syscall, SZREG, ra)
+	.mask 0x00010000, -SZREG
+	.fmask 0x00000000, 0
+	PTR_ADDIU sp, -SZREG
+	cfi_adjust_cfa_offset (SZREG)
+	REG_S s0, (sp)
+	cfi_rel_offset (s0, 0)
+
+	move s0, a0
+	move a0, a1		/* shift arg1 - arg7.  */
+	move a1, a2
+	move a2, a3
+	move a3, a4
+	move a4, a5
+	move a5, a6
+	move a6, a7
+
+	move v0, s0		/* Syscall number -> v0 */
+	syscall			/* Do the system call.  */
+
+	REG_L s0, (sp)
+	cfi_restore (s0)
+	PTR_ADDIU sp, SZREG
+	cfi_adjust_cfa_offset (-SZREG)
+	bne a3, zero, L(error)
+
+	ret
+
+L(error):
+	SETUP_GP64_REG (a0, syscall)
+	PTR_LA t9, __syscall_error
+	RESTORE_GP64_REG
+	jr t9
+
+END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
new file mode 100644
index 0000000000..0ed3e3d62c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
@@ -0,0 +1,249 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sysdeps/generic/sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+#include <sys/asm.h>
+
+/* Gas will put the initial save of $gp into the CIE, because it appears to
+   happen before any instructions.  So we use cfi_same_value instead of
+   cfi_restore.  */
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+#ifdef __PIC__
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+      .align 2;								      \
+  L(pseudo_start):							      \
+      cfi_startproc;							      \
+      cfi_adjust_cfa_offset (STKSPACE);					      \
+      cfi_rel_offset (gp, STKOFF_GP);					      \
+  99: PTR_LA t9,__syscall_error;					      \
+      /* manual cpreturn */						      \
+      REG_L gp, STKOFF_GP(sp);						      \
+      cfi_same_value (gp);						      \
+      RESTORESTK;							      \
+      jr t9;								      \
+  .type __##syscall_name##_nocancel, @function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    SAVESTK;								      \
+    .cpsetup t9, STKOFF_GP, __##syscall_name##_nocancel;		      \
+    cfi_rel_offset (gp, STKOFF_GP);					      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    bne a3, zero, SYSCALL_ERROR_LABEL;			       		      \
+    /* manual cpreturn */						      \
+    REG_L gp, STKOFF_GP(sp);						      \
+    cfi_same_value (gp);						      \
+    RESTORESTK;								      \
+    ret;								      \
+    cfi_endproc;							      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  ENTRY (name)								      \
+    SAVESTK;								      \
+    .cpsetup t9, STKOFF_GP, name;					      \
+    cfi_rel_offset (gp, STKOFF_GP);					      \
+    SINGLE_THREAD_P(v1);						      \
+    bne zero, v1, L(pseudo_cancel);					      \
+    .set noreorder;							      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    .set reorder;							      \
+    bne a3, zero, SYSCALL_ERROR_LABEL;			       		      \
+    /* manual cpreturn */						      \
+    REG_L gp, STKOFF_GP(sp);						      \
+    cfi_same_value (gp);						      \
+    RESTORESTK;								      \
+    ret;								      \
+  L(pseudo_cancel):							      \
+    cfi_adjust_cfa_offset (STKSPACE);					      \
+    cfi_rel_offset (gp, STKOFF_GP);					      \
+    REG_S ra, STKOFF_RA(sp);						      \
+    cfi_rel_offset (ra, STKOFF_RA);					      \
+    PUSHARGS_##args;			/* save syscall args */	      	      \
+    CENABLE;								      \
+    REG_S v0, STKOFF_SVMSK(sp);		/* save mask */			      \
+    POPARGS_##args;			/* restore syscall args */	      \
+    .set noreorder;							      \
+    li v0, SYS_ify (syscall_name);				      	      \
+    syscall;								      \
+    .set reorder;							      \
+    REG_S v0, STKOFF_SC_V0(sp);		/* save syscall result */             \
+    REG_S a3, STKOFF_SC_ERR(sp);	/* save syscall error flag */	      \
+    REG_L a0, STKOFF_SVMSK(sp);		/* pass mask as arg1 */		      \
+    CDISABLE;								      \
+    REG_L a3, STKOFF_SC_ERR(sp);	/* restore syscall error flag */      \
+    REG_L ra, STKOFF_RA(sp);		/* restore return address */	      \
+    REG_L v0, STKOFF_SC_V0(sp);		/* restore syscall result */          \
+    bne a3, zero, SYSCALL_ERROR_LABEL;					      \
+    /* manual cpreturn */						      \
+    REG_L gp, STKOFF_GP(sp);						      \
+    cfi_same_value (gp);						      \
+    RESTORESTK;								      \
+  L(pseudo_end):
+#else
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+      .align 2;								      \
+  L(pseudo_start):							      \
+      cfi_startproc;							      \
+      cfi_adjust_cfa_offset (STKSPACE);					      \
+  99: RESTORESTK;							      \
+      j __syscall_error;						      \
+  .type __##syscall_name##_nocancel, @function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    SAVESTK;								      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    bne a3, zero, SYSCALL_ERROR_LABEL;			       		      \
+    RESTORESTK;								      \
+    ret;								      \
+    cfi_endproc;							      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  ENTRY (name)								      \
+    SAVESTK;								      \
+    SINGLE_THREAD_P(v1);						      \
+    bne zero, v1, L(pseudo_cancel);					      \
+    .set noreorder;							      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    .set reorder;							      \
+    bne a3, zero, SYSCALL_ERROR_LABEL;			       		      \
+    RESTORESTK;								      \
+    ret;								      \
+  L(pseudo_cancel):							      \
+    cfi_adjust_cfa_offset (STKSPACE);					      \
+    REG_S ra, STKOFF_RA(sp);						      \
+    cfi_rel_offset (ra, STKOFF_RA);					      \
+    PUSHARGS_##args;			/* save syscall args */	      	      \
+    CENABLE;								      \
+    REG_S v0, STKOFF_SVMSK(sp);		/* save mask */			      \
+    POPARGS_##args;			/* restore syscall args */	      \
+    .set noreorder;							      \
+    li v0, SYS_ify (syscall_name);				      	      \
+    syscall;								      \
+    .set reorder;							      \
+    REG_S v0, STKOFF_SC_V0(sp);		/* save syscall result */             \
+    REG_S a3, STKOFF_SC_ERR(sp);	/* save syscall error flag */	      \
+    REG_L a0, STKOFF_SVMSK(sp);		/* pass mask as arg1 */		      \
+    CDISABLE;								      \
+    REG_L a3, STKOFF_SC_ERR(sp);	/* restore syscall error flag */      \
+    REG_L ra, STKOFF_RA(sp);		/* restore return address */	      \
+    REG_L v0, STKOFF_SC_V0(sp);		/* restore syscall result */          \
+    bne a3, zero, SYSCALL_ERROR_LABEL;					      \
+    RESTORESTK;								      \
+  L(pseudo_end):
+#endif
+
+# undef PSEUDO_END
+# define PSEUDO_END(sym) cfi_endproc; .end sym; .size sym,.-sym
+
+# define PUSHARGS_0	/* nothing to do */
+# define PUSHARGS_1	PUSHARGS_0 REG_S a0, STKOFF_A0(sp); cfi_rel_offset (a0, STKOFF_A0);
+# define PUSHARGS_2	PUSHARGS_1 REG_S a1, STKOFF_A1(sp); cfi_rel_offset (a1, STKOFF_A1);
+# define PUSHARGS_3	PUSHARGS_2 REG_S a2, STKOFF_A2(sp); cfi_rel_offset (a2, STKOFF_A2);
+# define PUSHARGS_4	PUSHARGS_3 REG_S a3, STKOFF_A3(sp); cfi_rel_offset (a3, STKOFF_A3);
+# define PUSHARGS_5	PUSHARGS_4 REG_S a4, STKOFF_A4(sp); cfi_rel_offset (a3, STKOFF_A4);
+# define PUSHARGS_6	PUSHARGS_5 REG_S a5, STKOFF_A5(sp); cfi_rel_offset (a3, STKOFF_A5);
+
+# define POPARGS_0	/* nothing to do */
+# define POPARGS_1	POPARGS_0 REG_L a0, STKOFF_A0(sp);
+# define POPARGS_2	POPARGS_1 REG_L a1, STKOFF_A1(sp);
+# define POPARGS_3	POPARGS_2 REG_L a2, STKOFF_A2(sp);
+# define POPARGS_4	POPARGS_3 REG_L a3, STKOFF_A3(sp);
+# define POPARGS_5	POPARGS_4 REG_L a4, STKOFF_A4(sp);
+# define POPARGS_6	POPARGS_5 REG_L a5, STKOFF_A5(sp);
+
+/* Save an even number of slots.  Should be 0 if an even number of slots
+   are used below, or SZREG if an odd number are used.  */
+# ifdef __PIC__
+#  define STK_PAD	SZREG
+# else
+#  define STK_PAD	0
+# endif
+
+/* Place values that we are more likely to use later in this sequence, i.e.
+   closer to the SP at function entry.  If you do that, the are more
+   likely to already be in your d-cache.  */
+# define STKOFF_A5	(STK_PAD)
+# define STKOFF_A4	(STKOFF_A5 + SZREG)
+# define STKOFF_A3	(STKOFF_A4 + SZREG)
+# define STKOFF_A2	(STKOFF_A3 + SZREG)	/* MT and more args.  */
+# define STKOFF_A1	(STKOFF_A2 + SZREG)	/* MT and 2 args.  */
+# define STKOFF_A0	(STKOFF_A1 + SZREG)	/* MT and 1 arg.  */
+# define STKOFF_RA	(STKOFF_A0 + SZREG)	/* Used if MT.  */
+# define STKOFF_SC_V0	(STKOFF_RA + SZREG)	/* Used if MT.  */
+# define STKOFF_SC_ERR	(STKOFF_SC_V0 + SZREG)	/* Used if MT.  */
+# define STKOFF_SVMSK	(STKOFF_SC_ERR + SZREG)	/* Used if MT.  */
+
+# ifdef __PIC__
+#  define STKOFF_GP	(STKOFF_SVMSK + SZREG)	/* Always used.  */
+#  define STKSPACE	(STKOFF_GP + SZREG)
+# else
+#  define STKSPACE	(STKOFF_SVMSK + SZREG)
+# endif
+
+# define SAVESTK 	PTR_SUBU sp, STKSPACE; cfi_adjust_cfa_offset(STKSPACE)
+# define RESTORESTK 	PTR_ADDU sp, STKSPACE; cfi_adjust_cfa_offset(-STKSPACE)
+
+# ifdef __PIC__
+#  define PSEUDO_JMP(sym) PTR_LA t9, sym; jalr t9
+# else
+#  define PSEUDO_JMP(sym) jal sym
+# endif
+
+# if IS_IN (libpthread)
+#  define CENABLE	PSEUDO_JMP (__pthread_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__pthread_disable_asynccancel)
+# elif IS_IN (librt)
+#  define CENABLE	PSEUDO_JMP (__librt_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__librt_disable_asynccancel)
+# else
+#  define CENABLE	PSEUDO_JMP (__libc_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__libc_disable_asynccancel)
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+	__builtin_expect (THREAD_GETMEM (THREAD_SELF,			\
+					 header.multiple_threads)	\
+			  == 0, 1)
+# else
+#  define SINGLE_THREAD_P(reg)						\
+	READ_THREAD_POINTER(reg);					\
+	lw reg, MULTIPLE_THREADS_OFFSET(reg)
+#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/mips/mips64/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/umount.c
new file mode 100644
index 0000000000..64487c7819
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/umount.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Huggins-Daines <dhd@debian.org>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Since we don't have an oldumount system call, do what the kernel
+   does down here.  */
+
+extern long int __umount2 (const char *name, int flags);
+
+long int
+__umount (const char *name)
+{
+  return __umount2 (name, 0);
+}
+
+weak_alias (__umount, umount);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
new file mode 100644
index 0000000000..332ede92b9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
@@ -0,0 +1,44 @@
+/* xstat64 using 64-bit MIPS stat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+
+int
+__xstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  int result;
+  struct kernel_stat kbuf;
+
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
+  if (result == 0)
+    result = __xstat64_conv (vers, &kbuf, buf);
+
+  return result;
+}
+
+hidden_def (__xstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/pipe.S
new file mode 100644
index 0000000000..1708888da4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/pipe.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/mips/pipe.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/profil-counter.h
new file mode 100644
index 0000000000..8a6a0bcf3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/profil-counter.h
@@ -0,0 +1,2 @@
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/pt-vfork.S
new file mode 100644
index 0000000000..65cc3823ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/pt-vfork.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/putmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/putmsg.c
new file mode 100644
index 0000000000..ebc1680ca7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/putmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/readelflib.c
new file mode 100644
index 0000000000..243c85b69d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/readelflib.c
@@ -0,0 +1,91 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Alexandre Oliva <aoliva@redhat.com>
+   Based on work ../x86_64/readelflib.c,
+   contributed by Andreas Jaeger <aj@suse.de>, 1999 and
+		  Jakub Jelinek <jakub@redhat.com>, 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/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  union
+    {
+      Elf64_Ehdr *eh64;
+      Elf32_Ehdr *eh32;
+      ElfW(Ehdr) *eh;
+    }
+  elf_header;
+  int ret;
+
+  elf_header.eh = file_contents;
+  if (elf_header.eh->e_ident [EI_CLASS] == ELFCLASS32)
+    {
+      ret = process_elf32_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      if (!ret)
+	{
+	  Elf32_Word flags = elf_header.eh32->e_flags;
+	  int nan2008 = (flags & EF_MIPS_NAN2008) != 0;
+
+	  /* n32 libraries are always libc.so.6+, o32 only if 2008 NaN.  */
+	  if ((flags & EF_MIPS_ABI2) != 0)
+	    *flag = (nan2008 ? FLAG_MIPS64_LIBN32_NAN2008
+		     : FLAG_MIPS64_LIBN32) | FLAG_ELF_LIBC6;
+	  else if (nan2008)
+	    *flag = FLAG_MIPS_LIB32_NAN2008 | FLAG_ELF_LIBC6;
+	}
+    }
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* n64 libraries are always libc.so.6+.  */
+      if (!ret)
+	{
+	  Elf64_Word flags = elf_header.eh64->e_flags;
+	  int nan2008 = (flags & EF_MIPS_NAN2008) != 0;
+
+	  *flag = (nan2008 ? FLAG_MIPS64_LIBN64_NAN2008
+		   : FLAG_MIPS64_LIBN64) | FLAG_ELF_LIBC6;
+	}
+    }
+
+  return ret;
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/register-dump.h
new file mode 100644
index 0000000000..803b9fdb5c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/register-dump.h
@@ -0,0 +1,121 @@
+/* Dump registers.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sgidefs.h>
+#include <sys/uio.h>
+#include <_itoa.h>
+
+#if _MIPS_SIM == _ABIO32
+# define CTX_TYPE	struct sigcontext *
+# define CTX_REG(ctx, i)	((ctx)->sc_regs[(i)])
+# define CTX_PC(ctx)	((ctx)->sc_pc)
+# define CTX_MDHI(ctx)	((ctx)->sc_mdhi)
+# define CTX_MDLO(ctx)	((ctx)->sc_mdlo)
+# define REG_HEX_SIZE	8
+#else
+# define CTX_TYPE	ucontext_t *
+# define CTX_REG(ctx, i)	((ctx)->uc_mcontext.gregs[(i)])
+# define CTX_PC(ctx)	((ctx)->uc_mcontext.pc)
+# define CTX_MDHI(ctx)	((ctx)->uc_mcontext.mdhi)
+# define CTX_MDLO(ctx)	((ctx)->uc_mcontext.mdhi)
+# define REG_HEX_SIZE	16
+#endif
+
+/* We will print the register dump in this format:
+
+ R0   XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R8   XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R16  XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R24  XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+            pc       lo       hi
+      XXXXXXXX XXXXXXXX XXXXXXXX
+ The FPU registers will not be printed.
+*/
+
+static void
+hexvalue (_ITOA_WORD_TYPE 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, CTX_TYPE ctx)
+{
+  char regs[38][REG_HEX_SIZE];
+  struct iovec iov[38 * 2 + 10];
+  size_t nr = 0;
+  int i;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  for (i = 0; i < 32; i++)
+    hexvalue (CTX_REG (ctx, i), regs[i], REG_HEX_SIZE);
+  hexvalue (CTX_PC (ctx), regs[32], REG_HEX_SIZE);
+  hexvalue (CTX_MDHI (ctx), regs[33], REG_HEX_SIZE);
+  hexvalue (CTX_MDLO (ctx), regs[34], REG_HEX_SIZE);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n R0   ");
+  for (i = 0; i < 8; i++)
+    {
+      ADD_MEM (regs[i], REG_HEX_SIZE);
+      ADD_STRING (" ");
+    }
+  ADD_STRING ("\n R8   ");
+  for (i = 8; i < 16; i++)
+    {
+      ADD_MEM (regs[i], REG_HEX_SIZE);
+      ADD_STRING (" ");
+    }
+  ADD_STRING ("\n R16  ");
+  for (i = 16; i < 24; i++)
+    {
+      ADD_MEM (regs[i], REG_HEX_SIZE);
+      ADD_STRING (" ");
+    }
+  ADD_STRING ("\n R24  ");
+  for (i = 24; i < 32; i++)
+    {
+      ADD_MEM (regs[i], REG_HEX_SIZE);
+      ADD_STRING (" ");
+    }
+  ADD_STRING ("\n            pc       lo       hi\n      ");
+  for (i = 32; i < 35; i++)
+    {
+      ADD_MEM (regs[i], REG_HEX_SIZE);
+      ADD_STRING (" ");
+    }
+  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/mips/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/setcontext.S
new file mode 100644
index 0000000000..4e363d98d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/setcontext.S
@@ -0,0 +1,196 @@
+/* Set current context.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maciej W. Rozycki <macro@codesourcery.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 <sysdep.h>
+#include <sys/asm.h>
+#include <sys/fpregdef.h>
+#include <sys/regdef.h>
+
+#include "ucontext_i.h"
+
+/* int setcontext (const ucontext_t *ucp) */
+
+	.text
+	.set	nomips16
+LOCALSZ = 0
+ARGSZ = 0
+MASK = 0x00000000
+#ifdef __PIC__
+LOCALSZ = 1						/* save gp */
+#endif
+#if _MIPS_SIM != _ABIO32
+ARGSZ = 1						/* save a0 */
+# ifdef __PIC__
+MASK = 0x10000000
+# endif
+#endif
+FRAMESZ = (((ARGSZ + LOCALSZ) * SZREG) + ALSZ) & ALMASK
+GPOFF = FRAMESZ - ((ARGSZ + 1) * SZREG)
+#if _MIPS_SIM != _ABIO32
+A0OFF = FRAMESZ - (1 * SZREG)				/* callee-allocated */
+#else
+A0OFF = FRAMESZ + (0 * SZREG)				/* caller-allocated */
+#endif
+
+NESTED (__setcontext, FRAMESZ, ra)
+	.mask	MASK, -(ARGSZ * SZREG)
+	.fmask	0x00000000, 0
+
+#ifdef __PIC__
+	SETUP_GP
+#endif
+
+	PTR_ADDIU sp, -FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+
+#ifdef __PIC__
+	SETUP_GP64_STACK (GPOFF, __setcontext)
+	SAVE_GP (GPOFF)
+#endif
+
+#ifdef PROF
+	.set	noat
+	move	AT, ra
+	jal	_mcount
+	.set	at
+#endif
+
+	/* Check for the magic flag.  */
+	li	v0, 1
+	REG_L	v1, (0 * SZREG + MCONTEXT_GREGS)(a0)	/* zero */
+	bne	v0, v1, 98f
+
+	REG_S	a0, A0OFF(sp)
+
+/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */
+	li	a3, _NSIG8
+	move	a2, zero
+	PTR_ADDU a1, a0, UCONTEXT_SIGMASK
+	li	a0, SIG_SETMASK
+
+	li	v0, SYS_ify (rt_sigprocmask)
+	syscall
+	bnez	a3, 99f
+
+	REG_L	v0, A0OFF(sp)
+
+#ifdef __mips_hard_float
+# if _MIPS_SIM == _ABI64
+	l.d	fs0, (24 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs1, (25 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs2, (26 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs3, (27 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs5, (29 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs6, (30 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs7, (31 * SZREG + MCONTEXT_FPREGS)(v0)
+
+# else  /* _MIPS_SIM != _ABI64 */
+	l.d	fs0, (20 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs1, (22 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs2, (24 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs3, (26 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs5, (30 * SZREG + MCONTEXT_FPREGS)(v0)
+
+# endif /* _MIPS_SIM != _ABI64 */
+
+	lw	v1, MCONTEXT_FPC_CSR(v0)
+	ctc1	v1, fcr31
+#endif /* __mips_hard_float */
+
+	/* Note the contents of argument registers will be random
+	   unless makecontext() has been called.  */
+	REG_L	a0, (4 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a1, (5 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a2, (6 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a3, (7 * SZREG + MCONTEXT_GREGS)(v0)
+#if _MIPS_SIM != _ABIO32
+	REG_L	a4, (8 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a5, (9 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a6, (10 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a7, (11 * SZREG + MCONTEXT_GREGS)(v0)
+#endif
+
+	REG_L	s0, (16 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s1, (17 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s2, (18 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s3, (19 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s4, (20 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s5, (21 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s6, (22 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s7, (23 * SZREG + MCONTEXT_GREGS)(v0)
+#if ! defined (__PIC__) || _MIPS_SIM != _ABIO32
+	REG_L	gp, (28 * SZREG + MCONTEXT_GREGS)(v0)
+#endif
+	REG_L	sp, (29 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	fp, (30 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	ra, (31 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	t9, MCONTEXT_PC(v0)
+
+	move	v0, zero
+	jr	t9
+
+98:
+	/* This is a context obtained from a signal handler.
+	   Perform a full restore by pushing the context
+	   passed onto a simulated signal frame on the stack
+	   and call the signal return syscall as if a signal
+	   handler exited normally.  */
+	PTR_ADDIU sp, -((RT_SIGFRAME_SIZE + ALSZ) & ALMASK)
+	cfi_adjust_cfa_offset ((RT_SIGFRAME_SIZE + ALSZ) & ALMASK)
+
+	/* Only ucontext is referred to from rt_sigreturn,
+	   copy it.  */
+	PTR_ADDIU t1, sp, RT_SIGFRAME_UCONTEXT
+	li	t3, ((UCONTEXT_SIZE + SZREG - 1) / SZREG) - 1
+0:
+	REG_L	t2, (a0)
+	PTR_ADDIU a0, SZREG
+	REG_S	t2, (t1)
+	PTR_ADDIU t1, SZREG
+	.set	noreorder
+	bgtz	t3, 0b
+	 addiu	t3, -1
+	.set	reorder
+
+/* rt_sigreturn () -- no arguments, sp points to struct rt_sigframe.  */
+	li	v0, SYS_ify (rt_sigreturn)
+	syscall
+
+	/* Restore the stack and fall through to the error
+	   path.  Successful rt_sigreturn never returns to
+	   its calling place.  */
+	PTR_ADDIU sp, ((RT_SIGFRAME_SIZE + ALSZ) & ALMASK)
+	cfi_adjust_cfa_offset (-((RT_SIGFRAME_SIZE + ALSZ) & ALMASK))
+99:
+#ifdef __PIC__
+	PTR_LA	t9, JUMPTARGET (__syscall_error)
+	RESTORE_GP64_STACK
+	PTR_ADDIU sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	jr	t9
+
+#else  /* ! __PIC__ */
+
+	j	JUMPTARGET (__syscall_error)
+#endif /* ! __PIC__ */
+PSEUDO_END (__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/setrlimit64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/setrlimit64.c
new file mode 100644
index 0000000000..d6feb59b30
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/setrlimit64.c
@@ -0,0 +1,64 @@
+/* Copyright (C) 2013-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 <sgidefs.h>
+
+#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
+
+# include <shlib-compat.h>
+
+# define setrlimit64 __new_setrlimit64
+# include <sysdeps/unix/sysv/linux/setrlimit64.c>
+# undef setrlimit64
+
+versioned_symbol (libc, __new_setrlimit64, setrlimit64, GLIBC_2_19);
+
+# if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_19)
+
+/* RLIM64_INFINITY was supposed to be a glibc convention rather than
+   anything seen by the kernel, but it ended being passed to the kernel
+   through the prlimit64 syscall.  Given that a lot of binaries with
+   the wrong constant value are in the wild, provide a wrapper function
+   fixing the value before the syscall.  */
+
+#  define OLD_RLIM64_INFINITY		0x7fffffffffffffffULL
+
+int
+attribute_compat_text_section
+__old_setrlimit64 (enum __rlimit_resource resource,
+		   const struct rlimit64 *rlimits)
+{
+  struct rlimit64 krlimits;
+
+  if (rlimits->rlim_cur == OLD_RLIM64_INFINITY)
+    krlimits.rlim_cur = RLIM64_INFINITY;
+  else
+    krlimits.rlim_cur = rlimits->rlim_cur;
+  if (rlimits->rlim_max == OLD_RLIM64_INFINITY)
+    krlimits.rlim_max = RLIM64_INFINITY;
+  else
+    krlimits.rlim_max = rlimits->rlim_max;
+
+  return __new_setrlimit64 (resource, &krlimits);
+}
+
+compat_symbol (libc, __old_setrlimit64, setrlimit64, GLIBC_2_2);
+# endif
+
+#else /* !_ABI_O32 && !_ABI_N32 */
+# include <sysdeps/unix/sysv/linux/setrlimit64.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/mips/shlib-versions
new file mode 100644
index 0000000000..c5bd7db098
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/shlib-versions
@@ -0,0 +1,27 @@
+libm=6			GLIBC_2.0 GLIBC_2.2
+
+# Working mips versions were never released between 2.0 and 2.2.
+libc=6			GLIBC_2.0 GLIBC_2.2
+
+%ifdef HAVE_MIPS_NAN2008
+ld=ld-linux-mipsn8.so.1	GLIBC_2.0 GLIBC_2.2
+%else
+ld=ld.so.1		GLIBC_2.0 GLIBC_2.2
+%endif
+libdl=2			GLIBC_2.0 GLIBC_2.2
+
+libresolv=2		GLIBC_2.0 GLIBC_2.2
+
+libnss_files=2		GLIBC_2.0 GLIBC_2.2
+libnss_dns=2		GLIBC_2.0 GLIBC_2.2
+libnss_compat=2		GLIBC_2.0 GLIBC_2.2
+libnss_nis=2		GLIBC_2.0 GLIBC_2.2
+libnss_nisplus=2	GLIBC_2.0 GLIBC_2.2
+libnss_ldap=2		GLIBC_2.0 GLIBC_2.2
+libnss_hesiod=2		GLIBC_2.0 GLIBC_2.2
+
+libnsl=1		GLIBC_2.0 GLIBC_2.2
+
+librt=1			GLIBC_2.0 GLIBC_2.2
+
+libpthread=0		GLIBC_2.0 GLIBC_2.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigaction.c
new file mode 100644
index 0000000000..f6be3f29b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigaction.c
@@ -0,0 +1,116 @@
+/* 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 <sgidefs.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <sgidefs.h>
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+#if _MIPS_SIM != _ABIO32
+
+# ifdef __NR_rt_sigreturn
+static void restore_rt (void) asm ("__restore_rt");
+# endif
+# ifdef __NR_sigreturn
+static void restore (void) asm ("__restore");
+# endif
+#endif
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+
+  struct kernel_sigaction kact, koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kernel_sigset_t));
+      kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+# if _MIPS_SIM == _ABIO32
+      kact.sa_restorer = act->sa_restorer;
+# else
+      kact.sa_restorer = &restore_rt;
+# endif
+#endif
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.	*/
+  result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+			   act ? &kact : NULL,
+			   oact ? &koact : NULL,
+			   sizeof (kernel_sigset_t));
+
+  if (oact && result >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask,
+	      sizeof (kernel_sigset_t));
+      oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+      oact->sa_restorer = koact.sa_restorer;
+#endif
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
+
+
+/* NOTE: Please think twice before making any changes to the bits of
+   code below.  GDB needs some intimate knowledge about it to
+   recognize them as signal trampolines, and make backtraces through
+   signal handlers work right.  Important are both the names
+   (__restore_rt) and the exact instruction sequence.
+   If you ever feel the need to make any changes, please notify the
+   appropriate GDB maintainer.  */
+
+#define RESTORE(name, syscall) RESTORE2 (name, syscall)
+#define RESTORE2(name, syscall) \
+asm						\
+  (						\
+   ".align 4\n"					\
+   "__" #name ":\n"				\
+   "	li $2, " #syscall "\n"			\
+   "	syscall\n"				\
+   );
+
+/* The return code for realtime-signals.  */
+#if _MIPS_SIM != _ABIO32
+# ifdef __NR_rt_sigreturn
+RESTORE (restore_rt, __NR_rt_sigreturn)
+# endif
+# ifdef __NR_sigreturn
+RESTORE (restore, __NR_sigreturn)
+# endif
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
new file mode 100644
index 0000000000..c9bc08363c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#include <sgidefs.h>
+
+#if _MIPS_SIM == _ABIO32
+
+#define SIGCONTEXT unsigned long _code, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)	((void *) (unsigned long) ctx->sc_pc)
+#define GET_FRAME(ctx)	((void *) (unsigned long) ctx->sc_regs[30])
+#define GET_STACK(ctx)	((void *) (unsigned long) ctx->sc_regs[29])
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
+
+#else
+
+#define SIGCONTEXT unsigned long _code, ucontext_t *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)	((void *) (unsigned long) ctx->uc_mcontext.pc)
+#define GET_FRAME(ctx)	((void *) (unsigned long) ctx->uc_mcontext.gregs[30])
+#define GET_STACK(ctx)	((void *) (unsigned long) ctx->uc_mcontext.gregs[29])
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/swapcontext.S
new file mode 100644
index 0000000000..fde6e5e48a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/swapcontext.S
@@ -0,0 +1,214 @@
+/* Save and set current context.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Maciej W. Rozycki <macro@codesourcery.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 <sysdep.h>
+#include <sys/asm.h>
+#include <sys/fpregdef.h>
+#include <sys/regdef.h>
+
+#include "ucontext_i.h"
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+
+	.text
+	.set	nomips16
+LOCALSZ = 0
+ARGSZ = 0
+MASK = 0x00000000
+#ifdef __PIC__
+LOCALSZ = 1						/* save gp */
+#endif
+#if _MIPS_SIM != _ABIO32
+ARGSZ = 1						/* save a1 */
+# ifdef __PIC__
+MASK = 0x10000000
+# endif
+#endif
+FRAMESZ = (((ARGSZ + LOCALSZ) * SZREG) + ALSZ) & ALMASK
+GPOFF = FRAMESZ - ((ARGSZ + 1) * SZREG)
+#if _MIPS_SIM != _ABIO32
+A1OFF = FRAMESZ - (1 * SZREG)				/* callee-allocated */
+#else
+A1OFF = FRAMESZ + (1 * SZREG)				/* caller-allocated */
+#endif
+
+NESTED (__swapcontext, FRAMESZ, ra)
+	.mask	MASK, -(ARGSZ * SZREG)
+	.fmask	0x00000000, 0
+
+#ifdef __PIC__
+	SETUP_GP
+
+	move	a2, sp
+# define _SP a2
+
+# if _MIPS_SIM != _ABIO32
+	move	a3, gp
+#  define _GP a3
+# endif
+
+	PTR_ADDIU sp, -FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+	SETUP_GP64_STACK (GPOFF, __swapcontext)
+	SAVE_GP (GPOFF)
+
+#else  /* ! __PIC__ */
+# define _SP sp
+# define _GP gp
+
+#endif /* ! __PIC__ */
+
+#ifdef PROF
+	.set	noat
+	move	AT, ra
+	jal	_mcount
+	.set	at
+#endif
+
+	/* Store a magic flag.	*/
+	li	v1, 1
+	REG_S	v1, (0 * SZREG + MCONTEXT_GREGS)(a0)	/* zero */
+
+	REG_S	s0, (16 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s1, (17 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s2, (18 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s3, (19 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s4, (20 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s5, (21 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s6, (22 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	s7, (23 * SZREG + MCONTEXT_GREGS)(a0)
+#if ! defined (__PIC__) || _MIPS_SIM != _ABIO32
+	REG_S	_GP, (28 * SZREG + MCONTEXT_GREGS)(a0)
+#endif
+	REG_S	_SP, (29 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	fp, (30 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	ra, (31 * SZREG + MCONTEXT_GREGS)(a0)
+	REG_S	ra, MCONTEXT_PC(a0)
+
+#ifdef __mips_hard_float
+# if _MIPS_SIM == _ABI64
+	s.d	fs0, (24 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs1, (25 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs2, (26 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs3, (27 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs5, (29 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs6, (30 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs7, (31 * SZREG + MCONTEXT_FPREGS)(a0)
+
+# else  /* _MIPS_SIM != _ABI64 */
+	s.d	fs0, (20 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs1, (22 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs2, (24 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs3, (26 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(a0)
+	s.d	fs5, (30 * SZREG + MCONTEXT_FPREGS)(a0)
+
+# endif /* _MIPS_SIM != _ABI64 */
+
+	cfc1	v1, fcr31
+	sw	v1, MCONTEXT_FPC_CSR(a0)
+#endif /* __mips_hard_float */
+
+	REG_S	a1, A1OFF(sp)
+
+/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask, _NSIG8) */
+	li	a3, _NSIG8
+	PTR_ADDU a2, a0, UCONTEXT_SIGMASK
+	PTR_ADDU a1, a1, UCONTEXT_SIGMASK
+	li	a0, SIG_SETMASK
+
+	li	v0, SYS_ify (rt_sigprocmask)
+	syscall
+	bnez	a3, 99f
+
+	REG_L	v0, A1OFF(sp)
+
+#ifdef __mips_hard_float
+# if _MIPS_SIM == _ABI64
+	l.d	fs0, (24 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs1, (25 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs2, (26 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs3, (27 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs5, (29 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs6, (30 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs7, (31 * SZREG + MCONTEXT_FPREGS)(v0)
+
+# else  /* _MIPS_SIM != _ABI64 */
+	l.d	fs0, (20 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs1, (22 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs2, (24 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs3, (26 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs4, (28 * SZREG + MCONTEXT_FPREGS)(v0)
+	l.d	fs5, (30 * SZREG + MCONTEXT_FPREGS)(v0)
+
+# endif /* _MIPS_SIM != _ABI64 */
+
+	lw	v1, MCONTEXT_FPC_CSR(v0)
+	ctc1	v1, fcr31
+#endif /* __mips_hard_float */
+
+	/* Note the contents of argument registers will be random
+	   unless makecontext() has been called.  */
+	REG_L	a0, (4 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a1, (5 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a2, (6 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a3, (7 * SZREG + MCONTEXT_GREGS)(v0)
+#if _MIPS_SIM != _ABIO32
+	REG_L	a4, (8 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a5, (9 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a6, (10 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	a7, (11 * SZREG + MCONTEXT_GREGS)(v0)
+#endif
+
+	REG_L	s0, (16 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s1, (17 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s2, (18 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s3, (19 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s4, (20 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s5, (21 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s6, (22 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	s7, (23 * SZREG + MCONTEXT_GREGS)(v0)
+#if ! defined (__PIC__) || _MIPS_SIM != _ABIO32
+	REG_L	gp, (28 * SZREG + MCONTEXT_GREGS)(v0)
+#endif
+	REG_L	sp, (29 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	fp, (30 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	ra, (31 * SZREG + MCONTEXT_GREGS)(v0)
+	REG_L	t9, MCONTEXT_PC(v0)
+
+	move	v0, zero
+	jr	t9
+
+99:
+#ifdef __PIC__
+	PTR_LA	t9, JUMPTARGET (__syscall_error)
+	RESTORE_GP64_STACK
+	PTR_ADDIU sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+	jr	t9
+
+#else  /* ! __PIC__ */
+
+	j	JUMPTARGET (__syscall_error)
+#endif /* ! __PIC__ */
+PSEUDO_END (__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/cachectl.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/cachectl.h
new file mode 100644
index 0000000000..4bad3754b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/cachectl.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_CACHECTL_H
+#define _SYS_CACHECTL_H 1
+
+#include <features.h>
+
+/*
+ * Get the kernel definition for the op bits.
+ */
+#include <asm/cachectl.h>
+
+__BEGIN_DECLS
+
+#ifdef __USE_MISC
+extern int cachectl (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int __cachectl (void *__addr, const int __nbytes, const int __op) __THROW;
+#ifdef __USE_MISC
+extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
+
+__END_DECLS
+
+#endif /* sys/cachectl.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/procfs.h
new file mode 100644
index 0000000000..4c6001bd17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/procfs.h
@@ -0,0 +1,126 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <sgidefs.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+#include <sgidefs.h>
+
+/* ELF register definitions */
+#define ELF_NGREG	45
+#define ELF_NFPREG	33
+
+#if _MIPS_SIM == _ABIN32
+__extension__ typedef unsigned long long elf_greg_t;
+#else
+typedef unsigned long elf_greg_t;
+#endif
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+__BEGIN_DECLS
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+#if _MIPS_SIM == _ABIN32
+    __extension__ unsigned long long int pr_sigpend;
+    __extension__ unsigned long long int pr_sighold;
+#else
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+#if _MIPS_SIM == _ABIN32
+    __extension__ unsigned long long int pr_flag;
+#else
+    unsigned long int pr_flag;		/* Flags.  */
+#endif
+    long pr_uid;
+    long pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/sysmips.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/sysmips.h
new file mode 100644
index 0000000000..a059b7094d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/sysmips.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SYSMIPS_H
+#define _SYS_SYSMIPS_H 1
+
+#include <features.h>
+
+/*
+ * Commands for the sysmips(2) call
+ *
+ * sysmips(2) is deprecated - though some existing software uses it.
+ * We only support the following commands.  Sysmips exists for compatibility
+ * purposes only so new software should avoid it.
+ */
+#define SETNAME                   1	/* set hostname                  */
+#define FLUSH_CACHE		   3	/* writeback and invalidate caches */
+#define MIPS_FIXADE               7	/* control address error fixing  */
+#define MIPS_RDNVRAM              10	/* read NVRAM			 */
+#define MIPS_ATOMIC_SET		2001	/* atomically set variable       */
+
+__BEGIN_DECLS
+
+extern int sysmips (const int __cmd, ...) __THROW;
+
+__END_DECLS
+
+#endif /* sys/sysmips.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
new file mode 100644
index 0000000000..048e9a46b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
@@ -0,0 +1,125 @@
+/* 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/>.  */
+
+/* Don't rely on this, the interface is currently messed up and may need to
+   be broken to be fixed.  */
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+#include <sgidefs.h>
+
+
+/* Type for general register.  Even in o32 we assume 64-bit registers,
+   like the kernel.  */
+__extension__ typedef unsigned long long int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	32
+#define __NFPREG	32
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+# define NFPREG	__NFPREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Container for all FPU registers.  */
+typedef struct fpregset {
+	union {
+		double	__ctx(fp_dregs)[__NFPREG];
+		struct {
+			float		_fp_fregs;
+			unsigned int	_fp_pad;
+		} __ctx(fp_fregs)[__NFPREG];
+	} __ctx(fp_r);
+} fpregset_t;
+
+
+/* Context to describe whole processor state.  */
+#if _MIPS_SIM == _ABIO32
+/* Earlier versions of glibc for mips had an entirely different
+   definition of mcontext_t, that didn't even resemble the
+   corresponding kernel data structure.  Fortunately, makecontext,
+   [gs]etcontext et all were not implemented back then, so this can
+   still be rectified.  */
+typedef struct
+  {
+    unsigned int __ctx(regmask);
+    unsigned int __ctx(status);
+    greg_t __ctx(pc);
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
+    unsigned int __ctx(fp_owned);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(fpc_eir);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(mdlo);
+    unsigned long __ctx(hi1);
+    unsigned long __ctx(lo1);
+    unsigned long __ctx(hi2);
+    unsigned long __ctx(lo2);
+    unsigned long __ctx(hi3);
+    unsigned long __ctx(lo3);
+  } mcontext_t;
+#else
+typedef struct
+  {
+    gregset_t __ctx(gregs);
+    fpregset_t __ctx(fpregs);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(hi1);
+    greg_t __ctx(hi2);
+    greg_t __ctx(hi3);
+    greg_t __ctx(mdlo);
+    greg_t __ctx(lo1);
+    greg_t __ctx(lo2);
+    greg_t __ctx(lo3);
+    greg_t __ctx(pc);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
+    unsigned int __glibc_reserved1;
+  } mcontext_t;
+#endif
+
+#undef __ctx
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/user.h
new file mode 100644
index 0000000000..9d11d65880
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sys/user.h
@@ -0,0 +1,210 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+#include <sgidefs.h>
+#include <stddef.h>
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+/* #include <asm/reg.h> */
+/* Instead of including the kernel header, that will vary depending on
+   whether the 32- or the 64-bit kernel is installed, we paste its
+   contents here.  Note that the fact that the file is inline here,
+   instead of included separately, doesn't change in any way the
+   licensing status of a program that includes user.h.  Since this is
+   for gdb alone, and gdb is GPLed, no surprises here.  */
+#if _MIPS_SIM == _ABIO32
+/*
+ * Various register offset definitions for debuggers, core file
+ * examiners and whatnot.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 1995, 1999 by Ralf Baechle
+ */
+#ifndef __ASM_MIPS_REG_H
+#define __ASM_MIPS_REG_H
+
+/*
+ * This defines/structures correspond to the register layout on stack -
+ * if the order here is changed, it needs to be updated in
+ * include/asm-mips/stackframe.h
+ */
+#define EF_REG0			6
+#define EF_REG1			7
+#define EF_REG2			8
+#define EF_REG3			9
+#define EF_REG4			10
+#define EF_REG5			11
+#define EF_REG6			12
+#define EF_REG7			13
+#define EF_REG8			14
+#define EF_REG9			15
+#define EF_REG10		16
+#define EF_REG11		17
+#define EF_REG12		18
+#define EF_REG13		19
+#define EF_REG14		20
+#define EF_REG15		21
+#define EF_REG16		22
+#define EF_REG17		23
+#define EF_REG18		24
+#define EF_REG19		25
+#define EF_REG20		26
+#define EF_REG21		27
+#define EF_REG22		28
+#define EF_REG23		29
+#define EF_REG24		30
+#define EF_REG25		31
+/*
+ * k0/k1 unsaved
+ */
+#define EF_REG28		34
+#define EF_REG29		35
+#define EF_REG30		36
+#define EF_REG31		37
+
+/*
+ * Saved special registers
+ */
+#define EF_LO			38
+#define EF_HI			39
+
+#define EF_CP0_EPC		40
+#define EF_CP0_BADVADDR		41
+#define EF_CP0_STATUS		42
+#define EF_CP0_CAUSE		43
+
+#define EF_SIZE			180	/* size in bytes */
+
+#endif /* __ASM_MIPS_REG_H */
+
+#else /* _MIPS_SIM != _ABIO32 */
+
+/*
+ * Various register offset definitions for debuggers, core file
+ * examiners and whatnot.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 1995, 1999 Ralf Baechle
+ * Copyright (C) 1995, 1999 Silicon Graphics
+ */
+#ifndef _ASM_REG_H
+#define _ASM_REG_H
+
+/*
+ * This defines/structures correspond to the register layout on stack -
+ * if the order here is changed, it needs to be updated in
+ * include/asm-mips/stackframe.h
+ */
+#define EF_REG0			 0
+#define EF_REG1			 1
+#define EF_REG2			 2
+#define EF_REG3			 3
+#define EF_REG4			 4
+#define EF_REG5			 5
+#define EF_REG6			 6
+#define EF_REG7			 7
+#define EF_REG8			 8
+#define EF_REG9			 9
+#define EF_REG10		10
+#define EF_REG11		11
+#define EF_REG12		12
+#define EF_REG13		13
+#define EF_REG14		14
+#define EF_REG15		15
+#define EF_REG16		16
+#define EF_REG17		17
+#define EF_REG18		18
+#define EF_REG19		19
+#define EF_REG20		20
+#define EF_REG21		21
+#define EF_REG22		22
+#define EF_REG23		23
+#define EF_REG24		24
+#define EF_REG25		25
+/*
+ * k0/k1 unsaved
+ */
+#define EF_REG28		28
+#define EF_REG29		29
+#define EF_REG30		30
+#define EF_REG31		31
+
+/*
+ * Saved special registers
+ */
+#define EF_LO			32
+#define EF_HI			33
+
+#define EF_CP0_EPC		34
+#define EF_CP0_BADVADDR		35
+#define EF_CP0_STATUS		36
+#define EF_CP0_CAUSE		37
+
+#define EF_SIZE			304	/* size in bytes */
+
+#endif /* _ASM_REG_H */
+
+#endif /* _MIPS_SIM != _ABIO32 */
+
+#if _MIPS_SIM == _ABIO32
+
+struct user
+{
+  unsigned long	regs[EF_SIZE/4+64];	/* integer and fp regs */
+  size_t	u_tsize;		/* text size (pages) */
+  size_t	u_dsize;		/* data size (pages) */
+  size_t	u_ssize;		/* stack size (pages) */
+  unsigned long	start_code;		/* text starting address */
+  unsigned long	start_data;		/* data starting address */
+  unsigned long	start_stack;		/* stack starting address */
+  long int	signal;			/* signal causing core dump */
+  void*		u_ar0;			/* help gdb find registers */
+  unsigned long	magic;			/* identifies a core file */
+  char		u_comm[32];		/* user command name */
+};
+
+#else
+
+struct user {
+  __extension__ unsigned long	regs[EF_SIZE/8+64]; /* integer and fp regs */
+  __extension__ unsigned long	u_tsize;	/* text size (pages) */
+  __extension__ unsigned long	u_dsize;	/* data size (pages) */
+  __extension__ unsigned long	u_ssize;	/* stack size (pages) */
+  __extension__ unsigned long long start_code;	/* text starting address */
+  __extension__ unsigned long long start_data;	/* data starting address */
+  __extension__ unsigned long long start_stack;	/* stack starting address */
+  __extension__ long long	signal;		/* signal causing core dump */
+  __extension__ unsigned long long u_ar0;	/* help gdb find registers */
+  __extension__ unsigned long long magic;	/* identifies a core file */
+  char		u_comm[32];		/* user command name */
+};
+
+#endif
+
+#endif	/* _SYS_USER_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/mips/syscalls.list
new file mode 100644
index 0000000000..f3621cdd51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/syscalls.list
@@ -0,0 +1,23 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+#
+# Calls for compatibility with existing MIPS OS implementations and
+# compilers.
+#
+cachectl	-	cachectl	i:pii	__cachectl	cachectl
+cacheflush	-	cacheflush	i:pii	_flush_cache	cacheflush
+sysmips		-	sysmips		i:iiii	__sysmips	sysmips
+
+#
+# Socket functions; Linux/MIPS doesn't use the socketcall(2) wrapper;
+# it's provided for compatibility, though.
+#
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
new file mode 100644
index 0000000000..0e45f00242
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
@@ -0,0 +1,190 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sysdeps/generic/sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# ifdef __PIC__
+#  define PSEUDO_CPLOAD .cpload t9;
+#  define PSEUDO_ERRJMP la t9, __syscall_error; jr t9;
+#  define PSEUDO_SAVEGP sw gp, 32(sp); cfi_rel_offset (gp, 32);
+#  define PSEUDO_LOADGP lw gp, 32(sp);
+# else
+#  define PSEUDO_CPLOAD
+#  define PSEUDO_ERRJMP j __syscall_error;
+#  define PSEUDO_SAVEGP
+#  define PSEUDO_LOADGP
+# endif
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+      .align 2;								      \
+      .set nomips16;							      \
+  L(pseudo_start):							      \
+      cfi_startproc;							      \
+  99: PSEUDO_ERRJMP							      \
+  .type __##syscall_name##_nocancel, @function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    .set noreorder;							      \
+    PSEUDO_CPLOAD							      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    .set reorder;							      \
+    bne a3, zero, 99b;					       		      \
+    ret;								      \
+    cfi_endproc;							      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  ENTRY (name)								      \
+    .set noreorder;							      \
+    PSEUDO_CPLOAD							      \
+    .set reorder;							      \
+    SINGLE_THREAD_P(v1);						      \
+    bne zero, v1, L(pseudo_cancel);					      \
+    .set noreorder;							      \
+    li v0, SYS_ify(syscall_name);					      \
+    syscall;								      \
+    .set reorder;							      \
+    bne a3, zero, 99b;					       		      \
+    ret;								      \
+  L(pseudo_cancel):							      \
+    SAVESTK_##args;						              \
+    sw ra, 28(sp);							      \
+    cfi_rel_offset (ra, 28);						      \
+    PSEUDO_SAVEGP							      \
+    PUSHARGS_##args;			/* save syscall args */	      	      \
+    CENABLE;								      \
+    PSEUDO_LOADGP							      \
+    sw v0, 44(sp);			/* save mask */			      \
+    POPARGS_##args;			/* restore syscall args */	      \
+    .set noreorder;							      \
+    li v0, SYS_ify (syscall_name);				      	      \
+    syscall;								      \
+    .set reorder;							      \
+    sw v0, 36(sp);			/* save syscall result */             \
+    sw a3, 40(sp);			/* save syscall error flag */	      \
+    lw a0, 44(sp);			/* pass mask as arg1 */		      \
+    CDISABLE;								      \
+    PSEUDO_LOADGP							      \
+    lw v0, 36(sp);			/* restore syscall result */          \
+    lw a3, 40(sp);			/* restore syscall error flag */      \
+    lw ra, 28(sp);			/* restore return address */	      \
+    .set noreorder;							      \
+    bne a3, zero, 99b;							      \
+     RESTORESTK;						              \
+  L(pseudo_end):							      \
+    .set reorder;
+
+# undef PSEUDO_END
+# define PSEUDO_END(sym) cfi_endproc; .end sym; .size sym,.-sym
+
+# define PUSHARGS_0	/* nothing to do */
+# define PUSHARGS_1	PUSHARGS_0 sw a0, 0(sp); cfi_rel_offset (a0, 0);
+# define PUSHARGS_2	PUSHARGS_1 sw a1, 4(sp); cfi_rel_offset (a1, 4);
+# define PUSHARGS_3	PUSHARGS_2 sw a2, 8(sp); cfi_rel_offset (a2, 8);
+# define PUSHARGS_4	PUSHARGS_3 sw a3, 12(sp); cfi_rel_offset (a3, 12);
+# define PUSHARGS_5	PUSHARGS_4 /* handled by SAVESTK_## */
+# define PUSHARGS_6	PUSHARGS_5
+# define PUSHARGS_7	PUSHARGS_6
+
+# define POPARGS_0	/* nothing to do */
+# define POPARGS_1	POPARGS_0 lw a0, 0(sp);
+# define POPARGS_2	POPARGS_1 lw a1, 4(sp);
+# define POPARGS_3	POPARGS_2 lw a2, 8(sp);
+# define POPARGS_4	POPARGS_3 lw a3, 12(sp);
+# define POPARGS_5	POPARGS_4 /* args already in new stackframe */
+# define POPARGS_6	POPARGS_5
+# define POPARGS_7	POPARGS_6
+
+
+# define STKSPACE	48
+# define SAVESTK_0 	subu sp, STKSPACE; cfi_adjust_cfa_offset(STKSPACE)
+# define SAVESTK_1      SAVESTK_0
+# define SAVESTK_2      SAVESTK_1
+# define SAVESTK_3      SAVESTK_2
+# define SAVESTK_4      SAVESTK_3
+# define SAVESTK_5      lw t0, 16(sp);		\
+			SAVESTK_0;		\
+			sw t0, 16(sp)
+
+# define SAVESTK_6      lw t0, 16(sp);		\
+			lw t1, 20(sp);		\
+			SAVESTK_0;		\
+			sw t0, 16(sp);		\
+			sw t1, 20(sp)
+
+# define SAVESTK_7      lw t0, 16(sp);		\
+			lw t1, 20(sp);		\
+			lw t2, 24(sp);		\
+			SAVESTK_0;		\
+			sw t0, 16(sp);		\
+			sw t1, 20(sp);		\
+			sw t2, 24(sp)
+
+# define RESTORESTK 	addu sp, STKSPACE; cfi_adjust_cfa_offset(-STKSPACE)
+
+
+# ifdef __PIC__
+/* We use jalr rather than jal.  This means that the assembler will not
+   automatically restore $gp (in case libc has multiple GOTs) so we must
+   do it manually - which we have to do anyway since we don't use .cprestore.
+   It also shuts up the assembler warning about not using .cprestore.  */
+#  define PSEUDO_JMP(sym) la t9, sym; jalr t9;
+# else
+#  define PSEUDO_JMP(sym) jal sym;
+# endif
+
+# if IS_IN (libpthread)
+#  define CENABLE	PSEUDO_JMP (__pthread_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__pthread_disable_asynccancel)
+# elif IS_IN (librt)
+#  define CENABLE	PSEUDO_JMP (__librt_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__librt_disable_asynccancel)
+# else
+#  define CENABLE	PSEUDO_JMP (__libc_enable_asynccancel)
+#  define CDISABLE	PSEUDO_JMP (__libc_disable_asynccancel)
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+	__builtin_expect (THREAD_GETMEM (THREAD_SELF,			\
+					 header.multiple_threads)	\
+			  == 0, 1)
+# else
+#  define SINGLE_THREAD_P(reg)						\
+	READ_THREAD_POINTER(reg);					\
+	lw reg, MULTIPLE_THREADS_OFFSET(reg)
+#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/mips/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ucontext_i.sym
new file mode 100644
index 0000000000..f14b886407
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ucontext_i.sym
@@ -0,0 +1,52 @@
+#include <inttypes.h>
+#include <signal.h>
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+#include <kernel_rt_sigframe.h>
+
+-- Constants used by the rt_sigprocmask call.
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8				(_NSIG / 8)
+
+-- Offsets of the fields in the kernel rt_sigframe_t structure.
+#define rt_sigframe(member)	offsetof (kernel_rt_sigframe_t, member)
+
+RT_SIGFRAME_UCONTEXT		rt_sigframe (rs_uc)
+
+RT_SIGFRAME_SIZE		sizeof (kernel_rt_sigframe_t)
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define stack(member)		ucontext (uc_stack.member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+UCONTEXT_FLAGS			ucontext (uc_flags)
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+
+STACK_SP			stack (ss_sp)
+STACK_SIZE			stack (ss_size)
+STACK_FLAGS			stack (ss_flags)
+
+MCONTEXT_GREGS			mcontext (gregs)
+MCONTEXT_FPREGS			mcontext (fpregs)
+MCONTEXT_MDHI			mcontext (mdhi)
+MCONTEXT_HI1			mcontext (hi1)
+MCONTEXT_HI2			mcontext (hi2)
+MCONTEXT_HI3			mcontext (hi3)
+MCONTEXT_MDLO			mcontext (mdlo)
+MCONTEXT_LO1			mcontext (lo1)
+MCONTEXT_LO2			mcontext (lo2)
+MCONTEXT_LO3			mcontext (lo3)
+MCONTEXT_PC			mcontext (pc)
+MCONTEXT_FPC_CSR		mcontext (fpc_csr)
+MCONTEXT_USED_MATH		mcontext (used_math)
+MCONTEXT_DSP			mcontext (dsp)
+
+UCONTEXT_SIZE			sizeof (ucontext_t)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/ustat.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ustat.c
new file mode 100644
index 0000000000..79e0736db0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/ustat.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <errno.h>
+#include <sys/ustat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+int
+ustat (dev_t dev, struct ustat *ubuf)
+{
+  unsigned long k_dev;
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = ((major (dev) & 0xff) << 8) | (minor (dev) & 0xff);
+
+  return INLINE_SYSCALL (ustat, 2, k_dev, ubuf);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mips/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/mips/vfork.S
new file mode 100644
index 0000000000..f9763ca615
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/vfork.S
@@ -0,0 +1,94 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* vfork() is just a special case of clone().  */
+
+#include <sys/asm.h>
+#include <sysdep.h>
+#include <asm/unistd.h>
+#include <sgidefs.h>
+#include <tls.h>
+
+
+/* int vfork() */
+
+	.text
+	.set		nomips16
+LOCALSZ= 1
+FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
+GPOFF= FRAMESZ-(1*SZREG)
+NESTED(__libc_vfork,FRAMESZ,sp)
+#ifdef __PIC__
+	SETUP_GP
+#endif
+	PTR_SUBU sp, FRAMESZ
+	cfi_adjust_cfa_offset (FRAMESZ)
+	SETUP_GP64_REG (a5, __libc_vfork)
+#ifdef __PIC__
+	SAVE_GP (GPOFF)
+#endif
+#ifdef PROF
+# if (_MIPS_SIM != _ABIO32)
+	PTR_S		a5, GPOFF(sp)
+# endif
+	.set		noat
+	move		$1, ra
+# if (_MIPS_SIM == _ABIO32)
+	subu		sp,sp,8
+# endif
+	jal		_mcount
+	.set		at
+# if (_MIPS_SIM != _ABIO32)
+	PTR_L		a5, GPOFF(sp)
+# endif
+#endif
+
+	PTR_ADDU	sp, FRAMESZ
+	cfi_adjust_cfa_offset (-FRAMESZ)
+
+	li		a0, 0x4112	/* CLONE_VM | CLONE_VFORK | SIGCHLD */
+	move		a1, sp
+
+	/* Do the system call */
+	li		v0,__NR_clone
+	syscall
+
+	cfi_remember_state
+	bnez		a3,L(error)
+
+	/* Successful return from the parent or child.  */
+	RESTORE_GP64_REG
+	ret
+
+	/* Something bad happened -- no child created.  */
+L(error):
+	cfi_restore_state
+#ifdef __PIC__
+	PTR_LA		t9, __syscall_error
+	RESTORE_GP64_REG
+	jr		t9
+#else
+	RESTORE_GP64_REG
+	j		__syscall_error
+#endif
+	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/mips/xstatconv.c b/REORG.TODO/sysdeps/unix/sysv/linux/mips/xstatconv.c
new file mode 100644
index 0000000000..b609b3d4f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mips/xstatconv.c
@@ -0,0 +1,201 @@
+/* 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 <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;
+	memset (&buf->st_pad1, 0, sizeof (buf->st_pad1));
+	buf->st_ino = kbuf->st_ino;
+	/* Check for overflow.  */
+	if (buf->st_ino != kbuf->st_ino)
+	  {
+	    __set_errno (EOVERFLOW);
+	    return -1;
+	  }
+	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;
+	memset (&buf->st_pad2, 0, sizeof (buf->st_pad2));
+	buf->st_size = kbuf->st_size;
+	/* Check for overflow.  */
+	if (buf->st_size != kbuf->st_size)
+	  {
+	    __set_errno (EOVERFLOW);
+	    return -1;
+	  }
+	buf->st_pad3 = 0;
+	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->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	/* Check for overflow.  */
+	if (buf->st_blocks != kbuf->st_blocks)
+	  {
+	    __set_errno (EOVERFLOW);
+	    return -1;
+	  }
+	memset (&buf->st_pad5, 0, sizeof (buf->st_pad5));
+      }
+      break;
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
+
+int
+__xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+#if XSTAT_IS_XSTAT64
+  return xstat_conv (vers, kbuf, ubuf);
+#else
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      {
+	struct stat64 *buf = ubuf;
+
+	buf->st_dev = kbuf->st_dev;
+	memset (&buf->st_pad1, 0, sizeof (buf->st_pad1));
+	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;
+	memset (&buf->st_pad2, 0, sizeof (buf->st_pad2));
+	buf->st_pad3 = 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;
+
+	memset (&buf->st_pad4, 0, sizeof (buf->st_pad4));
+      }
+      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;
+#endif
+}
+
+#if _MIPS_SIM == _ABIO32
+int
+__xstat32_conv (int vers, struct stat64 *kbuf, struct stat *buf)
+{
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      /* Convert current kernel version of `struct stat64' to
+	 `struct stat'.  The layout of the fields in the kernel's
+	 stat64 is the same as that in the user stat64; the only
+	 difference is that the latter has more trailing padding.  */
+      buf->st_dev = kbuf->st_dev;
+      memset (&buf->st_pad1, 0, sizeof (buf->st_pad1));
+      buf->st_ino = kbuf->st_ino;
+      /* Check for overflow.  */
+      if (buf->st_ino != kbuf->st_ino)
+	{
+	  __set_errno (EOVERFLOW);
+	  return -1;
+	}
+      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;
+      memset (&buf->st_pad2, 0, sizeof (buf->st_pad2));
+      buf->st_size = kbuf->st_size;
+      /* Check for overflow.  */
+      if (buf->st_size != kbuf->st_size)
+	{
+	  __set_errno (EOVERFLOW);
+	  return -1;
+	}
+      buf->st_pad3 = 0;
+      buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
+      buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
+      buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
+      buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
+      buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
+      buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
+      buf->st_blksize = kbuf->st_blksize;
+      buf->st_blocks = kbuf->st_blocks;
+      /* Check for overflow.  */
+      if (buf->st_blocks != kbuf->st_blocks)
+	{
+	  __set_errno (EOVERFLOW);
+	  return -1;
+	}
+      memset (&buf->st_pad5, 0, sizeof (buf->st_pad5));
+      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;
+}
+#endif /* _MIPS_SIM == _ABIO32 */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mmap.c b/REORG.TODO/sysdeps/unix/sysv/linux/mmap.c
new file mode 100644
index 0000000000..b1f229f19c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mmap.c
@@ -0,0 +1,51 @@
+/* mmap - map files or devices into memory.  Linux version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <sysdep.h>
+#include <stdint.h>
+#include <mmap_internal.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+/* An architecture may override this.  */
+# ifndef MMAP_ADJUST_OFFSET
+#  define MMAP_ADJUST_OFFSET(offset) offset
+# endif
+
+void *
+__mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
+{
+  MMAP_CHECK_PAGE_UNIT ();
+
+  if (offset & MMAP_OFF_LOW_MASK)
+    return (__ptr_t) INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#ifdef __NR_mmap2
+  return (void *) MMAP_CALL (mmap2, addr, len, prot, flags, fd,
+			     offset / (uint32_t) MMAP2_PAGE_UNIT);
+#else
+  return (void *) MMAP_CALL (mmap, addr, len, prot, flags, fd,
+			     MMAP_ADJUST_OFFSET (offset));
+#endif
+}
+weak_alias (__mmap, mmap)
+
+#endif /* __OFF_T_MATCHES_OFF64_T  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mmap64.c b/REORG.TODO/sysdeps/unix/sysv/linux/mmap64.c
new file mode 100644
index 0000000000..d3ea279afe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mmap64.c
@@ -0,0 +1,60 @@
+/* mmap - map files or devices into memory.  Linux version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 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 <errno.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <sysdep.h>
+#include <mmap_internal.h>
+
+/* To avoid silent truncation of offset when using mmap2, do not accept
+   offset larger than 1 << (page_shift + off_t bits).  For archictures with
+   32 bits off_t and page size of 4096 it would be 1^44.  */
+#define MMAP_OFF_HIGH_MASK \
+  ((-(MMAP2_PAGE_UNIT << 1) << (8 * sizeof (off_t) - 1)))
+
+#define MMAP_OFF_MASK (MMAP_OFF_HIGH_MASK | MMAP_OFF_LOW_MASK)
+
+/* An architecture may override this.  */
+#ifndef MMAP_PREPARE
+# define MMAP_PREPARE(addr, len, prot, flags, fd, offset)
+#endif
+
+void *
+__mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset)
+{
+  MMAP_CHECK_PAGE_UNIT ();
+
+  if (offset & MMAP_OFF_MASK)
+    return (void *) INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  MMAP_PREPARE (addr, len, prot, flags, fd, offset);
+#ifdef __NR_mmap2
+  return (void *) MMAP_CALL (mmap2, addr, len, prot, flags, fd,
+			     (off_t) (offset / MMAP2_PAGE_UNIT));
+#else
+  return (void *) MMAP_CALL (mmap, addr, len, prot, flags, fd, offset);
+#endif
+}
+weak_alias (__mmap64, mmap64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (__mmap64, mmap)
+weak_alias (__mmap64, __mmap)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/mmap_internal.h
new file mode 100644
index 0000000000..499e389605
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mmap_internal.h
@@ -0,0 +1,49 @@
+/* Common mmap definition for Linux implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef MMAP_INTERNAL_LINUX_H
+#define MMAP_INTERNAL_LINUX_H 1
+
+/* This is the minimum mmap2 unit size accept by the kernel.  An architecture
+   with multiple minimum page sizes (such as m68k) might define it as -1 and
+   thus it will queried at runtime.  */
+#ifndef MMAP2_PAGE_UNIT
+# define MMAP2_PAGE_UNIT 4096ULL
+#endif
+
+#if MMAP2_PAGE_UNIT == -1
+static int page_unit;
+
+# define MMAP_CHECK_PAGE_UNIT()			\
+  if (page_unit == 0)				\
+    page_unit = __getpagesize ();
+#else
+# define page_unit MMAP2_PAGE_UNIT
+# define MMAP_CHECK_PAGE_UNIT()
+#endif
+
+/* Do not accept offset not multiple of page size.  */
+#define MMAP_OFF_LOW_MASK  (MMAP2_PAGE_UNIT - 1)
+
+/* An architecture may override this.  */
+#ifndef MMAP_CALL
+# define MMAP_CALL(__nr, __addr, __len, __prot, __flags, __fd, __offset) \
+  INLINE_SYSCALL_CALL (__nr, __addr, __len, __prot, __flags, __fd, __offset)
+#endif
+
+#endif /* MMAP_INTERNAL_LINUX_H  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_close.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_close.c
new file mode 100644
index 0000000000..67ec2ce8cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_close.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_open
+
+/* Removes the association between message queue descriptor MQDES and its
+   message queue.  */
+int
+mq_close (mqd_t mqdes)
+{
+  return INLINE_SYSCALL (close, 1, mqdes);
+}
+
+#else
+# include <rt/mq_close.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_getattr.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_getattr.c
new file mode 100644
index 0000000000..0b3a50500f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_getattr.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <stddef.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_getsetattr
+
+/* Query status and attributes of message queue MQDES.  */
+int
+mq_getattr (mqd_t mqdes, struct mq_attr *mqstat)
+{
+  return mq_setattr (mqdes, NULL, mqstat);
+}
+
+#else
+# include <rt/mq_getattr.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_notify.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_notify.c
new file mode 100644
index 0000000000..626430ccc7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_notify.c
@@ -0,0 +1,282 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contribute by Ulrich Drepper <drepper@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 <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <mqueue.h>
+#include <pthread.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysdep.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <not-cancel.h>
+#include <nptl/pthreadP.h>
+
+
+#ifdef __NR_mq_notify
+
+/* Defined in the kernel headers: */
+#define NOTIFY_COOKIE_LEN	32	/* Length of the cookie used.  */
+#define NOTIFY_WOKENUP		1	/* Code for notifcation.  */
+#define NOTIFY_REMOVED		2	/* Code for closed message queue
+					   of de-notifcation.  */
+
+
+/* Data structure for the queued notification requests.  */
+union notify_data
+{
+  struct
+  {
+    void (*fct) (union sigval);	/* The function to run.  */
+    union sigval param;		/* The parameter to pass.  */
+    pthread_attr_t *attr;	/* Attributes to create the thread with.  */
+    /* NB: on 64-bit machines the struct as a size of 24 bytes.  Which means
+       byte 31 can still be used for returning the status.  */
+  };
+  char raw[NOTIFY_COOKIE_LEN];
+};
+
+
+/* Keep track of the initialization.  */
+static pthread_once_t once = PTHREAD_ONCE_INIT;
+
+
+/* The netlink socket.  */
+static int netlink_socket = -1;
+
+
+/* Barrier used to make sure data passed to the new thread is not
+   resused by the parent.  */
+static pthread_barrier_t notify_barrier;
+
+
+/* Modify the signal mask.  We move this into a separate function so
+   that the stack space needed for sigset_t is not deducted from what
+   the thread can use.  */
+static int
+__attribute__ ((noinline))
+change_sigmask (int how, sigset_t *oss)
+{
+  sigset_t ss;
+  sigfillset (&ss);
+  return pthread_sigmask (how, &ss, oss);
+}
+
+
+/* The function used for the notification.  */
+static void *
+notification_function (void *arg)
+{
+  /* Copy the function and parameter so that the parent thread can go
+     on with its life.  */
+  volatile union notify_data *data = (volatile union notify_data *) arg;
+  void (*fct) (union sigval) = data->fct;
+  union sigval param = data->param;
+
+  /* Let the parent go.  */
+  (void) __pthread_barrier_wait (&notify_barrier);
+
+  /* Make the thread detached.  */
+  (void) pthread_detach (pthread_self ());
+
+  /* The parent thread has all signals blocked.  This is probably a
+     bit surprising for this thread.  So we unblock all of them.  */
+  (void) change_sigmask (SIG_UNBLOCK, NULL);
+
+  /* Now run the user code.  */
+  fct (param);
+
+  /* And we are done.  */
+  return NULL;
+}
+
+
+/* Helper thread.  */
+static void *
+helper_thread (void *arg)
+{
+  while (1)
+    {
+      union notify_data data;
+
+      ssize_t n = __recv (netlink_socket, &data, sizeof (data),
+			  MSG_NOSIGNAL | MSG_WAITALL);
+      if (n < NOTIFY_COOKIE_LEN)
+	continue;
+
+      if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_WOKENUP)
+	{
+	  /* Just create the thread as instructed.  There is no way to
+	     report a problem with creating a thread.  */
+	  pthread_t th;
+	  if (__builtin_expect (pthread_create (&th, data.attr,
+						notification_function, &data)
+				== 0, 0))
+	    /* Since we passed a pointer to DATA to the new thread we have
+	       to wait until it is done with it.  */
+	    (void) __pthread_barrier_wait (&notify_barrier);
+	}
+      else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
+	/* The only state we keep is the copy of the thread attributes.  */
+	free (data.attr);
+    }
+  return NULL;
+}
+
+
+static void
+reset_once (void)
+{
+  once = PTHREAD_ONCE_INIT;
+}
+
+
+static void
+init_mq_netlink (void)
+{
+  /* This code might be called a second time after fork().  The file
+     descriptor is inherited from the parent.  */
+  if (netlink_socket == -1)
+    {
+      /* Just a normal netlink socket, not bound.  */
+      netlink_socket = __socket (AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, 0);
+      /* No need to do more if we have no socket.  */
+      if (netlink_socket == -1)
+	return;
+    }
+
+  int err = 1;
+
+  /* Initialize the barrier.  */
+  if (__builtin_expect (__pthread_barrier_init (&notify_barrier, NULL, 2) == 0,
+			0))
+    {
+      /* Create the helper thread.  */
+      pthread_attr_t attr;
+      (void) pthread_attr_init (&attr);
+      (void) pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+      /* We do not need much stack space, the bare minimum will be enough.  */
+      (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
+
+      /* Temporarily block all signals so that the newly created
+	 thread inherits the mask.  */
+      sigset_t oss;
+      int have_no_oss = change_sigmask (SIG_BLOCK, &oss);
+
+      pthread_t th;
+      err = pthread_create (&th, &attr, helper_thread, NULL);
+
+      /* Reset the signal mask.  */
+      if (!have_no_oss)
+	pthread_sigmask (SIG_SETMASK, &oss, NULL);
+
+      (void) pthread_attr_destroy (&attr);
+
+      if (err == 0)
+	{
+	  static int added_atfork;
+
+	  if (added_atfork == 0
+	      && pthread_atfork (NULL, NULL, reset_once) != 0)
+	    {
+	      /* The child thread will call recv() which is a
+		 cancellation point.  */
+	      (void) pthread_cancel (th);
+	      err = 1;
+	    }
+	  else
+	    added_atfork = 1;
+	}
+    }
+
+  if (err != 0)
+    {
+      close_not_cancel_no_status (netlink_socket);
+      netlink_socket = -1;
+    }
+}
+
+
+/* Register notification upon message arrival to an empty message queue
+   MQDES.  */
+int
+mq_notify (mqd_t mqdes, const struct sigevent *notification)
+{
+  /* Make sure the type is correctly defined.  */
+  assert (sizeof (union notify_data) == NOTIFY_COOKIE_LEN);
+
+  /* Special treatment needed for SIGEV_THREAD.  */
+  if (notification == NULL || notification->sigev_notify != SIGEV_THREAD)
+    return INLINE_SYSCALL (mq_notify, 2, mqdes, notification);
+
+  /* The kernel cannot directly start threads.  This will have to be
+     done at userlevel.  Since we cannot start threads from signal
+     handlers we have to create a dedicated thread which waits for
+     notifications for arriving messages and creates threads in
+     response.  */
+
+  /* Initialize only once.  */
+  pthread_once (&once, init_mq_netlink);
+
+  /* If we cannot create the netlink socket we cannot provide
+     SIGEV_THREAD support.  */
+  if (__glibc_unlikely (netlink_socket == -1))
+    {
+      __set_errno (ENOSYS);
+      return -1;
+    }
+
+  /* Create the cookie.  It will hold almost all the state.  */
+  union notify_data data;
+  memset (&data, '\0', sizeof (data));
+  data.fct = notification->sigev_notify_function;
+  data.param = notification->sigev_value;
+
+  if (notification->sigev_notify_attributes != NULL)
+    {
+      /* The thread attribute has to be allocated separately.  */
+      data.attr = (pthread_attr_t *) malloc (sizeof (pthread_attr_t));
+      if (data.attr == NULL)
+	return -1;
+
+      memcpy (data.attr, notification->sigev_notify_attributes,
+	      sizeof (pthread_attr_t));
+    }
+
+  /* Construct the new request.  */
+  struct sigevent se;
+  se.sigev_notify = SIGEV_THREAD;
+  se.sigev_signo = netlink_socket;
+  se.sigev_value.sival_ptr = &data;
+
+  /* Tell the kernel.  */
+  int retval = INLINE_SYSCALL (mq_notify, 2, mqdes, &se);
+
+  /* If it failed, free the allocated memory.  */
+  if (__glibc_unlikely (retval != 0))
+    free (data.attr);
+
+  return retval;
+}
+
+#else
+# include <rt/mq_notify.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_open.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_open.c
new file mode 100644
index 0000000000..760f2db342
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_open.c
@@ -0,0 +1,66 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_open
+
+/* Establish connection between a process and a message queue NAME and
+   return message queue descriptor or (mqd_t) -1 on error.  OFLAG determines
+   the type of access used.  If O_CREAT is on OFLAG, the third argument is
+   taken as a `mode_t', the mode of the created message queue, and the fourth
+   argument is taken as `struct mq_attr *', pointer to message queue
+   attributes.  If the fourth argument is NULL, default attributes are
+   used.  */
+mqd_t
+__mq_open (const char *name, int oflag, ...)
+{
+  if (name[0] != '/')
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  mode_t mode = 0;
+  struct mq_attr *attr = NULL;
+  if (oflag & O_CREAT)
+    {
+      va_list ap;
+
+      va_start (ap, oflag);
+      mode = va_arg (ap, mode_t);
+      attr = va_arg (ap, struct mq_attr *);
+      va_end (ap);
+    }
+
+  return INLINE_SYSCALL (mq_open, 4, name + 1, oflag, mode, attr);
+}
+strong_alias (__mq_open, mq_open);
+
+mqd_t
+__mq_open_2 (const char *name, int oflag)
+{
+  if (oflag & O_CREAT)
+    __fortify_fail ("invalid mq_open call: O_CREAT without mode and attr");
+
+  return __mq_open (name, oflag);
+}
+#else
+# include <rt/mq_open.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_receive.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_receive.c
new file mode 100644
index 0000000000..4c0c34a8ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_receive.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <stddef.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_timedreceive
+
+/* Receive the oldest from highest priority messages in message queue
+   MQDES.  */
+ssize_t
+mq_receive (mqd_t mqdes, char *msg_ptr, size_t msg_len,
+	    unsigned int *msg_prio)
+{
+  return __mq_timedreceive (mqdes, msg_ptr, msg_len, msg_prio, NULL);
+}
+
+#else
+# include <rt/mq_receive.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_send.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_send.c
new file mode 100644
index 0000000000..0f8e407ac3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_send.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <stddef.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_timedsend
+
+/* Add message pointed by MSG_PTR to message queue MQDES.  */
+int
+mq_send (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+	 unsigned int msg_prio)
+{
+  return __mq_timedsend (mqdes, msg_ptr, msg_len, msg_prio, NULL);
+}
+
+#else
+# include <rt/mq_send.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedreceive.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedreceive.c
new file mode 100644
index 0000000000..6d1c145c24
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedreceive.c
@@ -0,0 +1,34 @@
+/* Receive a message from a message queue with a timeout.  Linux version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <mqueue.h>
+#include <sysdep-cancel.h>
+
+/* Receive the oldest from highest priority messages in message queue
+   MQDES, stop waiting if ABS_TIMEOUT expires.  */
+ssize_t
+__mq_timedreceive (mqd_t mqdes, char *__restrict msg_ptr, size_t msg_len,
+		   unsigned int *__restrict msg_prio,
+		   const struct timespec *__restrict abs_timeout)
+{
+  return SYSCALL_CANCEL (mq_timedreceive, mqdes, msg_ptr, msg_len, msg_prio,
+			 abs_timeout);
+}
+hidden_def (__mq_timedreceive)
+weak_alias (__mq_timedreceive, mq_timedreceive)
+hidden_weak (mq_timedreceive)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedsend.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedsend.c
new file mode 100644
index 0000000000..799555440e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_timedsend.c
@@ -0,0 +1,33 @@
+/* Send a message to a message queue with a timeout.  Linux version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <mqueue.h>
+#include <sysdep-cancel.h>
+
+/* Add message pointed by MSG_PTR to message queue MQDES, stop blocking
+   on full message queue if ABS_TIMEOUT expires.  */
+int
+__mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+		unsigned int msg_prio, const struct timespec *abs_timeout)
+{
+  return SYSCALL_CANCEL (mq_timedsend, mqdes, msg_ptr, msg_len, msg_prio,
+			 abs_timeout);
+}
+hidden_def (__mq_timedsend)
+weak_alias (__mq_timedsend, mq_timedsend)
+hidden_weak (mq_timedsend)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/mq_unlink.c b/REORG.TODO/sysdeps/unix/sysv/linux/mq_unlink.c
new file mode 100644
index 0000000000..f635293f8a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/mq_unlink.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2004-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 <mqueue.h>
+#include <sysdep.h>
+
+#ifdef __NR_mq_unlink
+
+/* Remove message queue named NAME.  */
+int
+mq_unlink (const char *name)
+{
+  if (name[0] != '/')
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  INTERNAL_SYSCALL_DECL (err);
+  int ret = INTERNAL_SYSCALL (mq_unlink, err, 1, name + 1);
+
+  /* While unlink can return either EPERM or EACCES, mq_unlink should
+     return just EACCES.  */
+  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (ret, err)))
+    {
+      ret = INTERNAL_SYSCALL_ERRNO (ret, err);
+      if (ret == EPERM)
+	ret = EACCES;
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (ret);
+    }
+
+  return ret;
+}
+
+#else
+# include <rt/mq_unlink.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/msgctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/msgctl.c
new file mode 100644
index 0000000000..e5ae621420
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/msgctl.c
@@ -0,0 +1,71 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <shlib-compat.h>
+#include <errno.h>
+
+#ifndef DEFAULT_VERSION
+# define DEFAULT_VERSION GLIBC_2_2
+#endif
+
+int
+__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (msgctl, msqid, cmd | __IPC_64, buf);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_msgctl, msqid, cmd | __IPC_64, 0,
+			      buf);
+#endif
+}
+versioned_symbol (libc, __new_msgctl, msgctl, DEFAULT_VERSION);
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+struct __old_msqid_ds
+{
+  struct __old_ipc_perm msg_perm;	/* structure describing operation permission */
+  struct msg *__msg_first;		/* pointer to first message on queue */
+  struct msg *__msg_last;		/* pointer to last message on queue */
+  __time_t msg_stime;			/* time of last msgsnd command */
+  __time_t msg_rtime;			/* time of last msgrcv command */
+  __time_t msg_ctime;			/* time of last change */
+  struct wait_queue *__wwait;		/* ??? */
+  struct wait_queue *__rwait;		/* ??? */
+  unsigned short int __msg_cbytes;	/* current number of bytes on queue */
+  unsigned short int msg_qnum;		/* number of messages currently on queue */
+  unsigned short int msg_qbytes;	/* max number of bytes allowed on queue */
+  __ipc_pid_t msg_lspid;		/* pid of last msgsnd() */
+  __ipc_pid_t msg_lrpid;		/* pid of last msgrcv() */
+};
+
+int
+attribute_compat_text_section
+__old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (msgctl, msqid, cmd | __IPC_64, buf);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_msgctl, msqid, cmd, 0, buf);
+#endif
+}
+compat_symbol (libc, __old_msgctl, msgctl, GLIBC_2_0);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/msgget.c b/REORG.TODO/sysdeps/unix/sysv/linux/msgget.c
new file mode 100644
index 0000000000..91e71c208c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/msgget.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Return descriptor for message queue associated with KEY.  The MSGFLG
+   parameter describes how to proceed with clashing of key values.  */
+
+int
+msgget (key_t key, int msgflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (msgget, key, msgflg);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_msgget, key, msgflg, 0, NULL);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/msgrcv.c b/REORG.TODO/sysdeps/unix/sysv/linux/msgrcv.c
new file mode 100644
index 0000000000..630284fa3c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/msgrcv.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+__libc_msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp,
+	       int msgflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return SYSCALL_CANCEL (msgrcv, msqid, msgp, msgsz, msgtyp, msgflg);
+#else
+  return SYSCALL_CANCEL (ipc, IPCOP_msgrcv, msqid, msgsz, msgflg,
+			 MSGRCV_ARGS (msgp, msgtyp));
+#endif
+}
+weak_alias (__libc_msgrcv, msgrcv)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/msgsnd.c b/REORG.TODO/sysdeps/unix/sysv/linux/msgsnd.c
new file mode 100644
index 0000000000..7884977908
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/msgsnd.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep-cancel.h>
+
+int
+__libc_msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return SYSCALL_CANCEL (msgsnd, msqid, msgp, msgsz, msgflg);
+#else
+  return SYSCALL_CANCEL (ipc, IPCOP_msgsnd, msqid, msgsz, msgflg,
+			 msgp);
+#endif
+}
+weak_alias (__libc_msgsnd, msgsnd)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/msync.c b/REORG.TODO/sysdeps/unix/sysv/linux/msync.c
new file mode 100644
index 0000000000..28aba111e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/msync.c
@@ -0,0 +1,26 @@
+/* Linux synchronize a file with a memory map implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/mman.h>
+#include <sysdep-cancel.h>
+
+int
+msync (void *addr, size_t length, int flags)
+{
+  return SYSCALL_CANCEL (msync, addr, length, flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nanosleep.c b/REORG.TODO/sysdeps/unix/sysv/linux/nanosleep.c
new file mode 100644
index 0000000000..b352f84344
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nanosleep.c
@@ -0,0 +1,30 @@
+/* Linux high resolution nanosleep implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+#include <sysdep-cancel.h>
+
+/* Pause execution for a number of nanoseconds.  */
+int
+__nanosleep (const struct timespec *requested_time,
+	     struct timespec *remaining)
+{
+  return SYSCALL_CANCEL (nanosleep, requested_time, remaining);
+}
+libc_hidden_def (__nanosleep)
+weak_alias (__nanosleep, nanosleep)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/ethernet.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/ethernet.h
new file mode 100644
index 0000000000..ef89c7b123
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/ethernet.h
@@ -0,0 +1,84 @@
+/* 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/>.  */
+
+/* Based on the FreeBSD version of this file. Curiously, that file
+   lacks a copyright in the header. */
+
+#ifndef __NET_ETHERNET_H
+#define __NET_ETHERNET_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+
+#include <linux/if_ether.h>     /* IEEE 802.3 Ethernet constants */
+
+__BEGIN_DECLS
+
+/* This is a name for the 48 bit ethernet address available on many
+   systems.  */
+struct ether_addr
+{
+  uint8_t ether_addr_octet[ETH_ALEN];
+} __attribute__ ((__packed__));
+
+/* 10Mb/s ethernet header */
+struct ether_header
+{
+  uint8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
+  uint8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
+  uint16_t ether_type;		        /* packet type ID field	*/
+} __attribute__ ((__packed__));
+
+/* Ethernet protocol ID's */
+#define	ETHERTYPE_PUP		0x0200          /* Xerox PUP */
+#define ETHERTYPE_SPRITE	0x0500		/* Sprite */
+#define	ETHERTYPE_IP		0x0800		/* IP */
+#define	ETHERTYPE_ARP		0x0806		/* Address resolution */
+#define	ETHERTYPE_REVARP	0x8035		/* Reverse ARP */
+#define ETHERTYPE_AT		0x809B		/* AppleTalk protocol */
+#define ETHERTYPE_AARP		0x80F3		/* AppleTalk ARP */
+#define	ETHERTYPE_VLAN		0x8100		/* IEEE 802.1Q VLAN tagging */
+#define ETHERTYPE_IPX		0x8137		/* IPX */
+#define	ETHERTYPE_IPV6		0x86dd		/* IP protocol version 6 */
+#define ETHERTYPE_LOOPBACK	0x9000		/* used to test interfaces */
+
+
+#define	ETHER_ADDR_LEN	ETH_ALEN                 /* size of ethernet addr */
+#define	ETHER_TYPE_LEN	2                        /* bytes in type field */
+#define	ETHER_CRC_LEN	4                        /* bytes in CRC field */
+#define	ETHER_HDR_LEN	ETH_HLEN                 /* total octets in header */
+#define	ETHER_MIN_LEN	(ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */
+#define	ETHER_MAX_LEN	(ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */
+
+/* make sure ethenet length is valid */
+#define	ETHER_IS_VALID_LEN(foo)	\
+	((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
+
+/*
+ * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
+ * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
+ * by an ETHER type (as given above) and then the (variable-length) header.
+ */
+#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */
+#define	ETHERTYPE_NTRAILER	16
+
+#define	ETHERMTU	ETH_DATA_LEN
+#define	ETHERMIN	(ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
+
+__END_DECLS
+
+#endif	/* net/ethernet.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/if_arp.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_arp.h
new file mode 100644
index 0000000000..9b00644c9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_arp.h
@@ -0,0 +1,182 @@
+/* Definitions for Address Resolution Protocol.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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/>.  */
+
+/* Based on the 4.4BSD and Linux version of this file.  */
+
+#ifndef _NET_IF_ARP_H
+#define _NET_IF_ARP_H 1
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <stdint.h>
+
+__BEGIN_DECLS
+
+/* Some internals from deep down in the kernel.  */
+#define MAX_ADDR_LEN	7
+
+
+/* This structure defines an ethernet arp header.  */
+
+/* ARP protocol opcodes. */
+#define	ARPOP_REQUEST	1		/* ARP request.  */
+#define	ARPOP_REPLY	2		/* ARP reply.  */
+#define	ARPOP_RREQUEST	3		/* RARP request.  */
+#define	ARPOP_RREPLY	4		/* RARP reply.  */
+#define	ARPOP_InREQUEST	8		/* InARP request.  */
+#define	ARPOP_InREPLY	9		/* InARP reply.  */
+#define	ARPOP_NAK	10		/* (ATM)ARP NAK.  */
+
+/* See RFC 826 for protocol description.  ARP packets are variable
+   in size; the arphdr structure defines the fixed-length portion.
+   Protocol type values are the same as those for 10 Mb/s Ethernet.
+   It is followed by the variable-sized fields ar_sha, arp_spa,
+   arp_tha and arp_tpa in that order, according to the lengths
+   specified.  Field names used correspond to RFC 826.  */
+
+struct arphdr
+  {
+    unsigned short int ar_hrd;		/* Format of hardware address.  */
+    unsigned short int ar_pro;		/* Format of protocol address.  */
+    unsigned char ar_hln;		/* Length of hardware address.  */
+    unsigned char ar_pln;		/* Length of protocol address.  */
+    unsigned short int ar_op;		/* ARP opcode (command).  */
+#if 0
+    /* Ethernet looks like this : This bit is variable sized
+       however...  */
+    unsigned char __ar_sha[ETH_ALEN];	/* Sender hardware address.  */
+    unsigned char __ar_sip[4];		/* Sender IP address.  */
+    unsigned char __ar_tha[ETH_ALEN];	/* Target hardware address.  */
+    unsigned char __ar_tip[4];		/* Target IP address.  */
+#endif
+  };
+
+
+/* ARP protocol HARDWARE identifiers. */
+#define ARPHRD_NETROM	0		/* From KA9Q: NET/ROM pseudo. */
+#define ARPHRD_ETHER 	1		/* Ethernet 10/100Mbps.  */
+#define	ARPHRD_EETHER	2		/* Experimental Ethernet.  */
+#define	ARPHRD_AX25	3		/* AX.25 Level 2.  */
+#define	ARPHRD_PRONET	4		/* PROnet token ring.  */
+#define	ARPHRD_CHAOS	5		/* Chaosnet.  */
+#define	ARPHRD_IEEE802	6		/* IEEE 802.2 Ethernet/TR/TB.  */
+#define	ARPHRD_ARCNET	7		/* ARCnet.  */
+#define	ARPHRD_APPLETLK	8		/* APPLEtalk.  */
+#define	ARPHRD_DLCI	15		/* Frame Relay DLCI.  */
+#define	ARPHRD_ATM	19		/* ATM.  */
+#define	ARPHRD_METRICOM	23		/* Metricom STRIP (new IANA id).  */
+#define ARPHRD_IEEE1394	24		/* IEEE 1394 IPv4 - RFC 2734.  */
+#define ARPHRD_EUI64		27		/* EUI-64.  */
+#define ARPHRD_INFINIBAND	32		/* InfiniBand.  */
+
+/* Dummy types for non ARP hardware */
+#define ARPHRD_SLIP	256
+#define ARPHRD_CSLIP	257
+#define ARPHRD_SLIP6	258
+#define ARPHRD_CSLIP6	259
+#define ARPHRD_RSRVD	260		/* Notional KISS type.  */
+#define ARPHRD_ADAPT	264
+#define ARPHRD_ROSE	270
+#define ARPHRD_X25	271		/* CCITT X.25.  */
+#define ARPHRD_HWX25	272		/* Boards with X.25 in firmware.  */
+#define ARPHRD_PPP	512
+#define ARPHRD_CISCO	513		/* Cisco HDLC.  */
+#define ARPHRD_HDLC	ARPHRD_CISCO
+#define ARPHRD_LAPB	516		/* LAPB.  */
+#define ARPHRD_DDCMP	517		/* Digital's DDCMP.  */
+#define	ARPHRD_RAWHDLC	518		/* Raw HDLC.  */
+
+#define ARPHRD_TUNNEL	768		/* IPIP tunnel.  */
+#define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel.  */
+#define ARPHRD_FRAD	770             /* Frame Relay Access Device.  */
+#define ARPHRD_SKIP	771		/* SKIP vif.  */
+#define ARPHRD_LOOPBACK	772		/* Loopback device.  */
+#define ARPHRD_LOCALTLK 773		/* Localtalk device.  */
+#define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface. */
+#define ARPHRD_BIF	775             /* AP1000 BIF.  */
+#define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4.  */
+#define ARPHRD_IPDDP	777		/* IP-in-DDP tunnel.  */
+#define ARPHRD_IPGRE	778		/* GRE over IP.  */
+#define ARPHRD_PIMREG	779		/* PIMSM register interface.  */
+#define ARPHRD_HIPPI	780		/* High Performance Parallel I'face. */
+#define ARPHRD_ASH	781		/* (Nexus Electronics) Ash.  */
+#define ARPHRD_ECONET	782		/* Acorn Econet.  */
+#define ARPHRD_IRDA	783		/* Linux-IrDA.  */
+#define ARPHRD_FCPP	784		/* Point to point fibrechanel.  */
+#define ARPHRD_FCAL	785		/* Fibrechanel arbitrated loop.  */
+#define ARPHRD_FCPL	786		/* Fibrechanel public loop.  */
+#define ARPHRD_FCFABRIC 787		/* Fibrechanel fabric.  */
+#define ARPHRD_IEEE802_TR 800		/* Magic type ident for TR.  */
+#define ARPHRD_IEEE80211 801		/* IEEE 802.11.  */
+#define ARPHRD_IEEE80211_PRISM 802	/* IEEE 802.11 + Prism2 header.  */
+#define ARPHRD_IEEE80211_RADIOTAP 803	/* IEEE 802.11 + radiotap header.  */
+#define ARPHRD_IEEE802154 804		/* IEEE 802.15.4 header.  */
+#define ARPHRD_IEEE802154_PHY 805	/* IEEE 802.15.4 PHY header.  */
+
+#define ARPHRD_VOID	  0xFFFF	/* Void type, nothing is known.  */
+#define ARPHRD_NONE	  0xFFFE	/* Zero header length.  */
+
+
+/* ARP ioctl request.  */
+struct arpreq
+  {
+    struct sockaddr arp_pa;		/* Protocol address.  */
+    struct sockaddr arp_ha;		/* Hardware address.  */
+    int arp_flags;			/* Flags.  */
+    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
+    char arp_dev[16];
+  };
+
+struct arpreq_old
+  {
+    struct sockaddr arp_pa;		/* Protocol address.  */
+    struct sockaddr arp_ha;		/* Hardware address.  */
+    int arp_flags;			/* Flags.  */
+    struct sockaddr arp_netmask;	/* Netmask (only for proxy arps).  */
+  };
+
+/* ARP Flag values.  */
+#define ATF_COM		0x02		/* Completed entry (ha valid).  */
+#define	ATF_PERM	0x04		/* Permanent entry.  */
+#define	ATF_PUBL	0x08		/* Publish entry.  */
+#define	ATF_USETRAILERS	0x10		/* Has requested trailers.  */
+#define ATF_NETMASK     0x20            /* Want to use a netmask (only
+					   for proxy entries).  */
+#define ATF_DONTPUB	0x40		/* Don't answer this addresses.  */
+#define ATF_MAGIC	0x80		/* Automatically added entry.  */
+
+
+/* Support for the user space arp daemon, arpd.  */
+#define ARPD_UPDATE	0x01
+#define ARPD_LOOKUP	0x02
+#define ARPD_FLUSH	0x03
+
+struct arpd_request
+  {
+    unsigned short int req;		/* Request type.  */
+    uint32_t ip;			/* IP address of entry.  */
+    unsigned long int dev;		/* Device entry is tied to.  */
+    unsigned long int stamp;
+    unsigned long int updated;
+    unsigned char ha[MAX_ADDR_LEN];	/* Hardware address.  */
+  };
+
+__END_DECLS
+
+#endif	/* net/if_arp.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/if_packet.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_packet.h
new file mode 100644
index 0000000000..3895b4c957
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_packet.h
@@ -0,0 +1,36 @@
+/* Definitions for use with Linux SOCK_PACKET sockets.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __IF_PACKET_H
+#define __IF_PACKET_H
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+/* This is the SOCK_PACKET address structure as used in Linux 2.0.
+   From Linux 2.1 the AF_PACKET interface is preferred and you should
+   consider using it in place of this one.  */
+
+struct sockaddr_pkt
+  {
+    __SOCKADDR_COMMON (spkt_);
+    unsigned char spkt_device[14];
+    unsigned short spkt_protocol;
+  };
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/if_ppp.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_ppp.h
new file mode 100644
index 0000000000..31a20766f0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_ppp.h
@@ -0,0 +1,171 @@
+/*	From: if_ppp.h,v 1.3 1995/06/12 11:36:50 paulus Exp */
+
+/*
+ * if_ppp.h - Point-to-Point Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/*
+ *  ==FILEVERSION 960926==
+ *
+ *  NOTE TO MAINTAINERS:
+ *     If you modify this file at all, please set the above date.
+ *     if_ppp.h is shipped with a PPP distribution as well as with the kernel;
+ *     if everyone increases the FILEVERSION number above, then scripts
+ *     can do the right thing when deciding whether to install a new if_ppp.h
+ *     file.  Don't change the format of that line otherwise, so the
+ *     installation script can recognize it.
+ */
+
+
+#ifndef __NET_IF_PPP_H
+#define __NET_IF_PPP_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
+#include <net/ppp_defs.h>
+
+__BEGIN_DECLS
+
+/*
+ * Packet sizes
+ */
+
+#define	PPP_MTU		1500	/* Default MTU (size of Info field) */
+#define PPP_MAXMRU	65000	/* Largest MRU we allow */
+#define PPP_VERSION	"2.2.0"
+#define PPP_MAGIC	0x5002	/* Magic value for the ppp structure */
+#define PROTO_IPX	0x002b	/* protocol numbers */
+#define PROTO_DNA_RT    0x0027  /* DNA Routing */
+
+
+/*
+ * Bit definitions for flags.
+ */
+
+#define SC_COMP_PROT	0x00000001	/* protocol compression (output) */
+#define SC_COMP_AC	0x00000002	/* header compression (output) */
+#define	SC_COMP_TCP	0x00000004	/* TCP (VJ) compression (output) */
+#define SC_NO_TCP_CCID	0x00000008	/* disable VJ connection-id comp. */
+#define SC_REJ_COMP_AC	0x00000010	/* reject adrs/ctrl comp. on input */
+#define SC_REJ_COMP_TCP	0x00000020	/* reject TCP (VJ) comp. on input */
+#define SC_CCP_OPEN	0x00000040	/* Look at CCP packets */
+#define SC_CCP_UP	0x00000080	/* May send/recv compressed packets */
+#define SC_ENABLE_IP	0x00000100	/* IP packets may be exchanged */
+#define SC_COMP_RUN	0x00001000	/* compressor has been inited */
+#define SC_DECOMP_RUN	0x00002000	/* decompressor has been inited */
+#define SC_DEBUG	0x00010000	/* enable debug messages */
+#define SC_LOG_INPKT	0x00020000	/* log contents of good pkts recvd */
+#define SC_LOG_OUTPKT	0x00040000	/* log contents of pkts sent */
+#define SC_LOG_RAWIN	0x00080000	/* log all chars received */
+#define SC_LOG_FLUSH	0x00100000	/* log all chars flushed */
+#define	SC_MASK		0x0fE0ffff	/* bits that user can change */
+
+/* state bits */
+#define	SC_ESCAPED	0x80000000	/* saw a PPP_ESCAPE */
+#define	SC_FLUSH	0x40000000	/* flush input until next PPP_FLAG */
+#define SC_VJ_RESET	0x20000000	/* Need to reset the VJ decompressor */
+#define SC_XMIT_BUSY	0x10000000	/* ppp_write_wakeup is active */
+#define SC_RCV_ODDP	0x08000000	/* have rcvd char with odd parity */
+#define SC_RCV_EVNP	0x04000000	/* have rcvd char with even parity */
+#define SC_RCV_B7_1	0x02000000	/* have rcvd char with bit 7 = 1 */
+#define SC_RCV_B7_0	0x01000000	/* have rcvd char with bit 7 = 0 */
+#define SC_DC_FERROR	0x00800000	/* fatal decomp error detected */
+#define SC_DC_ERROR	0x00400000	/* non-fatal decomp error detected */
+
+/*
+ * Ioctl definitions.
+ */
+
+struct npioctl {
+    int		protocol;	/* PPP protocol, e.g. PPP_IP */
+    enum NPmode	mode;
+};
+
+/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
+struct ppp_option_data {
+	uint8_t  *ptr;
+	uint32_t length;
+	int	 transmit;
+};
+
+/* 'struct ifreq' is only available from net/if.h under __USE_MISC.  */
+#ifdef __USE_MISC
+struct ifpppstatsreq {
+  struct ifreq	   b;
+  struct ppp_stats stats;			/* statistic information */
+};
+
+struct ifpppcstatsreq {
+  struct ifreq		b;
+  struct ppp_comp_stats stats;
+};
+
+#define ifr__name       b.ifr_ifrn.ifrn_name
+#define stats_ptr       b.ifr_ifru.ifru_data
+#endif
+
+/*
+ * Ioctl definitions.
+ */
+
+#define	PPPIOCGFLAGS	_IOR('t', 90, int)	/* get configuration flags */
+#define	PPPIOCSFLAGS	_IOW('t', 89, int)	/* set configuration flags */
+#define	PPPIOCGASYNCMAP	_IOR('t', 88, int)	/* get async map */
+#define	PPPIOCSASYNCMAP	_IOW('t', 87, int)	/* set async map */
+#define	PPPIOCGUNIT	_IOR('t', 86, int)	/* get ppp unit number */
+#define	PPPIOCGRASYNCMAP _IOR('t', 85, int)	/* get receive async map */
+#define	PPPIOCSRASYNCMAP _IOW('t', 84, int)	/* set receive async map */
+#define	PPPIOCGMRU	_IOR('t', 83, int)	/* get max receive unit */
+#define	PPPIOCSMRU	_IOW('t', 82, int)	/* set max receive unit */
+#define	PPPIOCSMAXCID	_IOW('t', 81, int)	/* set VJ max slot ID */
+#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
+#define PPPIOCXFERUNIT	_IO('t', 78)		/* transfer PPP unit */
+#define PPPIOCSCOMPRESS	_IOW('t', 77, struct ppp_option_data)
+#define PPPIOCGNPMODE	_IOWR('t', 76, struct npioctl) /* get NP mode */
+#define PPPIOCSNPMODE	_IOW('t', 75, struct npioctl)  /* set NP mode */
+#define PPPIOCGDEBUG	_IOR('t', 65, int)	/* Read debug level */
+#define PPPIOCSDEBUG	_IOW('t', 64, int)	/* Set debug level */
+#define PPPIOCGIDLE	_IOR('t', 63, struct ppp_idle) /* get idle time */
+
+#define SIOCGPPPSTATS   (SIOCDEVPRIVATE + 0)
+#define SIOCGPPPVER     (SIOCDEVPRIVATE + 1)  /* NEVER change this!! */
+#define SIOCGPPPCSTATS  (SIOCDEVPRIVATE + 2)
+
+#if !defined(ifr_mtu)
+#define ifr_mtu	ifr_ifru.ifru_metric
+#endif
+
+__END_DECLS
+
+#endif /* net/if_ppp.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/if_shaper.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_shaper.h
new file mode 100644
index 0000000000..cc01ce3955
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_shaper.h
@@ -0,0 +1,58 @@
+/* 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 _NET_IF_SHAPER_H
+#define _NET_IF_SHAPER_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
+
+__BEGIN_DECLS
+
+#define SHAPER_QLEN	10
+/*
+ *	This is a bit speed dependant (read it shouldnt be a constant!)
+ *
+ *	5 is about right for 28.8 upwards. Below that double for every
+ *	halving of speed or so. - ie about 20 for 9600 baud.
+ */
+#define SHAPER_LATENCY	(5 * HZ)
+#define SHAPER_MAXSLIP	2
+#define SHAPER_BURST	(HZ / 50)	/* Good for >128K then */
+
+#define SHAPER_SET_DEV		0x0001
+#define SHAPER_SET_SPEED	0x0002
+#define SHAPER_GET_DEV		0x0003
+#define SHAPER_GET_SPEED	0x0004
+
+struct shaperconf
+{
+  uint16_t ss_cmd;
+  union
+  {
+    char ssu_name[14];
+    uint32_t ssu_speed;
+  } ss_u;
+#define ss_speed ss_u.ssu_speed
+#define ss_name ss_u.ssu_name
+};
+
+__END_DECLS
+
+#endif /* net/if_shaper.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/if_slip.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_slip.h
new file mode 100644
index 0000000000..0a293dcc2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/if_slip.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NET_IF_SLIP_H
+#define _NET_IF_SLIP_H 1
+
+/* We can use the kernel header.  */
+#include <linux/if_slip.h>
+
+#endif	/* net/if_slip.h.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp-comp.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp-comp.h
new file mode 100644
index 0000000000..4a992d5422
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp-comp.h
@@ -0,0 +1 @@
+#include <linux/ppp-comp.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp_defs.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp_defs.h
new file mode 100644
index 0000000000..5e492e9dbf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/ppp_defs.h
@@ -0,0 +1,8 @@
+#ifndef _NET_PPP_DEFS_H
+#define _NET_PPP_DEFS_H 1
+
+#include <bits/types/time_t.h>
+#include <asm/types.h>
+#include <linux/ppp_defs.h>
+
+#endif /* net/ppp_defs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/net/route.h b/REORG.TODO/sysdeps/unix/sysv/linux/net/route.h
new file mode 100644
index 0000000000..f9e1739937
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/net/route.h
@@ -0,0 +1,144 @@
+/* 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/>.  */
+
+/* Based on the 4.4BSD and Linux version of this file.  */
+
+#ifndef _NET_ROUTE_H
+#define _NET_ROUTE_H	1
+
+#include <features.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <bits/wordsize.h>
+
+
+/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
+struct rtentry
+  {
+    unsigned long int rt_pad1;
+    struct sockaddr rt_dst;		/* Target address.  */
+    struct sockaddr rt_gateway;		/* Gateway addr (RTF_GATEWAY).  */
+    struct sockaddr rt_genmask;		/* Target network mask (IP).  */
+    unsigned short int rt_flags;
+    short int rt_pad2;
+    unsigned long int rt_pad3;
+    unsigned char rt_tos;
+    unsigned char rt_class;
+#if __WORDSIZE == 64
+    short int rt_pad4[3];
+#else
+    short int rt_pad4;
+#endif
+    short int rt_metric;		/* +1 for binary compatibility!  */
+    char *rt_dev;			/* Forcing the device at add.  */
+    unsigned long int rt_mtu;		/* Per route MTU/Window.  */
+    unsigned long int rt_window;	/* Window clamping.  */
+    unsigned short int rt_irtt;		/* Initial RTT.  */
+  };
+/* Compatibility hack.  */
+#define rt_mss	rt_mtu
+
+
+struct in6_rtmsg
+  {
+    struct in6_addr rtmsg_dst;
+    struct in6_addr rtmsg_src;
+    struct in6_addr rtmsg_gateway;
+    uint32_t rtmsg_type;
+    uint16_t rtmsg_dst_len;
+    uint16_t rtmsg_src_len;
+    uint32_t rtmsg_metric;
+    unsigned long int rtmsg_info;
+    uint32_t rtmsg_flags;
+    int rtmsg_ifindex;
+  };
+
+
+#define	RTF_UP		0x0001		/* Route usable.  */
+#define	RTF_GATEWAY	0x0002		/* Destination is a gateway.  */
+
+#define	RTF_HOST	0x0004		/* Host entry (net otherwise).  */
+#define RTF_REINSTATE	0x0008		/* Reinstate route after timeout.  */
+#define	RTF_DYNAMIC	0x0010		/* Created dyn. (by redirect).  */
+#define	RTF_MODIFIED	0x0020		/* Modified dyn. (by redirect).  */
+#define RTF_MTU		0x0040		/* Specific MTU for this route.  */
+#define RTF_MSS		RTF_MTU		/* Compatibility.  */
+#define RTF_WINDOW	0x0080		/* Per route window clamping.  */
+#define RTF_IRTT	0x0100		/* Initial round trip time.  */
+#define RTF_REJECT	0x0200		/* Reject route.  */
+#define	RTF_STATIC	0x0400		/* Manually injected route.  */
+#define	RTF_XRESOLVE	0x0800		/* External resolver.  */
+#define RTF_NOFORWARD   0x1000		/* Forwarding inhibited.  */
+#define RTF_THROW	0x2000		/* Go to next class.  */
+#define RTF_NOPMTUDISC  0x4000		/* Do not send packets with DF.  */
+
+/* for IPv6 */
+#define RTF_DEFAULT	0x00010000	/* default - learned via ND	*/
+#define RTF_ALLONLINK	0x00020000	/* fallback, no routers on link	*/
+#define RTF_ADDRCONF	0x00040000	/* addrconf route - RA		*/
+
+#define RTF_LINKRT	0x00100000	/* link specific - device match	*/
+#define RTF_NONEXTHOP	0x00200000	/* route with no nexthop	*/
+
+#define RTF_CACHE	0x01000000	/* cache entry			*/
+#define RTF_FLOW	0x02000000	/* flow significant route	*/
+#define RTF_POLICY	0x04000000	/* policy route			*/
+
+#define RTCF_VALVE	0x00200000
+#define RTCF_MASQ	0x00400000
+#define RTCF_NAT	0x00800000
+#define RTCF_DOREDIRECT 0x01000000
+#define RTCF_LOG	0x02000000
+#define RTCF_DIRECTSRC	0x04000000
+
+#define RTF_LOCAL	0x80000000
+#define RTF_INTERFACE	0x40000000
+#define RTF_MULTICAST	0x20000000
+#define RTF_BROADCAST	0x10000000
+#define RTF_NAT		0x08000000
+
+#define RTF_ADDRCLASSMASK	0xF8000000
+#define RT_ADDRCLASS(flags)	((uint32_t) flags >> 23)
+
+#define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
+
+#define RT_LOCALADDR(flags)	((flags & RTF_ADDRCLASSMASK) \
+				 == (RTF_LOCAL|RTF_INTERFACE))
+
+#define RT_CLASS_UNSPEC		0
+#define RT_CLASS_DEFAULT	253
+
+#define RT_CLASS_MAIN		254
+#define RT_CLASS_LOCAL		255
+#define RT_CLASS_MAX		255
+
+
+#define RTMSG_ACK		NLMSG_ACK
+#define RTMSG_OVERRUN		NLMSG_OVERRUN
+
+#define RTMSG_NEWDEVICE		0x11
+#define RTMSG_DELDEVICE		0x12
+#define RTMSG_NEWROUTE		0x21
+#define RTMSG_DELROUTE		0x22
+#define RTMSG_NEWRULE		0x31
+#define RTMSG_DELRULE		0x32
+#define RTMSG_CONTROL		0x40
+
+#define RTMSG_AR_FAILED		0x51	/* Address Resolution failed.  */
+
+#endif /* net/route.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netash/ash.h b/REORG.TODO/sysdeps/unix/sysv/linux/netash/ash.h
new file mode 100644
index 0000000000..8068deb0d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netash/ash.h
@@ -0,0 +1,39 @@
+/* Definitions for use with Linux AF_ASH sockets.
+   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 _NETASH_ASH_H
+#define _NETASH_ASH_H	1
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+struct sockaddr_ash
+  {
+    __SOCKADDR_COMMON (sash_);		/* Common data: address family etc.  */
+    int sash_ifindex;			/* Interface to use.  */
+    unsigned char sash_channel;		/* Realtime or control.  */
+    unsigned int sash_plen;
+    unsigned char sash_prefix[16];
+  };
+
+/* Values for `channel' member.  */
+#define ASH_CHANNEL_ANY		0
+#define ASH_CHANNEL_CONTROL	1
+#define ASH_CHANNEL_REALTIME	2
+
+#endif	/* netash/ash.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netatalk/at.h b/REORG.TODO/sysdeps/unix/sysv/linux/netatalk/at.h
new file mode 100644
index 0000000000..9b92147fff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netatalk/at.h
@@ -0,0 +1,28 @@
+/* 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/>.  */
+
+#ifndef _NETATALK_AT_H
+#define _NETATALK_AT_H 1
+
+#include <asm/types.h>
+#include <bits/sockaddr.h>
+#include <linux/atalk.h>
+#include <sys/socket.h>
+
+#define SOL_ATALK       258     /* sockopt level for atalk */
+
+#endif	/* netatalk/at.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netax25/ax25.h b/REORG.TODO/sysdeps/unix/sysv/linux/netax25/ax25.h
new file mode 100644
index 0000000000..fce032477f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netax25/ax25.h
@@ -0,0 +1,170 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NETAX25_AX25_H
+#define _NETAX25_AX25_H	1
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+/* Setsockoptions(2) level.  Thanks to BSD these must match IPPROTO_xxx.  */
+#define SOL_AX25	257
+
+/* AX.25 flags: */
+#define AX25_WINDOW	1
+#define AX25_T1		2
+#define AX25_T2		5
+#define AX25_T3		4
+#define AX25_N2		3
+#define AX25_BACKOFF	6
+#define AX25_EXTSEQ	7
+#define AX25_PIDINCL	8
+#define AX25_IDLE	9
+#define	AX25_PACLEN	10
+#define AX25_IPMAXQUEUE 11
+#define AX25_IAMDIGI	12
+#define AX25_KILL	99
+
+/* AX.25 socket ioctls: */
+#define SIOCAX25GETUID		(SIOCPROTOPRIVATE)
+#define SIOCAX25ADDUID		(SIOCPROTOPRIVATE+1)
+#define SIOCAX25DELUID		(SIOCPROTOPRIVATE+2)
+#define SIOCAX25NOUID		(SIOCPROTOPRIVATE+3)
+#define SIOCAX25BPQADDR		(SIOCPROTOPRIVATE+4)
+#define SIOCAX25GETPARMS	(SIOCPROTOPRIVATE+5)
+#define SIOCAX25SETPARMS	(SIOCPROTOPRIVATE+6)
+#define SIOCAX25OPTRT		(SIOCPROTOPRIVATE+7)
+#define SIOCAX25CTLCON		(SIOCPROTOPRIVATE+8)
+#define SIOCAX25GETINFO		(SIOCPROTOPRIVATE+9)
+#define SIOCAX25ADDFWD		(SIOCPROTOPRIVATE+10)
+#define SIOCAX25DELFWD		(SIOCPROTOPRIVATE+11)
+
+/* unknown: */
+#define AX25_NOUID_DEFAULT	0
+#define AX25_NOUID_BLOCK	1
+#define AX25_SET_RT_IPMODE	2
+
+/* Digipeating flags: */
+#define AX25_DIGI_INBAND	0x01	/* Allow digipeating within port */
+#define AX25_DIGI_XBAND		0x02	/* Allow digipeating across ports */
+
+/* Maximim number of digipeaters: */
+#define AX25_MAX_DIGIS 8
+
+
+typedef struct
+  {
+    char ax25_call[7];		/* 6 call + SSID (shifted ascii) */
+  }
+ax25_address;
+
+struct sockaddr_ax25
+  {
+    sa_family_t sax25_family;
+    ax25_address sax25_call;
+    int sax25_ndigis;
+  };
+
+/*
+ * The sockaddr struct with the digipeater adresses:
+ */
+struct full_sockaddr_ax25
+  {
+    struct sockaddr_ax25 fsa_ax25;
+    ax25_address fsa_digipeater[AX25_MAX_DIGIS];
+  };
+#define sax25_uid	sax25_ndigis
+
+struct ax25_routes_struct
+  {
+    ax25_address port_addr;
+    ax25_address dest_addr;
+    unsigned char digi_count;
+    ax25_address digi_addr[AX25_MAX_DIGIS];
+  };
+
+/* The AX.25 ioctl structure: */
+struct ax25_ctl_struct
+  {
+    ax25_address port_addr;
+    ax25_address source_addr;
+    ax25_address dest_addr;
+    unsigned int cmd;
+    unsigned long arg;
+    unsigned char digi_count;
+    ax25_address digi_addr[AX25_MAX_DIGIS];
+  };
+
+struct ax25_info_struct
+  {
+    unsigned int  n2, n2count;
+    unsigned int t1, t1timer;
+    unsigned int t2, t2timer;
+    unsigned int t3, t3timer;
+    unsigned int idle, idletimer;
+    unsigned int state;
+    unsigned int rcv_q, snd_q;
+  };
+
+struct ax25_fwd_struct
+  {
+    ax25_address port_from;
+    ax25_address port_to;
+  };
+
+/* AX.25 route structure: */
+struct ax25_route_opt_struct
+  {
+    ax25_address port_addr;
+    ax25_address dest_addr;
+    int cmd;
+    int arg;
+  };
+
+/* AX.25 BPQ stuff: */
+struct ax25_bpqaddr_struct
+  {
+    char dev[16];
+    ax25_address addr;
+  };
+
+/* Definitions for the AX.25 `values' fields: */
+#define	AX25_VALUES_IPDEFMODE	0	/* 'D'=DG 'V'=VC */
+#define	AX25_VALUES_AXDEFMODE	1	/* 8=Normal 128=Extended Seq Nos */
+#define	AX25_VALUES_NETROM	2	/* Allow NET/ROM  - 0=No 1=Yes */
+#define	AX25_VALUES_TEXT	3	/* Allow PID=Text - 0=No 1=Yes */
+#define	AX25_VALUES_BACKOFF	4	/* 'E'=Exponential 'L'=Linear */
+#define	AX25_VALUES_CONMODE	5	/* Allow connected modes - 0=No 1=Yes */
+#define	AX25_VALUES_WINDOW	6	/* Default window size for standard AX.25 */
+#define	AX25_VALUES_EWINDOW	7	/* Default window size for extended AX.25 */
+#define	AX25_VALUES_T1		8	/* Default T1 timeout value */
+#define	AX25_VALUES_T2		9	/* Default T2 timeout value */
+#define	AX25_VALUES_T3		10	/* Default T3 timeout value */
+#define	AX25_VALUES_N2		11	/* Default N2 value */
+#define	AX25_VALUES_DIGI	12	/* Digipeat mode */
+#define AX25_VALUES_IDLE	13	/* mode vc idle timer */
+#define AX25_VALUES_PACLEN	14	/* AX.25 MTU */
+#define AX25_VALUES_IPMAXQUEUE  15	/* Maximum number of buffers enqueued */
+#define	AX25_MAX_VALUES		20
+
+struct ax25_parms_struct
+  {
+    ax25_address port_addr;
+    unsigned short values[AX25_MAX_VALUES];
+  };
+
+#endif /* netax25/ax25.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/neteconet/ec.h b/REORG.TODO/sysdeps/unix/sysv/linux/neteconet/ec.h
new file mode 100644
index 0000000000..d1bc5638d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/neteconet/ec.h
@@ -0,0 +1,51 @@
+/* Definitions for use with Linux AF_ECONET sockets.
+   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 _NETECONET_EC_H
+#define _NETECONET_EC_H	1
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+struct ec_addr
+  {
+    unsigned char station;		/* Station number.  */
+    unsigned char net;			/* Network number.  */
+  };
+
+struct sockaddr_ec
+  {
+    __SOCKADDR_COMMON (sec_);
+    unsigned char port;			/* Port number.  */
+    unsigned char cb;			/* Control/flag byte.  */
+    unsigned char type;			/* Type of message.  */
+    struct ec_addr addr;
+    unsigned long cookie;
+  };
+
+#define ECTYPE_PACKET_RECEIVED		0	/* Packet received */
+#define ECTYPE_TRANSMIT_STATUS		0x10	/* Transmit completed */
+
+#define ECTYPE_TRANSMIT_OK		1
+#define ECTYPE_TRANSMIT_NOT_LISTENING	2
+#define ECTYPE_TRANSMIT_NET_ERROR	3
+#define ECTYPE_TRANSMIT_NO_CLOCK	4
+#define ECTYPE_TRANSMIT_LINE_JAMMED	5
+#define ECTYPE_TRANSMIT_NOT_PRESENT	6
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_ether.h b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_ether.h
new file mode 100644
index 0000000000..9977903a50
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_ether.h
@@ -0,0 +1,104 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __NETINET_IF_ETHER_H
+
+#define __NETINET_IF_ETHER_H	1
+#include <features.h>
+#include <sys/types.h>
+
+/* Get definitions from kernel header file.  */
+#include <linux/if_ether.h>
+
+#ifdef __USE_MISC
+/*
+ * Copyright (c) 1982, 1986, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)if_ether.h	8.3 (Berkeley) 5/2/95
+ *	$FreeBSD$
+ */
+
+#include <net/ethernet.h>
+#include <net/if_arp.h>
+
+__BEGIN_DECLS
+/*
+ * Ethernet Address Resolution Protocol.
+ *
+ * See RFC 826 for protocol description.  Structure below is adapted
+ * to resolving internet addresses.  Field names used correspond to
+ * RFC 826.
+ */
+struct	ether_arp {
+	struct	arphdr ea_hdr;		/* fixed-size header */
+	uint8_t arp_sha[ETH_ALEN];	/* sender hardware address */
+	uint8_t arp_spa[4];		/* sender protocol address */
+	uint8_t arp_tha[ETH_ALEN];	/* target hardware address */
+	uint8_t arp_tpa[4];		/* target protocol address */
+};
+#define	arp_hrd	ea_hdr.ar_hrd
+#define	arp_pro	ea_hdr.ar_pro
+#define	arp_hln	ea_hdr.ar_hln
+#define	arp_pln	ea_hdr.ar_pln
+#define	arp_op	ea_hdr.ar_op
+
+/*
+ * Macro to map an IP multicast address to an Ethernet multicast address.
+ * The high-order 25 bits of the Ethernet address are statically assigned,
+ * and the low-order 23 bits are taken from the low end of the IP address.
+ */
+#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
+	/* struct in_addr *ipaddr; */ \
+	/* uint8_t enaddr[ETH_ALEN]; */ \
+{ \
+	(enaddr)[0] = 0x01; \
+	(enaddr)[1] = 0x00; \
+	(enaddr)[2] = 0x5e; \
+	(enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \
+	(enaddr)[4] = ((uint8_t *)ipaddr)[2]; \
+	(enaddr)[5] = ((uint8_t *)ipaddr)[3]; \
+}
+
+__END_DECLS
+#endif /* __USE_MISC */
+
+#endif /* netinet/if_ether.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_fddi.h b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_fddi.h
new file mode 100644
index 0000000000..af0c8e76a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_fddi.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NETINET_IF_FDDI_H
+#define	_NETINET_IF_FDDI_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <linux/if_fddi.h>
+
+#ifdef __USE_MISC
+
+struct fddi_header {
+  uint8_t fddi_fc;                    /* Frame Control (FC) value */
+  uint8_t fddi_dhost[FDDI_K_ALEN];    /* Destination host */
+  uint8_t fddi_shost[FDDI_K_ALEN];    /* Source host */
+};
+#endif
+
+#endif	/* netinet/if_fddi.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_tr.h b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_tr.h
new file mode 100644
index 0000000000..779a510b4b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netinet/if_tr.h
@@ -0,0 +1,110 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NETINET_IF_TR_H
+#define	_NETINET_IF_TR_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+
+/* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
+   and FCS/CRC (frame check sequence). */
+#define TR_ALEN		6		/* Octets in one token-ring addr */
+#define TR_HLEN 	(sizeof (struct trh_hdr) + sizeof (struct trllc))
+#define AC		0x10
+#define LLC_FRAME 	0x40
+
+/* LLC and SNAP constants */
+#define EXTENDED_SAP 	0xAA
+#define UI_CMD       	0x03
+
+/* This is an Token-Ring frame header. */
+struct trh_hdr
+{
+  uint8_t  ac;			/* access control field */
+  uint8_t  fc;			/* frame control field */
+  uint8_t  daddr[TR_ALEN];	/* destination address */
+  uint8_t  saddr[TR_ALEN];	/* source address */
+  uint16_t rcf;			/* route control field */
+  uint16_t rseg[8];		/* routing registers */
+};
+
+/* This is an Token-Ring LLC structure */
+struct trllc
+{
+  uint8_t  dsap;		/* destination SAP */
+  uint8_t  ssap;		/* source SAP */
+  uint8_t  llc;			/* LLC control field */
+  uint8_t  protid[3];		/* protocol id */
+  uint16_t ethertype;		/* ether type field */
+};
+
+/* Token-Ring statistics collection data. */
+struct tr_statistics
+{
+  unsigned long rx_packets;     /* total packets received	*/
+  unsigned long tx_packets;	/* total packets transmitted	*/
+  unsigned long rx_bytes;	/* total bytes received   	*/
+  unsigned long tx_bytes;	/* total bytes transmitted	*/
+  unsigned long rx_errors;	/* bad packets received		*/
+  unsigned long tx_errors;	/* packet transmit problems	*/
+  unsigned long rx_dropped;	/* no space in linux buffers	*/
+  unsigned long tx_dropped;	/* no space available in linux	*/
+  unsigned long multicast;	/* multicast packets received	*/
+  unsigned long transmit_collision;
+
+  /* detailed Token-Ring errors. See IBM Token-Ring Network
+     Architecture for more info */
+
+  unsigned long line_errors;
+  unsigned long internal_errors;
+  unsigned long burst_errors;
+  unsigned long A_C_errors;
+  unsigned long abort_delimiters;
+  unsigned long lost_frames;
+  unsigned long recv_congest_count;
+  unsigned long frame_copied_errors;
+  unsigned long frequency_errors;
+  unsigned long token_errors;
+  unsigned long dummy1;
+};
+
+/* source routing stuff */
+#define TR_RII 			0x80
+#define TR_RCF_DIR_BIT 		0x80
+#define TR_RCF_LEN_MASK 	0x1f00
+#define TR_RCF_BROADCAST 	0x8000	/* all-routes broadcast */
+#define TR_RCF_LIMITED_BROADCAST 0xC000	/* single-route broadcast */
+#define TR_RCF_FRAME2K 		0x20
+#define TR_RCF_BROADCAST_MASK 	0xC000
+#define TR_MAXRIFLEN 		18
+
+#ifdef __USE_MISC
+
+struct trn_hdr
+{
+  uint8_t trn_ac;                /* access control field */
+  uint8_t trn_fc;                /* field control field */
+  uint8_t trn_dhost[TR_ALEN];    /* destination host */
+  uint8_t trn_shost[TR_ALEN];    /* source host */
+  uint16_t trn_rcf;              /* route control field */
+  uint16_t trn_rseg[8];          /* routing registers */
+};
+
+#endif
+
+#endif	/* netinet/if_tr.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netipx/ipx.h b/REORG.TODO/sysdeps/unix/sysv/linux/netipx/ipx.h
new file mode 100644
index 0000000000..f5a91c5398
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netipx/ipx.h
@@ -0,0 +1,111 @@
+/* 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/>.  */
+
+#ifndef __NETIPX_IPX_H
+#define __NETIPX_IPX_H 1
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <bits/sockaddr.h>
+
+__BEGIN_DECLS
+
+#define SOL_IPX    256          /* sockopt level */
+
+#define IPX_TYPE        1
+#define IPX_NODE_LEN	6
+#define IPX_MTU		576
+
+struct sockaddr_ipx
+  {
+    sa_family_t sipx_family;
+    uint16_t sipx_port;
+    uint32_t sipx_network;
+    unsigned char sipx_node[IPX_NODE_LEN];
+    uint8_t sipx_type;
+    unsigned char sipx_zero;	/* 16 byte fill */
+  };
+
+/*
+ *	So we can fit the extra info for SIOCSIFADDR into the address nicely
+ */
+
+#define sipx_special	sipx_port
+#define sipx_action	sipx_zero
+#define IPX_DLTITF	0
+#define IPX_CRTITF	1
+
+typedef struct ipx_route_definition
+  {
+    unsigned long ipx_network;
+    unsigned long ipx_router_network;
+    unsigned char ipx_router_node[IPX_NODE_LEN];
+  }
+ipx_route_definition;
+
+typedef struct ipx_interface_definition
+  {
+    unsigned long ipx_network;
+    unsigned char ipx_device[16];
+    unsigned char ipx_dlink_type;
+#define IPX_FRAME_NONE		0
+#define IPX_FRAME_SNAP		1
+#define IPX_FRAME_8022		2
+#define IPX_FRAME_ETHERII	3
+#define IPX_FRAME_8023		4
+#define IPX_FRAME_TR_8022	5
+    unsigned char ipx_special;
+#define IPX_SPECIAL_NONE	0
+#define IPX_PRIMARY		1
+#define IPX_INTERNAL		2
+    unsigned char ipx_node[IPX_NODE_LEN];
+  }
+ipx_interface_definition;
+
+typedef struct ipx_config_data
+  {
+    unsigned char ipxcfg_auto_select_primary;
+    unsigned char ipxcfg_auto_create_interfaces;
+  }
+ipx_config_data;
+
+/*
+ * OLD Route Definition for backward compatibility.
+ */
+
+struct ipx_route_def
+  {
+    unsigned long ipx_network;
+    unsigned long ipx_router_network;
+#define IPX_ROUTE_NO_ROUTER	0
+    unsigned char ipx_router_node[IPX_NODE_LEN];
+    unsigned char ipx_device[16];
+    unsigned short ipx_flags;
+#define IPX_RT_SNAP		8
+#define IPX_RT_8022		4
+#define IPX_RT_BLUEBOOK		2
+#define IPX_RT_ROUTED		1
+  };
+
+#define SIOCAIPXITFCRT		(SIOCPROTOPRIVATE)
+#define SIOCAIPXPRISLT		(SIOCPROTOPRIVATE + 1)
+#define SIOCIPXCFGDATA		(SIOCPROTOPRIVATE + 2)
+#define SIOCIPXNCPCONN		(SIOCPROTOPRIVATE + 3)
+
+__END_DECLS
+
+#endif /* netipx/ipx.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netiucv/iucv.h b/REORG.TODO/sysdeps/unix/sysv/linux/netiucv/iucv.h
new file mode 100644
index 0000000000..4f80258dff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netiucv/iucv.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __NETIUCV_IUCV_H
+#define __NETIUCV_IUCV_H	1
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+__BEGIN_DECLS
+
+struct sockaddr_iucv
+  {
+    __SOCKADDR_COMMON (siucv_);
+    unsigned short	siucv_port;		/* Reserved */
+    unsigned int	siucv_addr;		/* Reserved */
+    char		siucv_nodeid[8];	/* Reserved */
+    char		siucv_user_id[8];	/* Guest User Id */
+    char		siucv_name[8];		/* Application Name */
+  };
+
+__END_DECLS
+
+#define SOL_IUCV        277			/* IUCV level */
+
+/* IUCV socket options (SOL_IUCV) */
+#define SO_IPRMDATA_MSG	0x0080			/* Send/recv IPRM_DATA msgs */
+#define SO_MSGLIMIT	0x1000			/* Get/set IUCV MSGLIMIT */
+#define SO_MSGSIZE	0x0800			/* Get maximum msgsize */
+
+/* IUCV related control messages (scm) */
+#define SCM_IUCV_TRGCLS	0x0001			/* Target class control message */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netlink_assert_response.c b/REORG.TODO/sysdeps/unix/sysv/linux/netlink_assert_response.c
new file mode 100644
index 0000000000..d60eb1515e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netlink_assert_response.c
@@ -0,0 +1,106 @@
+/* Check recvmsg results for netlink sockets.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/socket.h>
+
+#include "netlinkaccess.h"
+
+static int
+get_address_family (int fd)
+{
+  struct sockaddr_storage sa;
+  socklen_t sa_len = sizeof (sa);
+  if (__getsockname (fd, (struct sockaddr *) &sa, &sa_len) < 0)
+    return -1;
+  /* Check that the socket family number is preserved despite in-band
+     signaling.  */
+  _Static_assert (sizeof (sa.ss_family) < sizeof (int), "address family size");
+  _Static_assert (0 < (__typeof__ (sa.ss_family)) -1,
+                  "address family unsigned");
+  return sa.ss_family;
+}
+
+void
+internal_function
+__netlink_assert_response (int fd, ssize_t result)
+{
+  if (result < 0)
+    {
+      /* Check if the error is unexpected.  */
+      bool terminate = false;
+      int error_code = errno;
+      int family = get_address_family (fd);
+      if (family != AF_NETLINK)
+        /* If the address family does not match (or getsockname
+           failed), report the original error.  */
+        terminate = true;
+      else if (error_code == EBADF
+          || error_code == ENOTCONN
+          || error_code == ENOTSOCK
+          || error_code == ECONNREFUSED)
+        /* These errors indicate that the descriptor is not a
+           connected socket.  */
+        terminate = true;
+      else if (error_code == EAGAIN || error_code == EWOULDBLOCK)
+        {
+          /* The kernel might return EAGAIN for other reasons than a
+             non-blocking socket.  But if the socket is not blocking,
+             it is not ours, so report the error.  */
+          int mode = __fcntl (fd, F_GETFL, 0);
+          if (mode < 0 || (mode & O_NONBLOCK) != 0)
+            terminate = true;
+        }
+      if (terminate)
+        {
+          char message[200];
+          if (family < 0)
+            __snprintf (message, sizeof (message),
+                        "Unexpected error %d on netlink descriptor %d",
+                        error_code, fd);
+          else
+            __snprintf (message, sizeof (message),
+                        "Unexpected error %d on netlink descriptor %d"
+                        " (address family %d)",
+                        error_code, fd, family);
+          __libc_fatal (message);
+        }
+      else
+        /* Restore orignal errno value.  */
+        __set_errno (error_code);
+    }
+  else if (result < sizeof (struct nlmsghdr))
+    {
+      char message[200];
+      int family = get_address_family (fd);
+      if (family < 0)
+          __snprintf (message, sizeof (message),
+                      "Unexpected netlink response of size %zd"
+                      " on descriptor %d",
+                      result, fd);
+      else
+          __snprintf (message, sizeof (message),
+                      "Unexpected netlink response of size %zd"
+                      " on descriptor %d (address family %d)",
+                      result, fd, family);
+      __libc_fatal (message);
+    }
+}
+libc_hidden_def (__netlink_assert_response)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netlinkaccess.h b/REORG.TODO/sysdeps/unix/sysv/linux/netlinkaccess.h
new file mode 100644
index 0000000000..6cffb65b14
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netlinkaccess.h
@@ -0,0 +1,58 @@
+/* Copyright (C) 2004-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 _NETLINKACCESS_H
+#define _NETLINKACCESS_H 1
+
+#include <stdint.h>
+#include <sys/types.h>
+#include <asm/types.h>
+#include <linux/netlink.h>
+#include <linux/rtnetlink.h>
+
+
+struct netlink_res
+{
+  struct netlink_res *next;
+  struct nlmsghdr *nlh;
+  size_t size;			/* Size of response.  */
+  uint32_t seq;			/* sequential number we used.  */
+};
+
+
+struct netlink_handle
+{
+  int fd;			/* Netlink file descriptor.  */
+  pid_t pid;			/* Process ID.  */
+  uint32_t seq;			/* The sequence number we use currently.  */
+  struct netlink_res *nlm_list;	/* Pointer to list of responses.  */
+  struct netlink_res *end_ptr;	/* For faster append of new entries.  */
+};
+
+
+extern int __netlink_open (struct netlink_handle *h);
+extern void __netlink_close (struct netlink_handle *h);
+extern void __netlink_free_handle (struct netlink_handle *h);
+extern int __netlink_request (struct netlink_handle *h, int type);
+
+/* Terminate the process if RESULT is an invalid recvmsg result for
+   the netlink socket FD.  */
+void __netlink_assert_response (int fd, ssize_t result)
+  internal_function;
+libc_hidden_proto (__netlink_assert_response)
+
+#endif /* netlinkaccess.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netpacket/packet.h b/REORG.TODO/sysdeps/unix/sysv/linux/netpacket/packet.h
new file mode 100644
index 0000000000..1761af1478
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netpacket/packet.h
@@ -0,0 +1,80 @@
+/* Definitions for use with Linux AF_PACKET sockets.
+   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 __NETPACKET_PACKET_H
+#define __NETPACKET_PACKET_H	1
+
+struct sockaddr_ll
+  {
+    unsigned short int sll_family;
+    unsigned short int sll_protocol;
+    int sll_ifindex;
+    unsigned short int sll_hatype;
+    unsigned char sll_pkttype;
+    unsigned char sll_halen;
+    unsigned char sll_addr[8];
+  };
+
+/* Packet types.  */
+
+#define PACKET_HOST		0		/* To us.  */
+#define PACKET_BROADCAST	1		/* To all.  */
+#define PACKET_MULTICAST	2		/* To group.  */
+#define PACKET_OTHERHOST	3		/* To someone else.  */
+#define PACKET_OUTGOING		4		/* Originated by us . */
+#define PACKET_LOOPBACK		5
+#define PACKET_FASTROUTE	6
+
+/* Packet socket options.  */
+
+#define PACKET_ADD_MEMBERSHIP		1
+#define PACKET_DROP_MEMBERSHIP		2
+#define	PACKET_RECV_OUTPUT		3
+#define	PACKET_RX_RING			5
+#define	PACKET_STATISTICS		6
+#define	PACKET_COPY_THRESH		7
+#define	PACKET_AUXDATA			8
+#define	PACKET_ORIGDEV			9
+#define	PACKET_VERSION			10
+#define	PACKET_HDRLEN			11
+#define	PACKET_RESERVE			12
+#define	PACKET_TX_RING			13
+#define	PACKET_LOSS			14
+#define	PACKET_VNET_HDR			15
+#define	PACKET_TX_TIMESTAMP		16
+#define	PACKET_TIMESTAMP		17
+#define	PACKET_FANOUT			18
+#define	PACKET_TX_HAS_OFF		19
+#define	PACKET_QDISC_BYPASS		20
+#define	PACKET_ROLLOVER_STATS		21
+#define	PACKET_FANOUT_DATA		22
+
+struct packet_mreq
+  {
+    int mr_ifindex;
+    unsigned short int mr_type;
+    unsigned short int mr_alen;
+    unsigned char mr_address[8];
+  };
+
+#define PACKET_MR_MULTICAST	0
+#define PACKET_MR_PROMISC	1
+#define PACKET_MR_ALLMULTI	2
+#define PACKET_MR_UNICAST	3
+
+#endif	/* netpacket/packet.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netrom/netrom.h b/REORG.TODO/sysdeps/unix/sysv/linux/netrom/netrom.h
new file mode 100644
index 0000000000..5ed25cdd98
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netrom/netrom.h
@@ -0,0 +1,83 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NETROM_NETROM_H
+#define _NETROM_NETROM_H	1
+
+#include <netax25/ax25.h>
+
+/* Setsockoptions(2) level.  Thanks to BSD these must match IPPROTO_xxx.  */
+#define SOL_NETROM	259
+
+/* NetRom control values: */
+#define NETROM_T1	1
+#define NETROM_T2	2
+#define NETROM_N2	3
+#define NETROM_PACLEN	5
+#define	NETROM_T4	6
+#define NETROM_IDLE	7
+
+#define NETROM_KILL	99
+
+/* Type of route: */
+#define NETROM_NEIGH    0
+#define NETROM_NODE     1
+
+struct nr_route_struct
+  {
+    int type;
+    ax25_address callsign;
+    char device[16];
+    unsigned int quality;
+    char mnemonic[7];
+    ax25_address neighbour;
+    unsigned int obs_count;
+    unsigned int ndigis;
+    ax25_address digipeaters[AX25_MAX_DIGIS];
+  };
+
+/* NetRom socket ioctls: */
+#define	SIOCNRGETPARMS		(SIOCPROTOPRIVATE+0)
+#define	SIOCNRSETPARMS		(SIOCPROTOPRIVATE+1)
+#define	SIOCNRDECOBS		(SIOCPROTOPRIVATE+2)
+#define	SIOCNRRTCTL		(SIOCPROTOPRIVATE+3)
+#define	SIOCNRCTLCON		(SIOCPROTOPRIVATE+4)
+
+/* NetRom parameter structure: */
+struct nr_parms_struct
+  {
+    unsigned int quality;
+    unsigned int obs_count;
+    unsigned int ttl;
+    unsigned int timeout;
+    unsigned int ack_delay;
+    unsigned int busy_delay;
+    unsigned int tries;
+    unsigned int window;
+    unsigned int paclen;
+  };
+
+/* NetRom control structure: */
+struct nr_ctl_struct
+  {
+    unsigned char index;
+    unsigned char id;
+    unsigned int cmd;
+    unsigned long arg;
+  };
+
+#endif /* netrom/netrom.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/netrose/rose.h b/REORG.TODO/sysdeps/unix/sysv/linux/netrose/rose.h
new file mode 100644
index 0000000000..c16803bbfb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/netrose/rose.h
@@ -0,0 +1,118 @@
+/* Definitions for Rose packet radio address family.
+   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/>.  */
+
+/* What follows is copied from the 2.1.93 <linux/rose.h>.  */
+
+#ifndef _NETROSE_ROSE_H
+#define _NETROSE_ROSE_H 1
+
+#include <sys/socket.h>
+#include <netax25/ax25.h>
+
+/* Socket level values.  */
+#define SOL_ROSE        260
+
+
+/* These are the public elements of the Linux kernel Rose
+   implementation.  For kernel AX.25 see the file ax25.h. This file
+   requires ax25.h for the definition of the ax25_address structure.  */
+#define ROSE_MTU	251
+
+#define ROSE_MAX_DIGIS	6
+
+#define	ROSE_DEFER	1
+#define	ROSE_T1		2
+#define	ROSE_T2		3
+#define	ROSE_T3		4
+#define	ROSE_IDLE	5
+#define	ROSE_QBITINCL	6
+#define	ROSE_HOLDBACK	7
+
+#define	SIOCRSGCAUSE		(SIOCPROTOPRIVATE + 0)
+#define	SIOCRSSCAUSE		(SIOCPROTOPRIVATE + 1)
+#define	SIOCRSL2CALL		(SIOCPROTOPRIVATE + 2)
+#define	SIOCRSSL2CALL		(SIOCPROTOPRIVATE + 2)
+#define	SIOCRSACCEPT		(SIOCPROTOPRIVATE + 3)
+#define	SIOCRSCLRRT		(SIOCPROTOPRIVATE + 4)
+#define	SIOCRSGL2CALL		(SIOCPROTOPRIVATE + 5)
+#define	SIOCRSGFACILITIES	(SIOCPROTOPRIVATE + 6)
+
+#define	ROSE_DTE_ORIGINATED	0x00
+#define	ROSE_NUMBER_BUSY	0x01
+#define	ROSE_INVALID_FACILITY	0x03
+#define	ROSE_NETWORK_CONGESTION	0x05
+#define	ROSE_OUT_OF_ORDER	0x09
+#define	ROSE_ACCESS_BARRED	0x0B
+#define	ROSE_NOT_OBTAINABLE	0x0D
+#define	ROSE_REMOTE_PROCEDURE	0x11
+#define	ROSE_LOCAL_PROCEDURE	0x13
+#define	ROSE_SHIP_ABSENT	0x39
+
+
+typedef struct
+{
+  char rose_addr[5];
+} rose_address;
+
+struct sockaddr_rose
+{
+  sa_family_t srose_family;
+  rose_address srose_addr;
+  ax25_address srose_call;
+  int srose_ndigis;
+  ax25_address	srose_digi;
+};
+
+struct full_sockaddr_rose
+{
+  sa_family_t srose_family;
+  rose_address srose_addr;
+  ax25_address srose_call;
+  unsigned int srose_ndigis;
+  ax25_address srose_digis[ROSE_MAX_DIGIS];
+};
+
+struct rose_route_struct
+{
+  rose_address address;
+  unsigned short int mask;
+  ax25_address	neighbour;
+  char device[16];
+  unsigned char	ndigis;
+  ax25_address digipeaters[AX25_MAX_DIGIS];
+};
+
+struct rose_cause_struct
+{
+  unsigned char	cause;
+  unsigned char	diagnostic;
+};
+
+struct rose_facilities_struct
+{
+  rose_address source_addr,   dest_addr;
+  ax25_address source_call,   dest_call;
+  unsigned char source_ndigis, dest_ndigis;
+  ax25_address source_digis[ROSE_MAX_DIGIS];
+  ax25_address dest_digis[ROSE_MAX_DIGIS];
+  unsigned int rand;
+  rose_address fail_addr;
+  ax25_address fail_call;
+};
+
+#endif	/* netrose/rose.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nfs/nfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/nfs/nfs.h
new file mode 100644
index 0000000000..61e4b656d7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nfs/nfs.h
@@ -0,0 +1 @@
+#include <linux/nfs.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nice.c b/REORG.TODO/sysdeps/unix/sysv/linux/nice.c
new file mode 100644
index 0000000000..3bcbb1e89a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nice.c
@@ -0,0 +1 @@
+#include <sysdeps/posix/nice.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Implies
new file mode 100644
index 0000000000..4d0478bf8f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Implies
@@ -0,0 +1,3 @@
+nios2/nptl
+unix/sysv/linux/generic/wordsize-32
+unix/sysv/linux/generic
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Makefile
new file mode 100644
index 0000000000..d0af9ec559
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Makefile
@@ -0,0 +1,13 @@
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),misc)
+# MIPS/Tile-style cacheflush routine
+sysdep_headers += sys/cachectl.h
+sysdep_routines += cacheflush
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-routines := $(filter-out pt-vfork,$(libpthread-routines))
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Versions
new file mode 100644
index 0000000000..e42c85f575
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.21 {
+    _flush_cache;
+    cacheflush;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/arch-fork.h
new file mode 100644
index 0000000000..a93cf4232f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/arch-fork.h
@@ -0,0 +1,33 @@
+/* ARCH_FORK definition for Linux fork implementation.  Nios II version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+/* Argument 1 - Clone flags.
+            2 - Child stack pointer.
+	    3 - Parent tid pointer.
+	    4 - Child tid pointer.
+	    5 - New TLS area pointer. */
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						\
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
+                  NULL, NULL, &THREAD_SELF->tid, NULL)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/atomic-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/atomic-machine.h
new file mode 100644
index 0000000000..d4dd025603
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/atomic-machine.h
@@ -0,0 +1,95 @@
+/* Low-level functions for atomic operations. Nios II version.
+   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/>.  */
+
+#ifndef _NIOS2_ATOMIC_MACHINE_H
+#define _NIOS2_ATOMIC_MACHINE_H 1
+
+#include <stdint.h>
+
+typedef int32_t atomic32_t;
+typedef uint32_t uatomic32_t;
+typedef int_fast32_t atomic_fast32_t;
+typedef uint_fast32_t uatomic_fast32_t;
+
+typedef intptr_t atomicptr_t;
+typedef uintptr_t uatomicptr_t;
+typedef intmax_t atomic_max_t;
+typedef uintmax_t uatomic_max_t;
+
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
+/* XXX Is this actually correct?  */
+#define ATOMIC_EXCHANGE_USES_CAS 1
+
+#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval)	\
+  (abort (), (__typeof (*mem)) 0)
+#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval)	\
+  (abort (), (__typeof (*mem)) 0)
+#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval)	\
+  (abort (), (__typeof (*mem)) 0)
+
+#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval)	\
+  (abort (), 0)
+#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval)	\
+  (abort (), 0)
+#define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval)	\
+  (abort (), 0)
+
+#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval)	\
+  ({									\
+     register int r2 asm ("r2");					\
+     register int* r4 asm ("r4") = (int*)(mem);				\
+     register int r5 asm ("r5");					\
+     register int r6 asm ("r6") = (int)(newval);			\
+     int retval, orig_oldval = (int)(oldval);				\
+     long kernel_cmpxchg = 0x1004;					\
+     while (1)								\
+       {								\
+         r5 = *r4;							\
+	 if (r5 != orig_oldval)						\
+	   {								\
+	     retval = r5;						\
+	     break;							\
+	   }								\
+	 asm volatile ("callr %1\n"					\
+		       : "=r" (r2)					\
+		       : "r" (kernel_cmpxchg), "r" (r4), "r" (r5), "r" (r6) \
+		       : "ra", "memory");				\
+	 if (!r2) { retval = orig_oldval; break; }			\
+       }								\
+     (__typeof (*(mem))) retval;					\
+  })
+
+#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval)	\
+  ({									\
+     register int r2 asm ("r2");					\
+     register int *r4 asm ("r4") = (int*)(mem);				\
+     register int r5 asm ("r5") = (int)(oldval);			\
+     register int r6 asm ("r6") = (int)(newval);			\
+     long kernel_cmpxchg = 0x1004;					\
+     asm volatile ("callr %1\n"						\
+		   : "=r" (r2)						\
+		   : "r" (kernel_cmpxchg), "r" (r4), "r" (r5), "r" (r6) \
+		   : "ra", "memory");					\
+     r2;								\
+  })
+
+#define atomic_full_barrier()  ({ asm volatile ("sync"); })
+
+#endif /* _NIOS2_ATOMIC_MACHINE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/bits/mman.h
new file mode 100644
index 0000000000..dc90da1187
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/bits/mman.h
@@ -0,0 +1,42 @@
+/* Definitions for POSIX memory map interface.  Linux/Nios II version.
+
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/c++-types.data
new file mode 100644
index 0000000000..303f4570c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:i
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/cacheflush.c b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/cacheflush.c
new file mode 100644
index 0000000000..463d6ef4c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/cacheflush.c
@@ -0,0 +1,29 @@
+/* cacheflush system call for Nios II Linux.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <stddef.h>
+#include <unistd.h>
+
+/* Flush cache(s).  */
+int
+_flush_cache (char *addr, const int nbytes, const int op)
+{
+  return INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
+}
+weak_alias (_flush_cache, cacheflush)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/clone.S
new file mode 100644
index 0000000000..7929dfa48a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/clone.S
@@ -0,0 +1,95 @@
+/* clone() implementation for Nios II.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andrew Jenner <andrew@codesourcery.com>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+#define CLONE_VM      0x00000100
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     void *parent_tidptr, void *tls, void *child_tidptr) */
+
+	.text
+ENTRY(__clone)
+	/* Sanity check arguments.  */
+	movi	r2, EINVAL
+	/* No NULL function pointers.  */
+	beq	r4, zero, SYSCALL_ERROR_LABEL
+	/* No NULL stack pointers.  */
+	beq	r5, zero, SYSCALL_ERROR_LABEL
+
+	subi	r5, r5, 8	/* Reserve argument save space.  */
+	stw	r4, 4(r5)	/* Save function pointer.  */
+	stw	r7, 0(r5)	/* Save argument pointer.  */
+
+	/* Load arguments.  */
+	mov	r4, r6
+	ldw	r6, 0(sp)
+	ldw	r7, 8(sp)
+	ldw	r8, 4(sp)
+
+	/* Do the system call.  */
+	movi	r2, SYS_ify (clone)
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+	trap
+
+	/* Check for errors.  */
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+	/* See if we're on the newly created thread.  */
+	beq	r2, zero, thread_start
+	/* Successful return from the parent */
+	ret
+
+thread_start:
+	cfi_startproc
+	cfi_undefined (ra)
+
+	ldw	r5, 4(sp)	/* Function pointer.  */
+	ldw	r4, 0(sp)	/* Argument pointer.  */
+	addi	sp, sp, 8
+
+        /* Call the user's function.  */
+	callr	r5
+
+	/* _exit with the result.  */
+	mov	r4, r2
+#ifdef PIC
+	nextpc	r22
+1:	movhi	r8, %hiadj(_gp_got - 1b)
+	addi	r8, r8, %lo(_gp_got - 1b)
+	add	r22, r22, r8
+	ldw	r8, %call(HIDDEN_JUMPTARGET(_exit))(r22)
+	jmp	r8
+#else
+	jmpi	_exit
+#endif
+	cfi_endproc
+
+	cfi_startproc
+PSEUDO_END (__clone)
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure
new file mode 100644
index 0000000000..56b710792e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure
@@ -0,0 +1,4 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/nios2.
+
+arch_minimum_kernel=3.19.0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/configure.ac
new file mode 100644
index 0000000000..a8ccc17ffe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/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/nios2.
+
+arch_minimum_kernel=3.19.0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/getcontext.S
new file mode 100644
index 0000000000..373e80546a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/getcontext.S
@@ -0,0 +1,66 @@
+/* Save current context.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+
+/* int getcontext (ucontext_t *ucp)
+
+   Returns 0 on success -1 and errno on failure.
+ */
+	.text
+ENTRY(__getcontext)
+	stw	r16, (UCONTEXT_MCONTEXT + 16*4)(r4)
+	stw	r17, (UCONTEXT_MCONTEXT + 17*4)(r4)
+	stw	r18, (UCONTEXT_MCONTEXT + 18*4)(r4)
+	stw	r19, (UCONTEXT_MCONTEXT + 19*4)(r4)
+	stw	r20, (UCONTEXT_MCONTEXT + 20*4)(r4)
+	stw	r21, (UCONTEXT_MCONTEXT + 21*4)(r4)
+	stw	r22, (UCONTEXT_MCONTEXT + 22*4)(r4)
+	stw	ra,  (UCONTEXT_MCONTEXT + 24*4)(r4)
+	stw	fp,  (UCONTEXT_MCONTEXT + 25*4)(r4)
+	stw	gp,  (UCONTEXT_MCONTEXT + 26*4)(r4)
+	/* Store return address at place for EA.  */
+	stw	ra,  (UCONTEXT_MCONTEXT + 28*4)(r4)
+	stw	sp,  (UCONTEXT_MCONTEXT + 29*4)(r4)
+	/* Store zero for return success.  */
+	stw	zero, (UCONTEXT_MCONTEXT + 2*4)(r4)
+
+	/* Store value "1" at uc_flags to recognize as getcontext created.  */
+	movi	r2, 1
+	stw	r2, UCONTEXT_FLAGS(r4)
+
+	/* Store MCONTEXT_VERSION at first word of mcontext_t.  */
+	movi	r2, MCONTEXT_VERSION
+	stw	r2, UCONTEXT_MCONTEXT(r4)
+
+	/* Get signal mask.  */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	movi	r7, _NSIG8
+	addi	r6, r4, UCONTEXT_SIGMASK
+	mov	r5, zero
+	movi	r4, SIG_BLOCK
+	movi	r2, SYS_ify (rt_sigprocmask)
+	trap
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+
+	mov	r2, zero
+	ret
+
+PSEUDO_END(__getcontext)
+weak_alias(__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ipc_priv.h
new file mode 100644
index 0000000000..d5c6c0a730
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ipc_priv.h
@@ -0,0 +1,21 @@
+/* Old SysV permission definition for Linux.  Nios II version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h
new file mode 100644
index 0000000000..f840effe92
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h
@@ -0,0 +1,26 @@
+/* Linux kernel struct rt_sigframe declaration for Nios II.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This structure must have the same shape as the Linux kernel
+   equivalent.  */
+
+struct kernel_rt_sigframe
+{
+  siginfo_t info;
+  struct ucontext uc;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ld.abilist
new file mode 100644
index 0000000000..a127464b4b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 __libc_stack_end D 0x4
+GLIBC_2.21 __stack_chk_guard D 0x4
+GLIBC_2.21 __tls_get_addr F
+GLIBC_2.21 _dl_mcount F
+GLIBC_2.21 _r_debug D 0x14
+GLIBC_2.21 calloc F
+GLIBC_2.21 free F
+GLIBC_2.21 malloc F
+GLIBC_2.21 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist
new file mode 100644
index 0000000000..5acf5e6d61
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libanl.abilist
new file mode 100644
index 0000000000..04286b8fa1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 gai_cancel F
+GLIBC_2.21 gai_error F
+GLIBC_2.21 gai_suspend F
+GLIBC_2.21 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libc.abilist
new file mode 100644
index 0000000000..be252287d1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -0,0 +1,2146 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 _Exit F
+GLIBC_2.21 _IO_2_1_stderr_ D 0x98
+GLIBC_2.21 _IO_2_1_stdin_ D 0x98
+GLIBC_2.21 _IO_2_1_stdout_ D 0x98
+GLIBC_2.21 _IO_adjust_column F
+GLIBC_2.21 _IO_adjust_wcolumn F
+GLIBC_2.21 _IO_default_doallocate F
+GLIBC_2.21 _IO_default_finish F
+GLIBC_2.21 _IO_default_pbackfail F
+GLIBC_2.21 _IO_default_uflow F
+GLIBC_2.21 _IO_default_xsgetn F
+GLIBC_2.21 _IO_default_xsputn F
+GLIBC_2.21 _IO_do_write F
+GLIBC_2.21 _IO_doallocbuf F
+GLIBC_2.21 _IO_fclose F
+GLIBC_2.21 _IO_fdopen F
+GLIBC_2.21 _IO_feof F
+GLIBC_2.21 _IO_ferror F
+GLIBC_2.21 _IO_fflush F
+GLIBC_2.21 _IO_fgetpos F
+GLIBC_2.21 _IO_fgetpos64 F
+GLIBC_2.21 _IO_fgets F
+GLIBC_2.21 _IO_file_attach F
+GLIBC_2.21 _IO_file_close F
+GLIBC_2.21 _IO_file_close_it F
+GLIBC_2.21 _IO_file_doallocate F
+GLIBC_2.21 _IO_file_finish F
+GLIBC_2.21 _IO_file_fopen F
+GLIBC_2.21 _IO_file_init F
+GLIBC_2.21 _IO_file_jumps D 0x54
+GLIBC_2.21 _IO_file_open F
+GLIBC_2.21 _IO_file_overflow F
+GLIBC_2.21 _IO_file_read F
+GLIBC_2.21 _IO_file_seek F
+GLIBC_2.21 _IO_file_seekoff F
+GLIBC_2.21 _IO_file_setbuf F
+GLIBC_2.21 _IO_file_stat F
+GLIBC_2.21 _IO_file_sync F
+GLIBC_2.21 _IO_file_underflow F
+GLIBC_2.21 _IO_file_write F
+GLIBC_2.21 _IO_file_xsputn F
+GLIBC_2.21 _IO_flockfile F
+GLIBC_2.21 _IO_flush_all F
+GLIBC_2.21 _IO_flush_all_linebuffered F
+GLIBC_2.21 _IO_fopen F
+GLIBC_2.21 _IO_fprintf F
+GLIBC_2.21 _IO_fputs F
+GLIBC_2.21 _IO_fread F
+GLIBC_2.21 _IO_free_backup_area F
+GLIBC_2.21 _IO_free_wbackup_area F
+GLIBC_2.21 _IO_fsetpos F
+GLIBC_2.21 _IO_fsetpos64 F
+GLIBC_2.21 _IO_ftell F
+GLIBC_2.21 _IO_ftrylockfile F
+GLIBC_2.21 _IO_funlockfile F
+GLIBC_2.21 _IO_fwrite F
+GLIBC_2.21 _IO_getc F
+GLIBC_2.21 _IO_getline F
+GLIBC_2.21 _IO_getline_info F
+GLIBC_2.21 _IO_gets F
+GLIBC_2.21 _IO_init F
+GLIBC_2.21 _IO_init_marker F
+GLIBC_2.21 _IO_init_wmarker F
+GLIBC_2.21 _IO_iter_begin F
+GLIBC_2.21 _IO_iter_end F
+GLIBC_2.21 _IO_iter_file F
+GLIBC_2.21 _IO_iter_next F
+GLIBC_2.21 _IO_least_wmarker F
+GLIBC_2.21 _IO_link_in F
+GLIBC_2.21 _IO_list_all D 0x4
+GLIBC_2.21 _IO_list_lock F
+GLIBC_2.21 _IO_list_resetlock F
+GLIBC_2.21 _IO_list_unlock F
+GLIBC_2.21 _IO_marker_delta F
+GLIBC_2.21 _IO_marker_difference F
+GLIBC_2.21 _IO_padn F
+GLIBC_2.21 _IO_peekc_locked F
+GLIBC_2.21 _IO_popen F
+GLIBC_2.21 _IO_printf F
+GLIBC_2.21 _IO_proc_close F
+GLIBC_2.21 _IO_proc_open F
+GLIBC_2.21 _IO_putc F
+GLIBC_2.21 _IO_puts F
+GLIBC_2.21 _IO_remove_marker F
+GLIBC_2.21 _IO_seekmark F
+GLIBC_2.21 _IO_seekoff F
+GLIBC_2.21 _IO_seekpos F
+GLIBC_2.21 _IO_seekwmark F
+GLIBC_2.21 _IO_setb F
+GLIBC_2.21 _IO_setbuffer F
+GLIBC_2.21 _IO_setvbuf F
+GLIBC_2.21 _IO_sgetn F
+GLIBC_2.21 _IO_sprintf F
+GLIBC_2.21 _IO_sputbackc F
+GLIBC_2.21 _IO_sputbackwc F
+GLIBC_2.21 _IO_sscanf F
+GLIBC_2.21 _IO_str_init_readonly F
+GLIBC_2.21 _IO_str_init_static F
+GLIBC_2.21 _IO_str_overflow F
+GLIBC_2.21 _IO_str_pbackfail F
+GLIBC_2.21 _IO_str_seekoff F
+GLIBC_2.21 _IO_str_underflow F
+GLIBC_2.21 _IO_sungetc F
+GLIBC_2.21 _IO_sungetwc F
+GLIBC_2.21 _IO_switch_to_get_mode F
+GLIBC_2.21 _IO_switch_to_main_wget_area F
+GLIBC_2.21 _IO_switch_to_wbackup_area F
+GLIBC_2.21 _IO_switch_to_wget_mode F
+GLIBC_2.21 _IO_un_link F
+GLIBC_2.21 _IO_ungetc F
+GLIBC_2.21 _IO_unsave_markers F
+GLIBC_2.21 _IO_unsave_wmarkers F
+GLIBC_2.21 _IO_vfprintf F
+GLIBC_2.21 _IO_vfscanf F
+GLIBC_2.21 _IO_vsprintf F
+GLIBC_2.21 _IO_wdefault_doallocate F
+GLIBC_2.21 _IO_wdefault_finish F
+GLIBC_2.21 _IO_wdefault_pbackfail F
+GLIBC_2.21 _IO_wdefault_uflow F
+GLIBC_2.21 _IO_wdefault_xsgetn F
+GLIBC_2.21 _IO_wdefault_xsputn F
+GLIBC_2.21 _IO_wdo_write F
+GLIBC_2.21 _IO_wdoallocbuf F
+GLIBC_2.21 _IO_wfile_jumps D 0x54
+GLIBC_2.21 _IO_wfile_overflow F
+GLIBC_2.21 _IO_wfile_seekoff F
+GLIBC_2.21 _IO_wfile_sync F
+GLIBC_2.21 _IO_wfile_underflow F
+GLIBC_2.21 _IO_wfile_xsputn F
+GLIBC_2.21 _IO_wmarker_delta F
+GLIBC_2.21 _IO_wsetb F
+GLIBC_2.21 ___brk_addr D 0x4
+GLIBC_2.21 __adddf3 F
+GLIBC_2.21 __addsf3 F
+GLIBC_2.21 __adjtimex F
+GLIBC_2.21 __after_morecore_hook D 0x4
+GLIBC_2.21 __argz_count F
+GLIBC_2.21 __argz_next F
+GLIBC_2.21 __argz_stringify F
+GLIBC_2.21 __asprintf F
+GLIBC_2.21 __asprintf_chk F
+GLIBC_2.21 __assert F
+GLIBC_2.21 __assert_fail F
+GLIBC_2.21 __assert_perror_fail F
+GLIBC_2.21 __backtrace F
+GLIBC_2.21 __backtrace_symbols F
+GLIBC_2.21 __backtrace_symbols_fd F
+GLIBC_2.21 __bsd_getpgrp F
+GLIBC_2.21 __bzero F
+GLIBC_2.21 __check_rhosts_file D 0x4
+GLIBC_2.21 __chk_fail F
+GLIBC_2.21 __clone F
+GLIBC_2.21 __close F
+GLIBC_2.21 __cmsg_nxthdr F
+GLIBC_2.21 __confstr_chk F
+GLIBC_2.21 __connect F
+GLIBC_2.21 __ctype_b_loc F
+GLIBC_2.21 __ctype_get_mb_cur_max F
+GLIBC_2.21 __ctype_tolower_loc F
+GLIBC_2.21 __ctype_toupper_loc F
+GLIBC_2.21 __curbrk D 0x4
+GLIBC_2.21 __cxa_at_quick_exit F
+GLIBC_2.21 __cxa_atexit F
+GLIBC_2.21 __cxa_finalize F
+GLIBC_2.21 __cxa_thread_atexit_impl F
+GLIBC_2.21 __cyg_profile_func_enter F
+GLIBC_2.21 __cyg_profile_func_exit F
+GLIBC_2.21 __daylight D 0x4
+GLIBC_2.21 __dcgettext F
+GLIBC_2.21 __default_morecore F
+GLIBC_2.21 __dgettext F
+GLIBC_2.21 __divdf3 F
+GLIBC_2.21 __divsf3 F
+GLIBC_2.21 __dprintf_chk F
+GLIBC_2.21 __dup2 F
+GLIBC_2.21 __duplocale F
+GLIBC_2.21 __endmntent F
+GLIBC_2.21 __environ D 0x4
+GLIBC_2.21 __eqdf2 F
+GLIBC_2.21 __eqsf2 F
+GLIBC_2.21 __errno_location F
+GLIBC_2.21 __extendsfdf2 F
+GLIBC_2.21 __fbufsize F
+GLIBC_2.21 __fcntl F
+GLIBC_2.21 __fdelt_chk F
+GLIBC_2.21 __fdelt_warn F
+GLIBC_2.21 __ffs F
+GLIBC_2.21 __fgets_chk F
+GLIBC_2.21 __fgets_unlocked_chk F
+GLIBC_2.21 __fgetws_chk F
+GLIBC_2.21 __fgetws_unlocked_chk F
+GLIBC_2.21 __finite F
+GLIBC_2.21 __finitef F
+GLIBC_2.21 __finitel F
+GLIBC_2.21 __fixdfdi F
+GLIBC_2.21 __fixdfsi F
+GLIBC_2.21 __fixsfdi F
+GLIBC_2.21 __fixsfsi F
+GLIBC_2.21 __fixunsdfdi F
+GLIBC_2.21 __fixunsdfsi F
+GLIBC_2.21 __fixunssfdi F
+GLIBC_2.21 __fixunssfsi F
+GLIBC_2.21 __flbf F
+GLIBC_2.21 __floatdidf F
+GLIBC_2.21 __floatdisf F
+GLIBC_2.21 __floatsidf F
+GLIBC_2.21 __floatsisf F
+GLIBC_2.21 __floatundidf F
+GLIBC_2.21 __floatundisf F
+GLIBC_2.21 __floatunsidf F
+GLIBC_2.21 __floatunsisf F
+GLIBC_2.21 __fork F
+GLIBC_2.21 __fpending F
+GLIBC_2.21 __fprintf_chk F
+GLIBC_2.21 __fpu_control D 0x4
+GLIBC_2.21 __fpurge F
+GLIBC_2.21 __fread_chk F
+GLIBC_2.21 __fread_unlocked_chk F
+GLIBC_2.21 __freadable F
+GLIBC_2.21 __freading F
+GLIBC_2.21 __free_hook D 0x4
+GLIBC_2.21 __freelocale F
+GLIBC_2.21 __fsetlocking F
+GLIBC_2.21 __fwprintf_chk F
+GLIBC_2.21 __fwritable F
+GLIBC_2.21 __fwriting F
+GLIBC_2.21 __fxstat F
+GLIBC_2.21 __fxstat64 F
+GLIBC_2.21 __fxstatat F
+GLIBC_2.21 __fxstatat64 F
+GLIBC_2.21 __gedf2 F
+GLIBC_2.21 __gesf2 F
+GLIBC_2.21 __getauxval F
+GLIBC_2.21 __getcwd_chk F
+GLIBC_2.21 __getdelim F
+GLIBC_2.21 __getdomainname_chk F
+GLIBC_2.21 __getgroups_chk F
+GLIBC_2.21 __gethostname_chk F
+GLIBC_2.21 __getlogin_r_chk F
+GLIBC_2.21 __getmntent_r F
+GLIBC_2.21 __getpagesize F
+GLIBC_2.21 __getpgid F
+GLIBC_2.21 __getpid F
+GLIBC_2.21 __gets_chk F
+GLIBC_2.21 __gettimeofday F
+GLIBC_2.21 __getwd_chk F
+GLIBC_2.21 __gmtime_r F
+GLIBC_2.21 __gtdf2 F
+GLIBC_2.21 __gtsf2 F
+GLIBC_2.21 __h_errno_location F
+GLIBC_2.21 __isalnum_l F
+GLIBC_2.21 __isalpha_l F
+GLIBC_2.21 __isascii_l F
+GLIBC_2.21 __isblank_l F
+GLIBC_2.21 __iscntrl_l F
+GLIBC_2.21 __isctype F
+GLIBC_2.21 __isdigit_l F
+GLIBC_2.21 __isgraph_l F
+GLIBC_2.21 __isinf F
+GLIBC_2.21 __isinff F
+GLIBC_2.21 __isinfl F
+GLIBC_2.21 __islower_l F
+GLIBC_2.21 __isnan F
+GLIBC_2.21 __isnanf F
+GLIBC_2.21 __isnanl F
+GLIBC_2.21 __isoc99_fscanf F
+GLIBC_2.21 __isoc99_fwscanf F
+GLIBC_2.21 __isoc99_scanf F
+GLIBC_2.21 __isoc99_sscanf F
+GLIBC_2.21 __isoc99_swscanf F
+GLIBC_2.21 __isoc99_vfscanf F
+GLIBC_2.21 __isoc99_vfwscanf F
+GLIBC_2.21 __isoc99_vscanf F
+GLIBC_2.21 __isoc99_vsscanf F
+GLIBC_2.21 __isoc99_vswscanf F
+GLIBC_2.21 __isoc99_vwscanf F
+GLIBC_2.21 __isoc99_wscanf F
+GLIBC_2.21 __isprint_l F
+GLIBC_2.21 __ispunct_l F
+GLIBC_2.21 __isspace_l F
+GLIBC_2.21 __isupper_l F
+GLIBC_2.21 __iswalnum_l F
+GLIBC_2.21 __iswalpha_l F
+GLIBC_2.21 __iswblank_l F
+GLIBC_2.21 __iswcntrl_l F
+GLIBC_2.21 __iswctype F
+GLIBC_2.21 __iswctype_l F
+GLIBC_2.21 __iswdigit_l F
+GLIBC_2.21 __iswgraph_l F
+GLIBC_2.21 __iswlower_l F
+GLIBC_2.21 __iswprint_l F
+GLIBC_2.21 __iswpunct_l F
+GLIBC_2.21 __iswspace_l F
+GLIBC_2.21 __iswupper_l F
+GLIBC_2.21 __iswxdigit_l F
+GLIBC_2.21 __isxdigit_l F
+GLIBC_2.21 __ivaliduser F
+GLIBC_2.21 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.21 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.21 __key_gendes_LOCAL D 0x4
+GLIBC_2.21 __ledf2 F
+GLIBC_2.21 __lesf2 F
+GLIBC_2.21 __libc_allocate_rtsig F
+GLIBC_2.21 __libc_calloc F
+GLIBC_2.21 __libc_current_sigrtmax F
+GLIBC_2.21 __libc_current_sigrtmin F
+GLIBC_2.21 __libc_free F
+GLIBC_2.21 __libc_freeres F
+GLIBC_2.21 __libc_init_first F
+GLIBC_2.21 __libc_mallinfo F
+GLIBC_2.21 __libc_malloc F
+GLIBC_2.21 __libc_mallopt F
+GLIBC_2.21 __libc_memalign F
+GLIBC_2.21 __libc_pvalloc F
+GLIBC_2.21 __libc_realloc F
+GLIBC_2.21 __libc_sa_len F
+GLIBC_2.21 __libc_start_main F
+GLIBC_2.21 __libc_valloc F
+GLIBC_2.21 __longjmp_chk F
+GLIBC_2.21 __lseek F
+GLIBC_2.21 __ltdf2 F
+GLIBC_2.21 __ltsf2 F
+GLIBC_2.21 __lxstat F
+GLIBC_2.21 __lxstat64 F
+GLIBC_2.21 __malloc_hook D 0x4
+GLIBC_2.21 __malloc_initialize_hook D 0x4
+GLIBC_2.21 __mbrlen F
+GLIBC_2.21 __mbrtowc F
+GLIBC_2.21 __mbsnrtowcs_chk F
+GLIBC_2.21 __mbsrtowcs_chk F
+GLIBC_2.21 __mbstowcs_chk F
+GLIBC_2.21 __memalign_hook D 0x4
+GLIBC_2.21 __memcpy_chk F
+GLIBC_2.21 __memmove_chk F
+GLIBC_2.21 __mempcpy F
+GLIBC_2.21 __mempcpy_chk F
+GLIBC_2.21 __mempcpy_small F
+GLIBC_2.21 __memset_chk F
+GLIBC_2.21 __monstartup F
+GLIBC_2.21 __morecore D 0x4
+GLIBC_2.21 __muldf3 F
+GLIBC_2.21 __mulsf3 F
+GLIBC_2.21 __nanosleep F
+GLIBC_2.21 __nedf2 F
+GLIBC_2.21 __negdf2 F
+GLIBC_2.21 __negsf2 F
+GLIBC_2.21 __nesf2 F
+GLIBC_2.21 __newlocale F
+GLIBC_2.21 __nl_langinfo_l F
+GLIBC_2.21 __nss_configure_lookup F
+GLIBC_2.21 __nss_database_lookup F
+GLIBC_2.21 __nss_group_lookup F
+GLIBC_2.21 __nss_hostname_digits_dots F
+GLIBC_2.21 __nss_hosts_lookup F
+GLIBC_2.21 __nss_next F
+GLIBC_2.21 __nss_passwd_lookup F
+GLIBC_2.21 __obstack_printf_chk F
+GLIBC_2.21 __obstack_vprintf_chk F
+GLIBC_2.21 __open F
+GLIBC_2.21 __open64 F
+GLIBC_2.21 __open64_2 F
+GLIBC_2.21 __open_2 F
+GLIBC_2.21 __openat64_2 F
+GLIBC_2.21 __openat_2 F
+GLIBC_2.21 __overflow F
+GLIBC_2.21 __pipe F
+GLIBC_2.21 __poll F
+GLIBC_2.21 __poll_chk F
+GLIBC_2.21 __posix_getopt F
+GLIBC_2.21 __ppoll_chk F
+GLIBC_2.21 __pread64 F
+GLIBC_2.21 __pread64_chk F
+GLIBC_2.21 __pread_chk F
+GLIBC_2.21 __printf_chk F
+GLIBC_2.21 __printf_fp F
+GLIBC_2.21 __profile_frequency F
+GLIBC_2.21 __progname D 0x4
+GLIBC_2.21 __progname_full D 0x4
+GLIBC_2.21 __ptsname_r_chk F
+GLIBC_2.21 __pwrite64 F
+GLIBC_2.21 __rawmemchr F
+GLIBC_2.21 __rcmd_errstr D 0x4
+GLIBC_2.21 __read F
+GLIBC_2.21 __read_chk F
+GLIBC_2.21 __readlink_chk F
+GLIBC_2.21 __readlinkat_chk F
+GLIBC_2.21 __realloc_hook D 0x4
+GLIBC_2.21 __realpath_chk F
+GLIBC_2.21 __recv_chk F
+GLIBC_2.21 __recvfrom_chk F
+GLIBC_2.21 __register_atfork F
+GLIBC_2.21 __res_init F
+GLIBC_2.21 __res_nclose F
+GLIBC_2.21 __res_ninit F
+GLIBC_2.21 __res_randomid F
+GLIBC_2.21 __res_state F
+GLIBC_2.21 __rpc_thread_createerr F
+GLIBC_2.21 __rpc_thread_svc_fdset F
+GLIBC_2.21 __rpc_thread_svc_max_pollfd F
+GLIBC_2.21 __rpc_thread_svc_pollfd F
+GLIBC_2.21 __sbrk F
+GLIBC_2.21 __sched_cpualloc F
+GLIBC_2.21 __sched_cpucount F
+GLIBC_2.21 __sched_cpufree F
+GLIBC_2.21 __sched_get_priority_max F
+GLIBC_2.21 __sched_get_priority_min F
+GLIBC_2.21 __sched_getparam F
+GLIBC_2.21 __sched_getscheduler F
+GLIBC_2.21 __sched_setscheduler F
+GLIBC_2.21 __sched_yield F
+GLIBC_2.21 __select F
+GLIBC_2.21 __setmntent F
+GLIBC_2.21 __setpgid F
+GLIBC_2.21 __sigaction F
+GLIBC_2.21 __sigaddset F
+GLIBC_2.21 __sigdelset F
+GLIBC_2.21 __sigismember F
+GLIBC_2.21 __signbit F
+GLIBC_2.21 __signbitf F
+GLIBC_2.21 __sigpause F
+GLIBC_2.21 __sigsetjmp F
+GLIBC_2.21 __sigsuspend F
+GLIBC_2.21 __snprintf_chk F
+GLIBC_2.21 __sprintf_chk F
+GLIBC_2.21 __stack_chk_fail F
+GLIBC_2.21 __statfs F
+GLIBC_2.21 __stpcpy F
+GLIBC_2.21 __stpcpy_chk F
+GLIBC_2.21 __stpcpy_small F
+GLIBC_2.21 __stpncpy F
+GLIBC_2.21 __stpncpy_chk F
+GLIBC_2.21 __strcasecmp F
+GLIBC_2.21 __strcasecmp_l F
+GLIBC_2.21 __strcasestr F
+GLIBC_2.21 __strcat_chk F
+GLIBC_2.21 __strcoll_l F
+GLIBC_2.21 __strcpy_chk F
+GLIBC_2.21 __strcpy_small F
+GLIBC_2.21 __strcspn_c1 F
+GLIBC_2.21 __strcspn_c2 F
+GLIBC_2.21 __strcspn_c3 F
+GLIBC_2.21 __strdup F
+GLIBC_2.21 __strerror_r F
+GLIBC_2.21 __strfmon_l F
+GLIBC_2.21 __strftime_l F
+GLIBC_2.21 __strncasecmp_l F
+GLIBC_2.21 __strncat_chk F
+GLIBC_2.21 __strncpy_chk F
+GLIBC_2.21 __strndup F
+GLIBC_2.21 __strpbrk_c2 F
+GLIBC_2.21 __strpbrk_c3 F
+GLIBC_2.21 __strsep_1c F
+GLIBC_2.21 __strsep_2c F
+GLIBC_2.21 __strsep_3c F
+GLIBC_2.21 __strsep_g F
+GLIBC_2.21 __strspn_c1 F
+GLIBC_2.21 __strspn_c2 F
+GLIBC_2.21 __strspn_c3 F
+GLIBC_2.21 __strtod_internal F
+GLIBC_2.21 __strtod_l F
+GLIBC_2.21 __strtof_internal F
+GLIBC_2.21 __strtof_l F
+GLIBC_2.21 __strtok_r F
+GLIBC_2.21 __strtok_r_1c F
+GLIBC_2.21 __strtol_internal F
+GLIBC_2.21 __strtol_l F
+GLIBC_2.21 __strtold_internal F
+GLIBC_2.21 __strtold_l F
+GLIBC_2.21 __strtoll_internal F
+GLIBC_2.21 __strtoll_l F
+GLIBC_2.21 __strtoul_internal F
+GLIBC_2.21 __strtoul_l F
+GLIBC_2.21 __strtoull_internal F
+GLIBC_2.21 __strtoull_l F
+GLIBC_2.21 __strverscmp F
+GLIBC_2.21 __strxfrm_l F
+GLIBC_2.21 __subdf3 F
+GLIBC_2.21 __subsf3 F
+GLIBC_2.21 __swprintf_chk F
+GLIBC_2.21 __sysconf F
+GLIBC_2.21 __syslog_chk F
+GLIBC_2.21 __sysv_signal F
+GLIBC_2.21 __timezone D 0x4
+GLIBC_2.21 __toascii_l F
+GLIBC_2.21 __tolower_l F
+GLIBC_2.21 __toupper_l F
+GLIBC_2.21 __towctrans F
+GLIBC_2.21 __towctrans_l F
+GLIBC_2.21 __towlower_l F
+GLIBC_2.21 __towupper_l F
+GLIBC_2.21 __truncdfsf2 F
+GLIBC_2.21 __ttyname_r_chk F
+GLIBC_2.21 __tzname D 0x8
+GLIBC_2.21 __uflow F
+GLIBC_2.21 __underflow F
+GLIBC_2.21 __unorddf2 F
+GLIBC_2.21 __unordsf2 F
+GLIBC_2.21 __uselocale F
+GLIBC_2.21 __vasprintf_chk F
+GLIBC_2.21 __vdprintf_chk F
+GLIBC_2.21 __vfork F
+GLIBC_2.21 __vfprintf_chk F
+GLIBC_2.21 __vfscanf F
+GLIBC_2.21 __vfwprintf_chk F
+GLIBC_2.21 __vprintf_chk F
+GLIBC_2.21 __vsnprintf F
+GLIBC_2.21 __vsnprintf_chk F
+GLIBC_2.21 __vsprintf_chk F
+GLIBC_2.21 __vsscanf F
+GLIBC_2.21 __vswprintf_chk F
+GLIBC_2.21 __vsyslog_chk F
+GLIBC_2.21 __vwprintf_chk F
+GLIBC_2.21 __wait F
+GLIBC_2.21 __waitpid F
+GLIBC_2.21 __wcpcpy_chk F
+GLIBC_2.21 __wcpncpy_chk F
+GLIBC_2.21 __wcrtomb_chk F
+GLIBC_2.21 __wcscasecmp_l F
+GLIBC_2.21 __wcscat_chk F
+GLIBC_2.21 __wcscoll_l F
+GLIBC_2.21 __wcscpy_chk F
+GLIBC_2.21 __wcsftime_l F
+GLIBC_2.21 __wcsncasecmp_l F
+GLIBC_2.21 __wcsncat_chk F
+GLIBC_2.21 __wcsncpy_chk F
+GLIBC_2.21 __wcsnrtombs_chk F
+GLIBC_2.21 __wcsrtombs_chk F
+GLIBC_2.21 __wcstod_internal F
+GLIBC_2.21 __wcstod_l F
+GLIBC_2.21 __wcstof_internal F
+GLIBC_2.21 __wcstof_l F
+GLIBC_2.21 __wcstol_internal F
+GLIBC_2.21 __wcstol_l F
+GLIBC_2.21 __wcstold_internal F
+GLIBC_2.21 __wcstold_l F
+GLIBC_2.21 __wcstoll_internal F
+GLIBC_2.21 __wcstoll_l F
+GLIBC_2.21 __wcstombs_chk F
+GLIBC_2.21 __wcstoul_internal F
+GLIBC_2.21 __wcstoul_l F
+GLIBC_2.21 __wcstoull_internal F
+GLIBC_2.21 __wcstoull_l F
+GLIBC_2.21 __wcsxfrm_l F
+GLIBC_2.21 __wctomb_chk F
+GLIBC_2.21 __wctrans_l F
+GLIBC_2.21 __wctype_l F
+GLIBC_2.21 __wmemcpy_chk F
+GLIBC_2.21 __wmemmove_chk F
+GLIBC_2.21 __wmempcpy_chk F
+GLIBC_2.21 __wmemset_chk F
+GLIBC_2.21 __woverflow F
+GLIBC_2.21 __wprintf_chk F
+GLIBC_2.21 __write F
+GLIBC_2.21 __wuflow F
+GLIBC_2.21 __wunderflow F
+GLIBC_2.21 __xmknod F
+GLIBC_2.21 __xmknodat F
+GLIBC_2.21 __xpg_basename F
+GLIBC_2.21 __xpg_sigpause F
+GLIBC_2.21 __xpg_strerror_r F
+GLIBC_2.21 __xstat F
+GLIBC_2.21 __xstat64 F
+GLIBC_2.21 _authenticate F
+GLIBC_2.21 _dl_mcount_wrapper F
+GLIBC_2.21 _dl_mcount_wrapper_check F
+GLIBC_2.21 _environ D 0x4
+GLIBC_2.21 _exit F
+GLIBC_2.21 _flush_cache F
+GLIBC_2.21 _flushlbf F
+GLIBC_2.21 _libc_intl_domainname D 0x5
+GLIBC_2.21 _longjmp F
+GLIBC_2.21 _mcleanup F
+GLIBC_2.21 _mcount F
+GLIBC_2.21 _nl_default_dirname D 0x12
+GLIBC_2.21 _nl_domain_bindings D 0x4
+GLIBC_2.21 _nl_msg_cat_cntr D 0x4
+GLIBC_2.21 _null_auth D 0xc
+GLIBC_2.21 _obstack_allocated_p F
+GLIBC_2.21 _obstack_begin F
+GLIBC_2.21 _obstack_begin_1 F
+GLIBC_2.21 _obstack_free F
+GLIBC_2.21 _obstack_memory_used F
+GLIBC_2.21 _obstack_newchunk F
+GLIBC_2.21 _res D 0x200
+GLIBC_2.21 _res_hconf D 0x30
+GLIBC_2.21 _rpc_dtablesize F
+GLIBC_2.21 _seterr_reply F
+GLIBC_2.21 _setjmp F
+GLIBC_2.21 _sys_errlist D 0x21c
+GLIBC_2.21 _sys_nerr D 0x4
+GLIBC_2.21 _sys_siglist D 0x104
+GLIBC_2.21 _tolower F
+GLIBC_2.21 _toupper F
+GLIBC_2.21 a64l F
+GLIBC_2.21 abort F
+GLIBC_2.21 abs F
+GLIBC_2.21 accept F
+GLIBC_2.21 accept4 F
+GLIBC_2.21 access F
+GLIBC_2.21 acct F
+GLIBC_2.21 addmntent F
+GLIBC_2.21 addseverity F
+GLIBC_2.21 adjtime F
+GLIBC_2.21 adjtimex F
+GLIBC_2.21 advance F
+GLIBC_2.21 alarm F
+GLIBC_2.21 aligned_alloc F
+GLIBC_2.21 alphasort F
+GLIBC_2.21 alphasort64 F
+GLIBC_2.21 argp_err_exit_status D 0x4
+GLIBC_2.21 argp_error F
+GLIBC_2.21 argp_failure F
+GLIBC_2.21 argp_help F
+GLIBC_2.21 argp_parse F
+GLIBC_2.21 argp_program_bug_address D 0x4
+GLIBC_2.21 argp_program_version D 0x4
+GLIBC_2.21 argp_program_version_hook D 0x4
+GLIBC_2.21 argp_state_help F
+GLIBC_2.21 argp_usage F
+GLIBC_2.21 argz_add F
+GLIBC_2.21 argz_add_sep F
+GLIBC_2.21 argz_append F
+GLIBC_2.21 argz_count F
+GLIBC_2.21 argz_create F
+GLIBC_2.21 argz_create_sep F
+GLIBC_2.21 argz_delete F
+GLIBC_2.21 argz_extract F
+GLIBC_2.21 argz_insert F
+GLIBC_2.21 argz_next F
+GLIBC_2.21 argz_replace F
+GLIBC_2.21 argz_stringify F
+GLIBC_2.21 asctime F
+GLIBC_2.21 asctime_r F
+GLIBC_2.21 asprintf F
+GLIBC_2.21 atof F
+GLIBC_2.21 atoi F
+GLIBC_2.21 atol F
+GLIBC_2.21 atoll F
+GLIBC_2.21 authdes_create F
+GLIBC_2.21 authdes_getucred F
+GLIBC_2.21 authdes_pk_create F
+GLIBC_2.21 authnone_create F
+GLIBC_2.21 authunix_create F
+GLIBC_2.21 authunix_create_default F
+GLIBC_2.21 backtrace F
+GLIBC_2.21 backtrace_symbols F
+GLIBC_2.21 backtrace_symbols_fd F
+GLIBC_2.21 basename F
+GLIBC_2.21 bcmp F
+GLIBC_2.21 bcopy F
+GLIBC_2.21 bdflush F
+GLIBC_2.21 bind F
+GLIBC_2.21 bind_textdomain_codeset F
+GLIBC_2.21 bindresvport F
+GLIBC_2.21 bindtextdomain F
+GLIBC_2.21 brk F
+GLIBC_2.21 bsd_signal F
+GLIBC_2.21 bsearch F
+GLIBC_2.21 btowc F
+GLIBC_2.21 bzero F
+GLIBC_2.21 c16rtomb F
+GLIBC_2.21 c32rtomb F
+GLIBC_2.21 cacheflush F
+GLIBC_2.21 calloc F
+GLIBC_2.21 callrpc F
+GLIBC_2.21 canonicalize_file_name F
+GLIBC_2.21 capget F
+GLIBC_2.21 capset F
+GLIBC_2.21 catclose F
+GLIBC_2.21 catgets F
+GLIBC_2.21 catopen F
+GLIBC_2.21 cbc_crypt F
+GLIBC_2.21 cfgetispeed F
+GLIBC_2.21 cfgetospeed F
+GLIBC_2.21 cfmakeraw F
+GLIBC_2.21 cfree F
+GLIBC_2.21 cfsetispeed F
+GLIBC_2.21 cfsetospeed F
+GLIBC_2.21 cfsetspeed F
+GLIBC_2.21 chdir F
+GLIBC_2.21 chflags F
+GLIBC_2.21 chmod F
+GLIBC_2.21 chown F
+GLIBC_2.21 chroot F
+GLIBC_2.21 clearenv F
+GLIBC_2.21 clearerr F
+GLIBC_2.21 clearerr_unlocked F
+GLIBC_2.21 clnt_broadcast F
+GLIBC_2.21 clnt_create F
+GLIBC_2.21 clnt_pcreateerror F
+GLIBC_2.21 clnt_perrno F
+GLIBC_2.21 clnt_perror F
+GLIBC_2.21 clnt_spcreateerror F
+GLIBC_2.21 clnt_sperrno F
+GLIBC_2.21 clnt_sperror F
+GLIBC_2.21 clntraw_create F
+GLIBC_2.21 clnttcp_create F
+GLIBC_2.21 clntudp_bufcreate F
+GLIBC_2.21 clntudp_create F
+GLIBC_2.21 clntunix_create F
+GLIBC_2.21 clock F
+GLIBC_2.21 clock_adjtime F
+GLIBC_2.21 clock_getcpuclockid F
+GLIBC_2.21 clock_getres F
+GLIBC_2.21 clock_gettime F
+GLIBC_2.21 clock_nanosleep F
+GLIBC_2.21 clock_settime F
+GLIBC_2.21 clone F
+GLIBC_2.21 close F
+GLIBC_2.21 closedir F
+GLIBC_2.21 closelog F
+GLIBC_2.21 confstr F
+GLIBC_2.21 connect F
+GLIBC_2.21 copysign F
+GLIBC_2.21 copysignf F
+GLIBC_2.21 copysignl F
+GLIBC_2.21 creat F
+GLIBC_2.21 creat64 F
+GLIBC_2.21 create_module F
+GLIBC_2.21 ctermid F
+GLIBC_2.21 ctime F
+GLIBC_2.21 ctime_r F
+GLIBC_2.21 cuserid F
+GLIBC_2.21 daemon F
+GLIBC_2.21 daylight D 0x4
+GLIBC_2.21 dcgettext F
+GLIBC_2.21 dcngettext F
+GLIBC_2.21 delete_module F
+GLIBC_2.21 des_setparity F
+GLIBC_2.21 dgettext F
+GLIBC_2.21 difftime F
+GLIBC_2.21 dirfd F
+GLIBC_2.21 dirname F
+GLIBC_2.21 div F
+GLIBC_2.21 dl_iterate_phdr F
+GLIBC_2.21 dngettext F
+GLIBC_2.21 dprintf F
+GLIBC_2.21 drand48 F
+GLIBC_2.21 drand48_r F
+GLIBC_2.21 dup F
+GLIBC_2.21 dup2 F
+GLIBC_2.21 dup3 F
+GLIBC_2.21 duplocale F
+GLIBC_2.21 dysize F
+GLIBC_2.21 eaccess F
+GLIBC_2.21 ecb_crypt F
+GLIBC_2.21 ecvt F
+GLIBC_2.21 ecvt_r F
+GLIBC_2.21 endaliasent F
+GLIBC_2.21 endfsent F
+GLIBC_2.21 endgrent F
+GLIBC_2.21 endhostent F
+GLIBC_2.21 endmntent F
+GLIBC_2.21 endnetent F
+GLIBC_2.21 endnetgrent F
+GLIBC_2.21 endprotoent F
+GLIBC_2.21 endpwent F
+GLIBC_2.21 endrpcent F
+GLIBC_2.21 endservent F
+GLIBC_2.21 endsgent F
+GLIBC_2.21 endspent F
+GLIBC_2.21 endttyent F
+GLIBC_2.21 endusershell F
+GLIBC_2.21 endutent F
+GLIBC_2.21 endutxent F
+GLIBC_2.21 environ D 0x4
+GLIBC_2.21 envz_add F
+GLIBC_2.21 envz_entry F
+GLIBC_2.21 envz_get F
+GLIBC_2.21 envz_merge F
+GLIBC_2.21 envz_remove F
+GLIBC_2.21 envz_strip F
+GLIBC_2.21 epoll_create F
+GLIBC_2.21 epoll_create1 F
+GLIBC_2.21 epoll_ctl F
+GLIBC_2.21 epoll_pwait F
+GLIBC_2.21 epoll_wait F
+GLIBC_2.21 erand48 F
+GLIBC_2.21 erand48_r F
+GLIBC_2.21 err F
+GLIBC_2.21 error F
+GLIBC_2.21 error_at_line F
+GLIBC_2.21 error_message_count D 0x4
+GLIBC_2.21 error_one_per_line D 0x4
+GLIBC_2.21 error_print_progname D 0x4
+GLIBC_2.21 errx F
+GLIBC_2.21 ether_aton F
+GLIBC_2.21 ether_aton_r F
+GLIBC_2.21 ether_hostton F
+GLIBC_2.21 ether_line F
+GLIBC_2.21 ether_ntoa F
+GLIBC_2.21 ether_ntoa_r F
+GLIBC_2.21 ether_ntohost F
+GLIBC_2.21 euidaccess F
+GLIBC_2.21 eventfd F
+GLIBC_2.21 eventfd_read F
+GLIBC_2.21 eventfd_write F
+GLIBC_2.21 execl F
+GLIBC_2.21 execle F
+GLIBC_2.21 execlp F
+GLIBC_2.21 execv F
+GLIBC_2.21 execve F
+GLIBC_2.21 execvp F
+GLIBC_2.21 execvpe F
+GLIBC_2.21 exit F
+GLIBC_2.21 faccessat F
+GLIBC_2.21 fallocate F
+GLIBC_2.21 fallocate64 F
+GLIBC_2.21 fanotify_init F
+GLIBC_2.21 fanotify_mark F
+GLIBC_2.21 fattach F
+GLIBC_2.21 fchdir F
+GLIBC_2.21 fchflags F
+GLIBC_2.21 fchmod F
+GLIBC_2.21 fchmodat F
+GLIBC_2.21 fchown F
+GLIBC_2.21 fchownat F
+GLIBC_2.21 fclose F
+GLIBC_2.21 fcloseall F
+GLIBC_2.21 fcntl F
+GLIBC_2.21 fcvt F
+GLIBC_2.21 fcvt_r F
+GLIBC_2.21 fdatasync F
+GLIBC_2.21 fdetach F
+GLIBC_2.21 fdopen F
+GLIBC_2.21 fdopendir F
+GLIBC_2.21 feof F
+GLIBC_2.21 feof_unlocked F
+GLIBC_2.21 ferror F
+GLIBC_2.21 ferror_unlocked F
+GLIBC_2.21 fexecve F
+GLIBC_2.21 fflush F
+GLIBC_2.21 fflush_unlocked F
+GLIBC_2.21 ffs F
+GLIBC_2.21 ffsl F
+GLIBC_2.21 ffsll F
+GLIBC_2.21 fgetc F
+GLIBC_2.21 fgetc_unlocked F
+GLIBC_2.21 fgetgrent F
+GLIBC_2.21 fgetgrent_r F
+GLIBC_2.21 fgetpos F
+GLIBC_2.21 fgetpos64 F
+GLIBC_2.21 fgetpwent F
+GLIBC_2.21 fgetpwent_r F
+GLIBC_2.21 fgets F
+GLIBC_2.21 fgets_unlocked F
+GLIBC_2.21 fgetsgent F
+GLIBC_2.21 fgetsgent_r F
+GLIBC_2.21 fgetspent F
+GLIBC_2.21 fgetspent_r F
+GLIBC_2.21 fgetwc F
+GLIBC_2.21 fgetwc_unlocked F
+GLIBC_2.21 fgetws F
+GLIBC_2.21 fgetws_unlocked F
+GLIBC_2.21 fgetxattr F
+GLIBC_2.21 fileno F
+GLIBC_2.21 fileno_unlocked F
+GLIBC_2.21 finite F
+GLIBC_2.21 finitef F
+GLIBC_2.21 finitel F
+GLIBC_2.21 flistxattr F
+GLIBC_2.21 flock F
+GLIBC_2.21 flockfile F
+GLIBC_2.21 fmemopen F
+GLIBC_2.21 fmtmsg F
+GLIBC_2.21 fnmatch F
+GLIBC_2.21 fopen F
+GLIBC_2.21 fopen64 F
+GLIBC_2.21 fopencookie F
+GLIBC_2.21 fork F
+GLIBC_2.21 fpathconf F
+GLIBC_2.21 fprintf F
+GLIBC_2.21 fputc F
+GLIBC_2.21 fputc_unlocked F
+GLIBC_2.21 fputs F
+GLIBC_2.21 fputs_unlocked F
+GLIBC_2.21 fputwc F
+GLIBC_2.21 fputwc_unlocked F
+GLIBC_2.21 fputws F
+GLIBC_2.21 fputws_unlocked F
+GLIBC_2.21 fread F
+GLIBC_2.21 fread_unlocked F
+GLIBC_2.21 free F
+GLIBC_2.21 freeaddrinfo F
+GLIBC_2.21 freeifaddrs F
+GLIBC_2.21 freelocale F
+GLIBC_2.21 fremovexattr F
+GLIBC_2.21 freopen F
+GLIBC_2.21 freopen64 F
+GLIBC_2.21 frexp F
+GLIBC_2.21 frexpf F
+GLIBC_2.21 frexpl F
+GLIBC_2.21 fscanf F
+GLIBC_2.21 fseek F
+GLIBC_2.21 fseeko F
+GLIBC_2.21 fseeko64 F
+GLIBC_2.21 fsetpos F
+GLIBC_2.21 fsetpos64 F
+GLIBC_2.21 fsetxattr F
+GLIBC_2.21 fstatfs F
+GLIBC_2.21 fstatfs64 F
+GLIBC_2.21 fstatvfs F
+GLIBC_2.21 fstatvfs64 F
+GLIBC_2.21 fsync F
+GLIBC_2.21 ftell F
+GLIBC_2.21 ftello F
+GLIBC_2.21 ftello64 F
+GLIBC_2.21 ftime F
+GLIBC_2.21 ftok F
+GLIBC_2.21 ftruncate F
+GLIBC_2.21 ftruncate64 F
+GLIBC_2.21 ftrylockfile F
+GLIBC_2.21 fts_children F
+GLIBC_2.21 fts_close F
+GLIBC_2.21 fts_open F
+GLIBC_2.21 fts_read F
+GLIBC_2.21 fts_set F
+GLIBC_2.21 ftw F
+GLIBC_2.21 ftw64 F
+GLIBC_2.21 funlockfile F
+GLIBC_2.21 futimens F
+GLIBC_2.21 futimes F
+GLIBC_2.21 futimesat F
+GLIBC_2.21 fwide F
+GLIBC_2.21 fwprintf F
+GLIBC_2.21 fwrite F
+GLIBC_2.21 fwrite_unlocked F
+GLIBC_2.21 fwscanf F
+GLIBC_2.21 gai_strerror F
+GLIBC_2.21 gcvt F
+GLIBC_2.21 get_avphys_pages F
+GLIBC_2.21 get_current_dir_name F
+GLIBC_2.21 get_kernel_syms F
+GLIBC_2.21 get_myaddress F
+GLIBC_2.21 get_nprocs F
+GLIBC_2.21 get_nprocs_conf F
+GLIBC_2.21 get_phys_pages F
+GLIBC_2.21 getaddrinfo F
+GLIBC_2.21 getaliasbyname F
+GLIBC_2.21 getaliasbyname_r F
+GLIBC_2.21 getaliasent F
+GLIBC_2.21 getaliasent_r F
+GLIBC_2.21 getauxval F
+GLIBC_2.21 getc F
+GLIBC_2.21 getc_unlocked F
+GLIBC_2.21 getchar F
+GLIBC_2.21 getchar_unlocked F
+GLIBC_2.21 getcontext F
+GLIBC_2.21 getcwd F
+GLIBC_2.21 getdate F
+GLIBC_2.21 getdate_err D 0x4
+GLIBC_2.21 getdate_r F
+GLIBC_2.21 getdelim F
+GLIBC_2.21 getdirentries F
+GLIBC_2.21 getdirentries64 F
+GLIBC_2.21 getdomainname F
+GLIBC_2.21 getdtablesize F
+GLIBC_2.21 getegid F
+GLIBC_2.21 getenv F
+GLIBC_2.21 geteuid F
+GLIBC_2.21 getfsent F
+GLIBC_2.21 getfsfile F
+GLIBC_2.21 getfsspec F
+GLIBC_2.21 getgid F
+GLIBC_2.21 getgrent F
+GLIBC_2.21 getgrent_r F
+GLIBC_2.21 getgrgid F
+GLIBC_2.21 getgrgid_r F
+GLIBC_2.21 getgrnam F
+GLIBC_2.21 getgrnam_r F
+GLIBC_2.21 getgrouplist F
+GLIBC_2.21 getgroups F
+GLIBC_2.21 gethostbyaddr F
+GLIBC_2.21 gethostbyaddr_r F
+GLIBC_2.21 gethostbyname F
+GLIBC_2.21 gethostbyname2 F
+GLIBC_2.21 gethostbyname2_r F
+GLIBC_2.21 gethostbyname_r F
+GLIBC_2.21 gethostent F
+GLIBC_2.21 gethostent_r F
+GLIBC_2.21 gethostid F
+GLIBC_2.21 gethostname F
+GLIBC_2.21 getifaddrs F
+GLIBC_2.21 getipv4sourcefilter F
+GLIBC_2.21 getitimer F
+GLIBC_2.21 getline F
+GLIBC_2.21 getloadavg F
+GLIBC_2.21 getlogin F
+GLIBC_2.21 getlogin_r F
+GLIBC_2.21 getmntent F
+GLIBC_2.21 getmntent_r F
+GLIBC_2.21 getmsg F
+GLIBC_2.21 getnameinfo F
+GLIBC_2.21 getnetbyaddr F
+GLIBC_2.21 getnetbyaddr_r F
+GLIBC_2.21 getnetbyname F
+GLIBC_2.21 getnetbyname_r F
+GLIBC_2.21 getnetent F
+GLIBC_2.21 getnetent_r F
+GLIBC_2.21 getnetgrent F
+GLIBC_2.21 getnetgrent_r F
+GLIBC_2.21 getnetname F
+GLIBC_2.21 getopt F
+GLIBC_2.21 getopt_long F
+GLIBC_2.21 getopt_long_only F
+GLIBC_2.21 getpagesize F
+GLIBC_2.21 getpass F
+GLIBC_2.21 getpeername F
+GLIBC_2.21 getpgid F
+GLIBC_2.21 getpgrp F
+GLIBC_2.21 getpid F
+GLIBC_2.21 getpmsg F
+GLIBC_2.21 getppid F
+GLIBC_2.21 getpriority F
+GLIBC_2.21 getprotobyname F
+GLIBC_2.21 getprotobyname_r F
+GLIBC_2.21 getprotobynumber F
+GLIBC_2.21 getprotobynumber_r F
+GLIBC_2.21 getprotoent F
+GLIBC_2.21 getprotoent_r F
+GLIBC_2.21 getpt F
+GLIBC_2.21 getpublickey F
+GLIBC_2.21 getpw F
+GLIBC_2.21 getpwent F
+GLIBC_2.21 getpwent_r F
+GLIBC_2.21 getpwnam F
+GLIBC_2.21 getpwnam_r F
+GLIBC_2.21 getpwuid F
+GLIBC_2.21 getpwuid_r F
+GLIBC_2.21 getresgid F
+GLIBC_2.21 getresuid F
+GLIBC_2.21 getrlimit F
+GLIBC_2.21 getrlimit64 F
+GLIBC_2.21 getrpcbyname F
+GLIBC_2.21 getrpcbyname_r F
+GLIBC_2.21 getrpcbynumber F
+GLIBC_2.21 getrpcbynumber_r F
+GLIBC_2.21 getrpcent F
+GLIBC_2.21 getrpcent_r F
+GLIBC_2.21 getrpcport F
+GLIBC_2.21 getrusage F
+GLIBC_2.21 gets F
+GLIBC_2.21 getsecretkey F
+GLIBC_2.21 getservbyname F
+GLIBC_2.21 getservbyname_r F
+GLIBC_2.21 getservbyport F
+GLIBC_2.21 getservbyport_r F
+GLIBC_2.21 getservent F
+GLIBC_2.21 getservent_r F
+GLIBC_2.21 getsgent F
+GLIBC_2.21 getsgent_r F
+GLIBC_2.21 getsgnam F
+GLIBC_2.21 getsgnam_r F
+GLIBC_2.21 getsid F
+GLIBC_2.21 getsockname F
+GLIBC_2.21 getsockopt F
+GLIBC_2.21 getsourcefilter F
+GLIBC_2.21 getspent F
+GLIBC_2.21 getspent_r F
+GLIBC_2.21 getspnam F
+GLIBC_2.21 getspnam_r F
+GLIBC_2.21 getsubopt F
+GLIBC_2.21 gettext F
+GLIBC_2.21 gettimeofday F
+GLIBC_2.21 getttyent F
+GLIBC_2.21 getttynam F
+GLIBC_2.21 getuid F
+GLIBC_2.21 getusershell F
+GLIBC_2.21 getutent F
+GLIBC_2.21 getutent_r F
+GLIBC_2.21 getutid F
+GLIBC_2.21 getutid_r F
+GLIBC_2.21 getutline F
+GLIBC_2.21 getutline_r F
+GLIBC_2.21 getutmp F
+GLIBC_2.21 getutmpx F
+GLIBC_2.21 getutxent F
+GLIBC_2.21 getutxid F
+GLIBC_2.21 getutxline F
+GLIBC_2.21 getw F
+GLIBC_2.21 getwc F
+GLIBC_2.21 getwc_unlocked F
+GLIBC_2.21 getwchar F
+GLIBC_2.21 getwchar_unlocked F
+GLIBC_2.21 getwd F
+GLIBC_2.21 getxattr F
+GLIBC_2.21 glob F
+GLIBC_2.21 glob64 F
+GLIBC_2.21 glob_pattern_p F
+GLIBC_2.21 globfree F
+GLIBC_2.21 globfree64 F
+GLIBC_2.21 gmtime F
+GLIBC_2.21 gmtime_r F
+GLIBC_2.21 gnu_dev_major F
+GLIBC_2.21 gnu_dev_makedev F
+GLIBC_2.21 gnu_dev_minor F
+GLIBC_2.21 gnu_get_libc_release F
+GLIBC_2.21 gnu_get_libc_version F
+GLIBC_2.21 grantpt F
+GLIBC_2.21 group_member F
+GLIBC_2.21 gsignal F
+GLIBC_2.21 gtty F
+GLIBC_2.21 h_errlist D 0x14
+GLIBC_2.21 h_nerr D 0x4
+GLIBC_2.21 hasmntopt F
+GLIBC_2.21 hcreate F
+GLIBC_2.21 hcreate_r F
+GLIBC_2.21 hdestroy F
+GLIBC_2.21 hdestroy_r F
+GLIBC_2.21 herror F
+GLIBC_2.21 host2netname F
+GLIBC_2.21 hsearch F
+GLIBC_2.21 hsearch_r F
+GLIBC_2.21 hstrerror F
+GLIBC_2.21 htonl F
+GLIBC_2.21 htons F
+GLIBC_2.21 iconv F
+GLIBC_2.21 iconv_close F
+GLIBC_2.21 iconv_open F
+GLIBC_2.21 if_freenameindex F
+GLIBC_2.21 if_indextoname F
+GLIBC_2.21 if_nameindex F
+GLIBC_2.21 if_nametoindex F
+GLIBC_2.21 imaxabs F
+GLIBC_2.21 imaxdiv F
+GLIBC_2.21 in6addr_any D 0x10
+GLIBC_2.21 in6addr_loopback D 0x10
+GLIBC_2.21 index F
+GLIBC_2.21 inet6_opt_append F
+GLIBC_2.21 inet6_opt_find F
+GLIBC_2.21 inet6_opt_finish F
+GLIBC_2.21 inet6_opt_get_val F
+GLIBC_2.21 inet6_opt_init F
+GLIBC_2.21 inet6_opt_next F
+GLIBC_2.21 inet6_opt_set_val F
+GLIBC_2.21 inet6_option_alloc F
+GLIBC_2.21 inet6_option_append F
+GLIBC_2.21 inet6_option_find F
+GLIBC_2.21 inet6_option_init F
+GLIBC_2.21 inet6_option_next F
+GLIBC_2.21 inet6_option_space F
+GLIBC_2.21 inet6_rth_add F
+GLIBC_2.21 inet6_rth_getaddr F
+GLIBC_2.21 inet6_rth_init F
+GLIBC_2.21 inet6_rth_reverse F
+GLIBC_2.21 inet6_rth_segments F
+GLIBC_2.21 inet6_rth_space F
+GLIBC_2.21 inet_addr F
+GLIBC_2.21 inet_aton F
+GLIBC_2.21 inet_lnaof F
+GLIBC_2.21 inet_makeaddr F
+GLIBC_2.21 inet_netof F
+GLIBC_2.21 inet_network F
+GLIBC_2.21 inet_nsap_addr F
+GLIBC_2.21 inet_nsap_ntoa F
+GLIBC_2.21 inet_ntoa F
+GLIBC_2.21 inet_ntop F
+GLIBC_2.21 inet_pton F
+GLIBC_2.21 init_module F
+GLIBC_2.21 initgroups F
+GLIBC_2.21 initstate F
+GLIBC_2.21 initstate_r F
+GLIBC_2.21 innetgr F
+GLIBC_2.21 inotify_add_watch F
+GLIBC_2.21 inotify_init F
+GLIBC_2.21 inotify_init1 F
+GLIBC_2.21 inotify_rm_watch F
+GLIBC_2.21 insque F
+GLIBC_2.21 ioctl F
+GLIBC_2.21 iruserok F
+GLIBC_2.21 iruserok_af F
+GLIBC_2.21 isalnum F
+GLIBC_2.21 isalnum_l F
+GLIBC_2.21 isalpha F
+GLIBC_2.21 isalpha_l F
+GLIBC_2.21 isascii F
+GLIBC_2.21 isastream F
+GLIBC_2.21 isatty F
+GLIBC_2.21 isblank F
+GLIBC_2.21 isblank_l F
+GLIBC_2.21 iscntrl F
+GLIBC_2.21 iscntrl_l F
+GLIBC_2.21 isctype F
+GLIBC_2.21 isdigit F
+GLIBC_2.21 isdigit_l F
+GLIBC_2.21 isfdtype F
+GLIBC_2.21 isgraph F
+GLIBC_2.21 isgraph_l F
+GLIBC_2.21 isinf F
+GLIBC_2.21 isinff F
+GLIBC_2.21 isinfl F
+GLIBC_2.21 islower F
+GLIBC_2.21 islower_l F
+GLIBC_2.21 isnan F
+GLIBC_2.21 isnanf F
+GLIBC_2.21 isnanl F
+GLIBC_2.21 isprint F
+GLIBC_2.21 isprint_l F
+GLIBC_2.21 ispunct F
+GLIBC_2.21 ispunct_l F
+GLIBC_2.21 isspace F
+GLIBC_2.21 isspace_l F
+GLIBC_2.21 isupper F
+GLIBC_2.21 isupper_l F
+GLIBC_2.21 iswalnum F
+GLIBC_2.21 iswalnum_l F
+GLIBC_2.21 iswalpha F
+GLIBC_2.21 iswalpha_l F
+GLIBC_2.21 iswblank F
+GLIBC_2.21 iswblank_l F
+GLIBC_2.21 iswcntrl F
+GLIBC_2.21 iswcntrl_l F
+GLIBC_2.21 iswctype F
+GLIBC_2.21 iswctype_l F
+GLIBC_2.21 iswdigit F
+GLIBC_2.21 iswdigit_l F
+GLIBC_2.21 iswgraph F
+GLIBC_2.21 iswgraph_l F
+GLIBC_2.21 iswlower F
+GLIBC_2.21 iswlower_l F
+GLIBC_2.21 iswprint F
+GLIBC_2.21 iswprint_l F
+GLIBC_2.21 iswpunct F
+GLIBC_2.21 iswpunct_l F
+GLIBC_2.21 iswspace F
+GLIBC_2.21 iswspace_l F
+GLIBC_2.21 iswupper F
+GLIBC_2.21 iswupper_l F
+GLIBC_2.21 iswxdigit F
+GLIBC_2.21 iswxdigit_l F
+GLIBC_2.21 isxdigit F
+GLIBC_2.21 isxdigit_l F
+GLIBC_2.21 jrand48 F
+GLIBC_2.21 jrand48_r F
+GLIBC_2.21 key_decryptsession F
+GLIBC_2.21 key_decryptsession_pk F
+GLIBC_2.21 key_encryptsession F
+GLIBC_2.21 key_encryptsession_pk F
+GLIBC_2.21 key_gendes F
+GLIBC_2.21 key_get_conv F
+GLIBC_2.21 key_secretkey_is_set F
+GLIBC_2.21 key_setnet F
+GLIBC_2.21 key_setsecret F
+GLIBC_2.21 kill F
+GLIBC_2.21 killpg F
+GLIBC_2.21 klogctl F
+GLIBC_2.21 l64a F
+GLIBC_2.21 labs F
+GLIBC_2.21 lchmod F
+GLIBC_2.21 lchown F
+GLIBC_2.21 lckpwdf F
+GLIBC_2.21 lcong48 F
+GLIBC_2.21 lcong48_r F
+GLIBC_2.21 ldexp F
+GLIBC_2.21 ldexpf F
+GLIBC_2.21 ldexpl F
+GLIBC_2.21 ldiv F
+GLIBC_2.21 lfind F
+GLIBC_2.21 lgetxattr F
+GLIBC_2.21 link F
+GLIBC_2.21 linkat F
+GLIBC_2.21 listen F
+GLIBC_2.21 listxattr F
+GLIBC_2.21 llabs F
+GLIBC_2.21 lldiv F
+GLIBC_2.21 llistxattr F
+GLIBC_2.21 llseek F
+GLIBC_2.21 loc1 D 0x4
+GLIBC_2.21 loc2 D 0x4
+GLIBC_2.21 localeconv F
+GLIBC_2.21 localtime F
+GLIBC_2.21 localtime_r F
+GLIBC_2.21 lockf F
+GLIBC_2.21 lockf64 F
+GLIBC_2.21 locs D 0x4
+GLIBC_2.21 longjmp F
+GLIBC_2.21 lrand48 F
+GLIBC_2.21 lrand48_r F
+GLIBC_2.21 lremovexattr F
+GLIBC_2.21 lsearch F
+GLIBC_2.21 lseek F
+GLIBC_2.21 lseek64 F
+GLIBC_2.21 lsetxattr F
+GLIBC_2.21 lutimes F
+GLIBC_2.21 madvise F
+GLIBC_2.21 makecontext F
+GLIBC_2.21 mallinfo F
+GLIBC_2.21 malloc F
+GLIBC_2.21 malloc_get_state F
+GLIBC_2.21 malloc_info F
+GLIBC_2.21 malloc_set_state F
+GLIBC_2.21 malloc_stats F
+GLIBC_2.21 malloc_trim F
+GLIBC_2.21 malloc_usable_size F
+GLIBC_2.21 mallopt F
+GLIBC_2.21 mallwatch D 0x4
+GLIBC_2.21 mblen F
+GLIBC_2.21 mbrlen F
+GLIBC_2.21 mbrtoc16 F
+GLIBC_2.21 mbrtoc32 F
+GLIBC_2.21 mbrtowc F
+GLIBC_2.21 mbsinit F
+GLIBC_2.21 mbsnrtowcs F
+GLIBC_2.21 mbsrtowcs F
+GLIBC_2.21 mbstowcs F
+GLIBC_2.21 mbtowc F
+GLIBC_2.21 mcheck F
+GLIBC_2.21 mcheck_check_all F
+GLIBC_2.21 mcheck_pedantic F
+GLIBC_2.21 memalign F
+GLIBC_2.21 memccpy F
+GLIBC_2.21 memchr F
+GLIBC_2.21 memcmp F
+GLIBC_2.21 memcpy F
+GLIBC_2.21 memfrob F
+GLIBC_2.21 memmem F
+GLIBC_2.21 memmove F
+GLIBC_2.21 mempcpy F
+GLIBC_2.21 memrchr F
+GLIBC_2.21 memset F
+GLIBC_2.21 mincore F
+GLIBC_2.21 mkdir F
+GLIBC_2.21 mkdirat F
+GLIBC_2.21 mkdtemp F
+GLIBC_2.21 mkfifo F
+GLIBC_2.21 mkfifoat F
+GLIBC_2.21 mkostemp F
+GLIBC_2.21 mkostemp64 F
+GLIBC_2.21 mkostemps F
+GLIBC_2.21 mkostemps64 F
+GLIBC_2.21 mkstemp F
+GLIBC_2.21 mkstemp64 F
+GLIBC_2.21 mkstemps F
+GLIBC_2.21 mkstemps64 F
+GLIBC_2.21 mktemp F
+GLIBC_2.21 mktime F
+GLIBC_2.21 mlock F
+GLIBC_2.21 mlockall F
+GLIBC_2.21 mmap F
+GLIBC_2.21 mmap64 F
+GLIBC_2.21 modf F
+GLIBC_2.21 modff F
+GLIBC_2.21 modfl F
+GLIBC_2.21 moncontrol F
+GLIBC_2.21 monstartup F
+GLIBC_2.21 mount F
+GLIBC_2.21 mprobe F
+GLIBC_2.21 mprotect F
+GLIBC_2.21 mrand48 F
+GLIBC_2.21 mrand48_r F
+GLIBC_2.21 mremap F
+GLIBC_2.21 msgctl F
+GLIBC_2.21 msgget F
+GLIBC_2.21 msgrcv F
+GLIBC_2.21 msgsnd F
+GLIBC_2.21 msync F
+GLIBC_2.21 mtrace F
+GLIBC_2.21 munlock F
+GLIBC_2.21 munlockall F
+GLIBC_2.21 munmap F
+GLIBC_2.21 muntrace F
+GLIBC_2.21 name_to_handle_at F
+GLIBC_2.21 nanosleep F
+GLIBC_2.21 netname2host F
+GLIBC_2.21 netname2user F
+GLIBC_2.21 newlocale F
+GLIBC_2.21 nfsservctl F
+GLIBC_2.21 nftw F
+GLIBC_2.21 nftw64 F
+GLIBC_2.21 ngettext F
+GLIBC_2.21 nice F
+GLIBC_2.21 nl_langinfo F
+GLIBC_2.21 nl_langinfo_l F
+GLIBC_2.21 nrand48 F
+GLIBC_2.21 nrand48_r F
+GLIBC_2.21 ntohl F
+GLIBC_2.21 ntohs F
+GLIBC_2.21 ntp_adjtime F
+GLIBC_2.21 ntp_gettime F
+GLIBC_2.21 ntp_gettimex F
+GLIBC_2.21 obstack_alloc_failed_handler D 0x4
+GLIBC_2.21 obstack_exit_failure D 0x4
+GLIBC_2.21 obstack_free F
+GLIBC_2.21 obstack_printf F
+GLIBC_2.21 obstack_vprintf F
+GLIBC_2.21 on_exit F
+GLIBC_2.21 open F
+GLIBC_2.21 open64 F
+GLIBC_2.21 open_by_handle_at F
+GLIBC_2.21 open_memstream F
+GLIBC_2.21 open_wmemstream F
+GLIBC_2.21 openat F
+GLIBC_2.21 openat64 F
+GLIBC_2.21 opendir F
+GLIBC_2.21 openlog F
+GLIBC_2.21 optarg D 0x4
+GLIBC_2.21 opterr D 0x4
+GLIBC_2.21 optind D 0x4
+GLIBC_2.21 optopt D 0x4
+GLIBC_2.21 parse_printf_format F
+GLIBC_2.21 passwd2des F
+GLIBC_2.21 pathconf F
+GLIBC_2.21 pause F
+GLIBC_2.21 pclose F
+GLIBC_2.21 perror F
+GLIBC_2.21 personality F
+GLIBC_2.21 pipe F
+GLIBC_2.21 pipe2 F
+GLIBC_2.21 pivot_root F
+GLIBC_2.21 pmap_getmaps F
+GLIBC_2.21 pmap_getport F
+GLIBC_2.21 pmap_rmtcall F
+GLIBC_2.21 pmap_set F
+GLIBC_2.21 pmap_unset F
+GLIBC_2.21 poll F
+GLIBC_2.21 popen F
+GLIBC_2.21 posix_fadvise F
+GLIBC_2.21 posix_fadvise64 F
+GLIBC_2.21 posix_fallocate F
+GLIBC_2.21 posix_fallocate64 F
+GLIBC_2.21 posix_madvise F
+GLIBC_2.21 posix_memalign F
+GLIBC_2.21 posix_openpt F
+GLIBC_2.21 posix_spawn F
+GLIBC_2.21 posix_spawn_file_actions_addclose F
+GLIBC_2.21 posix_spawn_file_actions_adddup2 F
+GLIBC_2.21 posix_spawn_file_actions_addopen F
+GLIBC_2.21 posix_spawn_file_actions_destroy F
+GLIBC_2.21 posix_spawn_file_actions_init F
+GLIBC_2.21 posix_spawnattr_destroy F
+GLIBC_2.21 posix_spawnattr_getflags F
+GLIBC_2.21 posix_spawnattr_getpgroup F
+GLIBC_2.21 posix_spawnattr_getschedparam F
+GLIBC_2.21 posix_spawnattr_getschedpolicy F
+GLIBC_2.21 posix_spawnattr_getsigdefault F
+GLIBC_2.21 posix_spawnattr_getsigmask F
+GLIBC_2.21 posix_spawnattr_init F
+GLIBC_2.21 posix_spawnattr_setflags F
+GLIBC_2.21 posix_spawnattr_setpgroup F
+GLIBC_2.21 posix_spawnattr_setschedparam F
+GLIBC_2.21 posix_spawnattr_setschedpolicy F
+GLIBC_2.21 posix_spawnattr_setsigdefault F
+GLIBC_2.21 posix_spawnattr_setsigmask F
+GLIBC_2.21 posix_spawnp F
+GLIBC_2.21 ppoll F
+GLIBC_2.21 prctl F
+GLIBC_2.21 pread F
+GLIBC_2.21 pread64 F
+GLIBC_2.21 preadv F
+GLIBC_2.21 preadv64 F
+GLIBC_2.21 printf F
+GLIBC_2.21 printf_size F
+GLIBC_2.21 printf_size_info F
+GLIBC_2.21 prlimit F
+GLIBC_2.21 prlimit64 F
+GLIBC_2.21 process_vm_readv F
+GLIBC_2.21 process_vm_writev F
+GLIBC_2.21 profil F
+GLIBC_2.21 program_invocation_name D 0x4
+GLIBC_2.21 program_invocation_short_name D 0x4
+GLIBC_2.21 pselect F
+GLIBC_2.21 psiginfo F
+GLIBC_2.21 psignal F
+GLIBC_2.21 pthread_attr_destroy F
+GLIBC_2.21 pthread_attr_getdetachstate F
+GLIBC_2.21 pthread_attr_getinheritsched F
+GLIBC_2.21 pthread_attr_getschedparam F
+GLIBC_2.21 pthread_attr_getschedpolicy F
+GLIBC_2.21 pthread_attr_getscope F
+GLIBC_2.21 pthread_attr_init F
+GLIBC_2.21 pthread_attr_setdetachstate F
+GLIBC_2.21 pthread_attr_setinheritsched F
+GLIBC_2.21 pthread_attr_setschedparam F
+GLIBC_2.21 pthread_attr_setschedpolicy F
+GLIBC_2.21 pthread_attr_setscope F
+GLIBC_2.21 pthread_cond_broadcast F
+GLIBC_2.21 pthread_cond_destroy F
+GLIBC_2.21 pthread_cond_init F
+GLIBC_2.21 pthread_cond_signal F
+GLIBC_2.21 pthread_cond_timedwait F
+GLIBC_2.21 pthread_cond_wait F
+GLIBC_2.21 pthread_condattr_destroy F
+GLIBC_2.21 pthread_condattr_init F
+GLIBC_2.21 pthread_equal F
+GLIBC_2.21 pthread_exit F
+GLIBC_2.21 pthread_getschedparam F
+GLIBC_2.21 pthread_mutex_destroy F
+GLIBC_2.21 pthread_mutex_init F
+GLIBC_2.21 pthread_mutex_lock F
+GLIBC_2.21 pthread_mutex_unlock F
+GLIBC_2.21 pthread_self F
+GLIBC_2.21 pthread_setcancelstate F
+GLIBC_2.21 pthread_setcanceltype F
+GLIBC_2.21 pthread_setschedparam F
+GLIBC_2.21 ptrace F
+GLIBC_2.21 ptsname F
+GLIBC_2.21 ptsname_r F
+GLIBC_2.21 putc F
+GLIBC_2.21 putc_unlocked F
+GLIBC_2.21 putchar F
+GLIBC_2.21 putchar_unlocked F
+GLIBC_2.21 putenv F
+GLIBC_2.21 putgrent F
+GLIBC_2.21 putmsg F
+GLIBC_2.21 putpmsg F
+GLIBC_2.21 putpwent F
+GLIBC_2.21 puts F
+GLIBC_2.21 putsgent F
+GLIBC_2.21 putspent F
+GLIBC_2.21 pututline F
+GLIBC_2.21 pututxline F
+GLIBC_2.21 putw F
+GLIBC_2.21 putwc F
+GLIBC_2.21 putwc_unlocked F
+GLIBC_2.21 putwchar F
+GLIBC_2.21 putwchar_unlocked F
+GLIBC_2.21 pvalloc F
+GLIBC_2.21 pwrite F
+GLIBC_2.21 pwrite64 F
+GLIBC_2.21 pwritev F
+GLIBC_2.21 pwritev64 F
+GLIBC_2.21 qecvt F
+GLIBC_2.21 qecvt_r F
+GLIBC_2.21 qfcvt F
+GLIBC_2.21 qfcvt_r F
+GLIBC_2.21 qgcvt F
+GLIBC_2.21 qsort F
+GLIBC_2.21 qsort_r F
+GLIBC_2.21 query_module F
+GLIBC_2.21 quick_exit F
+GLIBC_2.21 quotactl F
+GLIBC_2.21 raise F
+GLIBC_2.21 rand F
+GLIBC_2.21 rand_r F
+GLIBC_2.21 random F
+GLIBC_2.21 random_r F
+GLIBC_2.21 rawmemchr F
+GLIBC_2.21 rcmd F
+GLIBC_2.21 rcmd_af F
+GLIBC_2.21 re_comp F
+GLIBC_2.21 re_compile_fastmap F
+GLIBC_2.21 re_compile_pattern F
+GLIBC_2.21 re_exec F
+GLIBC_2.21 re_match F
+GLIBC_2.21 re_match_2 F
+GLIBC_2.21 re_search F
+GLIBC_2.21 re_search_2 F
+GLIBC_2.21 re_set_registers F
+GLIBC_2.21 re_set_syntax F
+GLIBC_2.21 re_syntax_options D 0x4
+GLIBC_2.21 read F
+GLIBC_2.21 readahead F
+GLIBC_2.21 readdir F
+GLIBC_2.21 readdir64 F
+GLIBC_2.21 readdir64_r F
+GLIBC_2.21 readdir_r F
+GLIBC_2.21 readlink F
+GLIBC_2.21 readlinkat F
+GLIBC_2.21 readv F
+GLIBC_2.21 realloc F
+GLIBC_2.21 realpath F
+GLIBC_2.21 reboot F
+GLIBC_2.21 recv F
+GLIBC_2.21 recvfrom F
+GLIBC_2.21 recvmmsg F
+GLIBC_2.21 recvmsg F
+GLIBC_2.21 regcomp F
+GLIBC_2.21 regerror F
+GLIBC_2.21 regexec F
+GLIBC_2.21 regfree F
+GLIBC_2.21 register_printf_function F
+GLIBC_2.21 register_printf_modifier F
+GLIBC_2.21 register_printf_specifier F
+GLIBC_2.21 register_printf_type F
+GLIBC_2.21 registerrpc F
+GLIBC_2.21 remap_file_pages F
+GLIBC_2.21 remove F
+GLIBC_2.21 removexattr F
+GLIBC_2.21 remque F
+GLIBC_2.21 rename F
+GLIBC_2.21 renameat F
+GLIBC_2.21 revoke F
+GLIBC_2.21 rewind F
+GLIBC_2.21 rewinddir F
+GLIBC_2.21 rexec F
+GLIBC_2.21 rexec_af F
+GLIBC_2.21 rexecoptions D 0x4
+GLIBC_2.21 rindex F
+GLIBC_2.21 rmdir F
+GLIBC_2.21 rpc_createerr D 0x10
+GLIBC_2.21 rpmatch F
+GLIBC_2.21 rresvport F
+GLIBC_2.21 rresvport_af F
+GLIBC_2.21 rtime F
+GLIBC_2.21 ruserok F
+GLIBC_2.21 ruserok_af F
+GLIBC_2.21 ruserpass F
+GLIBC_2.21 sbrk F
+GLIBC_2.21 scalbn F
+GLIBC_2.21 scalbnf F
+GLIBC_2.21 scalbnl F
+GLIBC_2.21 scandir F
+GLIBC_2.21 scandir64 F
+GLIBC_2.21 scandirat F
+GLIBC_2.21 scandirat64 F
+GLIBC_2.21 scanf F
+GLIBC_2.21 sched_get_priority_max F
+GLIBC_2.21 sched_get_priority_min F
+GLIBC_2.21 sched_getaffinity F
+GLIBC_2.21 sched_getcpu F
+GLIBC_2.21 sched_getparam F
+GLIBC_2.21 sched_getscheduler F
+GLIBC_2.21 sched_rr_get_interval F
+GLIBC_2.21 sched_setaffinity F
+GLIBC_2.21 sched_setparam F
+GLIBC_2.21 sched_setscheduler F
+GLIBC_2.21 sched_yield F
+GLIBC_2.21 secure_getenv F
+GLIBC_2.21 seed48 F
+GLIBC_2.21 seed48_r F
+GLIBC_2.21 seekdir F
+GLIBC_2.21 select F
+GLIBC_2.21 semctl F
+GLIBC_2.21 semget F
+GLIBC_2.21 semop F
+GLIBC_2.21 semtimedop F
+GLIBC_2.21 send F
+GLIBC_2.21 sendfile F
+GLIBC_2.21 sendfile64 F
+GLIBC_2.21 sendmmsg F
+GLIBC_2.21 sendmsg F
+GLIBC_2.21 sendto F
+GLIBC_2.21 setaliasent F
+GLIBC_2.21 setbuf F
+GLIBC_2.21 setbuffer F
+GLIBC_2.21 setcontext F
+GLIBC_2.21 setdomainname F
+GLIBC_2.21 setegid F
+GLIBC_2.21 setenv F
+GLIBC_2.21 seteuid F
+GLIBC_2.21 setfsent F
+GLIBC_2.21 setfsgid F
+GLIBC_2.21 setfsuid F
+GLIBC_2.21 setgid F
+GLIBC_2.21 setgrent F
+GLIBC_2.21 setgroups F
+GLIBC_2.21 sethostent F
+GLIBC_2.21 sethostid F
+GLIBC_2.21 sethostname F
+GLIBC_2.21 setipv4sourcefilter F
+GLIBC_2.21 setitimer F
+GLIBC_2.21 setjmp F
+GLIBC_2.21 setlinebuf F
+GLIBC_2.21 setlocale F
+GLIBC_2.21 setlogin F
+GLIBC_2.21 setlogmask F
+GLIBC_2.21 setmntent F
+GLIBC_2.21 setnetent F
+GLIBC_2.21 setnetgrent F
+GLIBC_2.21 setns F
+GLIBC_2.21 setpgid F
+GLIBC_2.21 setpgrp F
+GLIBC_2.21 setpriority F
+GLIBC_2.21 setprotoent F
+GLIBC_2.21 setpwent F
+GLIBC_2.21 setregid F
+GLIBC_2.21 setresgid F
+GLIBC_2.21 setresuid F
+GLIBC_2.21 setreuid F
+GLIBC_2.21 setrlimit F
+GLIBC_2.21 setrlimit64 F
+GLIBC_2.21 setrpcent F
+GLIBC_2.21 setservent F
+GLIBC_2.21 setsgent F
+GLIBC_2.21 setsid F
+GLIBC_2.21 setsockopt F
+GLIBC_2.21 setsourcefilter F
+GLIBC_2.21 setspent F
+GLIBC_2.21 setstate F
+GLIBC_2.21 setstate_r F
+GLIBC_2.21 settimeofday F
+GLIBC_2.21 setttyent F
+GLIBC_2.21 setuid F
+GLIBC_2.21 setusershell F
+GLIBC_2.21 setutent F
+GLIBC_2.21 setutxent F
+GLIBC_2.21 setvbuf F
+GLIBC_2.21 setxattr F
+GLIBC_2.21 sgetsgent F
+GLIBC_2.21 sgetsgent_r F
+GLIBC_2.21 sgetspent F
+GLIBC_2.21 sgetspent_r F
+GLIBC_2.21 shmat F
+GLIBC_2.21 shmctl F
+GLIBC_2.21 shmdt F
+GLIBC_2.21 shmget F
+GLIBC_2.21 shutdown F
+GLIBC_2.21 sigaction F
+GLIBC_2.21 sigaddset F
+GLIBC_2.21 sigaltstack F
+GLIBC_2.21 sigandset F
+GLIBC_2.21 sigblock F
+GLIBC_2.21 sigdelset F
+GLIBC_2.21 sigemptyset F
+GLIBC_2.21 sigfillset F
+GLIBC_2.21 siggetmask F
+GLIBC_2.21 sighold F
+GLIBC_2.21 sigignore F
+GLIBC_2.21 siginterrupt F
+GLIBC_2.21 sigisemptyset F
+GLIBC_2.21 sigismember F
+GLIBC_2.21 siglongjmp F
+GLIBC_2.21 signal F
+GLIBC_2.21 signalfd F
+GLIBC_2.21 sigorset F
+GLIBC_2.21 sigpause F
+GLIBC_2.21 sigpending F
+GLIBC_2.21 sigprocmask F
+GLIBC_2.21 sigqueue F
+GLIBC_2.21 sigrelse F
+GLIBC_2.21 sigreturn F
+GLIBC_2.21 sigset F
+GLIBC_2.21 sigsetmask F
+GLIBC_2.21 sigstack F
+GLIBC_2.21 sigsuspend F
+GLIBC_2.21 sigtimedwait F
+GLIBC_2.21 sigwait F
+GLIBC_2.21 sigwaitinfo F
+GLIBC_2.21 sleep F
+GLIBC_2.21 snprintf F
+GLIBC_2.21 sockatmark F
+GLIBC_2.21 socket F
+GLIBC_2.21 socketpair F
+GLIBC_2.21 splice F
+GLIBC_2.21 sprintf F
+GLIBC_2.21 sprofil F
+GLIBC_2.21 srand F
+GLIBC_2.21 srand48 F
+GLIBC_2.21 srand48_r F
+GLIBC_2.21 srandom F
+GLIBC_2.21 srandom_r F
+GLIBC_2.21 sscanf F
+GLIBC_2.21 ssignal F
+GLIBC_2.21 sstk F
+GLIBC_2.21 statfs F
+GLIBC_2.21 statfs64 F
+GLIBC_2.21 statvfs F
+GLIBC_2.21 statvfs64 F
+GLIBC_2.21 stderr D 0x4
+GLIBC_2.21 stdin D 0x4
+GLIBC_2.21 stdout D 0x4
+GLIBC_2.21 step F
+GLIBC_2.21 stime F
+GLIBC_2.21 stpcpy F
+GLIBC_2.21 stpncpy F
+GLIBC_2.21 strcasecmp F
+GLIBC_2.21 strcasecmp_l F
+GLIBC_2.21 strcasestr F
+GLIBC_2.21 strcat F
+GLIBC_2.21 strchr F
+GLIBC_2.21 strchrnul F
+GLIBC_2.21 strcmp F
+GLIBC_2.21 strcoll F
+GLIBC_2.21 strcoll_l F
+GLIBC_2.21 strcpy F
+GLIBC_2.21 strcspn F
+GLIBC_2.21 strdup F
+GLIBC_2.21 strerror F
+GLIBC_2.21 strerror_l F
+GLIBC_2.21 strerror_r F
+GLIBC_2.21 strfmon F
+GLIBC_2.21 strfmon_l F
+GLIBC_2.21 strfry F
+GLIBC_2.21 strftime F
+GLIBC_2.21 strftime_l F
+GLIBC_2.21 strlen F
+GLIBC_2.21 strncasecmp F
+GLIBC_2.21 strncasecmp_l F
+GLIBC_2.21 strncat F
+GLIBC_2.21 strncmp F
+GLIBC_2.21 strncpy F
+GLIBC_2.21 strndup F
+GLIBC_2.21 strnlen F
+GLIBC_2.21 strpbrk F
+GLIBC_2.21 strptime F
+GLIBC_2.21 strptime_l F
+GLIBC_2.21 strrchr F
+GLIBC_2.21 strsep F
+GLIBC_2.21 strsignal F
+GLIBC_2.21 strspn F
+GLIBC_2.21 strstr F
+GLIBC_2.21 strtod F
+GLIBC_2.21 strtod_l F
+GLIBC_2.21 strtof F
+GLIBC_2.21 strtof_l F
+GLIBC_2.21 strtoimax F
+GLIBC_2.21 strtok F
+GLIBC_2.21 strtok_r F
+GLIBC_2.21 strtol F
+GLIBC_2.21 strtol_l F
+GLIBC_2.21 strtold F
+GLIBC_2.21 strtold_l F
+GLIBC_2.21 strtoll F
+GLIBC_2.21 strtoll_l F
+GLIBC_2.21 strtoq F
+GLIBC_2.21 strtoul F
+GLIBC_2.21 strtoul_l F
+GLIBC_2.21 strtoull F
+GLIBC_2.21 strtoull_l F
+GLIBC_2.21 strtoumax F
+GLIBC_2.21 strtouq F
+GLIBC_2.21 strverscmp F
+GLIBC_2.21 strxfrm F
+GLIBC_2.21 strxfrm_l F
+GLIBC_2.21 stty F
+GLIBC_2.21 svc_exit F
+GLIBC_2.21 svc_fdset D 0x80
+GLIBC_2.21 svc_getreq F
+GLIBC_2.21 svc_getreq_common F
+GLIBC_2.21 svc_getreq_poll F
+GLIBC_2.21 svc_getreqset F
+GLIBC_2.21 svc_max_pollfd D 0x4
+GLIBC_2.21 svc_pollfd D 0x4
+GLIBC_2.21 svc_register F
+GLIBC_2.21 svc_run F
+GLIBC_2.21 svc_sendreply F
+GLIBC_2.21 svc_unregister F
+GLIBC_2.21 svcauthdes_stats D 0xc
+GLIBC_2.21 svcerr_auth F
+GLIBC_2.21 svcerr_decode F
+GLIBC_2.21 svcerr_noproc F
+GLIBC_2.21 svcerr_noprog F
+GLIBC_2.21 svcerr_progvers F
+GLIBC_2.21 svcerr_systemerr F
+GLIBC_2.21 svcerr_weakauth F
+GLIBC_2.21 svcfd_create F
+GLIBC_2.21 svcraw_create F
+GLIBC_2.21 svctcp_create F
+GLIBC_2.21 svcudp_bufcreate F
+GLIBC_2.21 svcudp_create F
+GLIBC_2.21 svcudp_enablecache F
+GLIBC_2.21 svcunix_create F
+GLIBC_2.21 svcunixfd_create F
+GLIBC_2.21 swab F
+GLIBC_2.21 swapcontext F
+GLIBC_2.21 swapoff F
+GLIBC_2.21 swapon F
+GLIBC_2.21 swprintf F
+GLIBC_2.21 swscanf F
+GLIBC_2.21 symlink F
+GLIBC_2.21 symlinkat F
+GLIBC_2.21 sync F
+GLIBC_2.21 sync_file_range F
+GLIBC_2.21 syncfs F
+GLIBC_2.21 sys_errlist D 0x21c
+GLIBC_2.21 sys_nerr D 0x4
+GLIBC_2.21 sys_sigabbrev D 0x104
+GLIBC_2.21 sys_siglist D 0x104
+GLIBC_2.21 syscall F
+GLIBC_2.21 sysconf F
+GLIBC_2.21 sysctl F
+GLIBC_2.21 sysinfo F
+GLIBC_2.21 syslog F
+GLIBC_2.21 system F
+GLIBC_2.21 sysv_signal F
+GLIBC_2.21 tcdrain F
+GLIBC_2.21 tcflow F
+GLIBC_2.21 tcflush F
+GLIBC_2.21 tcgetattr F
+GLIBC_2.21 tcgetpgrp F
+GLIBC_2.21 tcgetsid F
+GLIBC_2.21 tcsendbreak F
+GLIBC_2.21 tcsetattr F
+GLIBC_2.21 tcsetpgrp F
+GLIBC_2.21 tdelete F
+GLIBC_2.21 tdestroy F
+GLIBC_2.21 tee F
+GLIBC_2.21 telldir F
+GLIBC_2.21 tempnam F
+GLIBC_2.21 textdomain F
+GLIBC_2.21 tfind F
+GLIBC_2.21 time F
+GLIBC_2.21 timegm F
+GLIBC_2.21 timelocal F
+GLIBC_2.21 timerfd_create F
+GLIBC_2.21 timerfd_gettime F
+GLIBC_2.21 timerfd_settime F
+GLIBC_2.21 times F
+GLIBC_2.21 timespec_get F
+GLIBC_2.21 timezone D 0x4
+GLIBC_2.21 tmpfile F
+GLIBC_2.21 tmpfile64 F
+GLIBC_2.21 tmpnam F
+GLIBC_2.21 tmpnam_r F
+GLIBC_2.21 toascii F
+GLIBC_2.21 tolower F
+GLIBC_2.21 tolower_l F
+GLIBC_2.21 toupper F
+GLIBC_2.21 toupper_l F
+GLIBC_2.21 towctrans F
+GLIBC_2.21 towctrans_l F
+GLIBC_2.21 towlower F
+GLIBC_2.21 towlower_l F
+GLIBC_2.21 towupper F
+GLIBC_2.21 towupper_l F
+GLIBC_2.21 tr_break F
+GLIBC_2.21 truncate F
+GLIBC_2.21 truncate64 F
+GLIBC_2.21 tsearch F
+GLIBC_2.21 ttyname F
+GLIBC_2.21 ttyname_r F
+GLIBC_2.21 ttyslot F
+GLIBC_2.21 twalk F
+GLIBC_2.21 tzname D 0x8
+GLIBC_2.21 tzset F
+GLIBC_2.21 ualarm F
+GLIBC_2.21 ulckpwdf F
+GLIBC_2.21 ulimit F
+GLIBC_2.21 umask F
+GLIBC_2.21 umount F
+GLIBC_2.21 umount2 F
+GLIBC_2.21 uname F
+GLIBC_2.21 ungetc F
+GLIBC_2.21 ungetwc F
+GLIBC_2.21 unlink F
+GLIBC_2.21 unlinkat F
+GLIBC_2.21 unlockpt F
+GLIBC_2.21 unsetenv F
+GLIBC_2.21 unshare F
+GLIBC_2.21 updwtmp F
+GLIBC_2.21 updwtmpx F
+GLIBC_2.21 uselib F
+GLIBC_2.21 uselocale F
+GLIBC_2.21 user2netname F
+GLIBC_2.21 usleep F
+GLIBC_2.21 ustat F
+GLIBC_2.21 utime F
+GLIBC_2.21 utimensat F
+GLIBC_2.21 utimes F
+GLIBC_2.21 utmpname F
+GLIBC_2.21 utmpxname F
+GLIBC_2.21 valloc F
+GLIBC_2.21 vasprintf F
+GLIBC_2.21 vdprintf F
+GLIBC_2.21 verr F
+GLIBC_2.21 verrx F
+GLIBC_2.21 versionsort F
+GLIBC_2.21 versionsort64 F
+GLIBC_2.21 vfork F
+GLIBC_2.21 vfprintf F
+GLIBC_2.21 vfscanf F
+GLIBC_2.21 vfwprintf F
+GLIBC_2.21 vfwscanf F
+GLIBC_2.21 vhangup F
+GLIBC_2.21 vlimit F
+GLIBC_2.21 vmsplice F
+GLIBC_2.21 vprintf F
+GLIBC_2.21 vscanf F
+GLIBC_2.21 vsnprintf F
+GLIBC_2.21 vsprintf F
+GLIBC_2.21 vsscanf F
+GLIBC_2.21 vswprintf F
+GLIBC_2.21 vswscanf F
+GLIBC_2.21 vsyslog F
+GLIBC_2.21 vtimes F
+GLIBC_2.21 vwarn F
+GLIBC_2.21 vwarnx F
+GLIBC_2.21 vwprintf F
+GLIBC_2.21 vwscanf F
+GLIBC_2.21 wait F
+GLIBC_2.21 wait3 F
+GLIBC_2.21 wait4 F
+GLIBC_2.21 waitid F
+GLIBC_2.21 waitpid F
+GLIBC_2.21 warn F
+GLIBC_2.21 warnx F
+GLIBC_2.21 wcpcpy F
+GLIBC_2.21 wcpncpy F
+GLIBC_2.21 wcrtomb F
+GLIBC_2.21 wcscasecmp F
+GLIBC_2.21 wcscasecmp_l F
+GLIBC_2.21 wcscat F
+GLIBC_2.21 wcschr F
+GLIBC_2.21 wcschrnul F
+GLIBC_2.21 wcscmp F
+GLIBC_2.21 wcscoll F
+GLIBC_2.21 wcscoll_l F
+GLIBC_2.21 wcscpy F
+GLIBC_2.21 wcscspn F
+GLIBC_2.21 wcsdup F
+GLIBC_2.21 wcsftime F
+GLIBC_2.21 wcsftime_l F
+GLIBC_2.21 wcslen F
+GLIBC_2.21 wcsncasecmp F
+GLIBC_2.21 wcsncasecmp_l F
+GLIBC_2.21 wcsncat F
+GLIBC_2.21 wcsncmp F
+GLIBC_2.21 wcsncpy F
+GLIBC_2.21 wcsnlen F
+GLIBC_2.21 wcsnrtombs F
+GLIBC_2.21 wcspbrk F
+GLIBC_2.21 wcsrchr F
+GLIBC_2.21 wcsrtombs F
+GLIBC_2.21 wcsspn F
+GLIBC_2.21 wcsstr F
+GLIBC_2.21 wcstod F
+GLIBC_2.21 wcstod_l F
+GLIBC_2.21 wcstof F
+GLIBC_2.21 wcstof_l F
+GLIBC_2.21 wcstoimax F
+GLIBC_2.21 wcstok F
+GLIBC_2.21 wcstol F
+GLIBC_2.21 wcstol_l F
+GLIBC_2.21 wcstold F
+GLIBC_2.21 wcstold_l F
+GLIBC_2.21 wcstoll F
+GLIBC_2.21 wcstoll_l F
+GLIBC_2.21 wcstombs F
+GLIBC_2.21 wcstoq F
+GLIBC_2.21 wcstoul F
+GLIBC_2.21 wcstoul_l F
+GLIBC_2.21 wcstoull F
+GLIBC_2.21 wcstoull_l F
+GLIBC_2.21 wcstoumax F
+GLIBC_2.21 wcstouq F
+GLIBC_2.21 wcswcs F
+GLIBC_2.21 wcswidth F
+GLIBC_2.21 wcsxfrm F
+GLIBC_2.21 wcsxfrm_l F
+GLIBC_2.21 wctob F
+GLIBC_2.21 wctomb F
+GLIBC_2.21 wctrans F
+GLIBC_2.21 wctrans_l F
+GLIBC_2.21 wctype F
+GLIBC_2.21 wctype_l F
+GLIBC_2.21 wcwidth F
+GLIBC_2.21 wmemchr F
+GLIBC_2.21 wmemcmp F
+GLIBC_2.21 wmemcpy F
+GLIBC_2.21 wmemmove F
+GLIBC_2.21 wmempcpy F
+GLIBC_2.21 wmemset F
+GLIBC_2.21 wordexp F
+GLIBC_2.21 wordfree F
+GLIBC_2.21 wprintf F
+GLIBC_2.21 write F
+GLIBC_2.21 writev F
+GLIBC_2.21 wscanf F
+GLIBC_2.21 xdecrypt F
+GLIBC_2.21 xdr_accepted_reply F
+GLIBC_2.21 xdr_array F
+GLIBC_2.21 xdr_authdes_cred F
+GLIBC_2.21 xdr_authdes_verf F
+GLIBC_2.21 xdr_authunix_parms F
+GLIBC_2.21 xdr_bool F
+GLIBC_2.21 xdr_bytes F
+GLIBC_2.21 xdr_callhdr F
+GLIBC_2.21 xdr_callmsg F
+GLIBC_2.21 xdr_char F
+GLIBC_2.21 xdr_cryptkeyarg F
+GLIBC_2.21 xdr_cryptkeyarg2 F
+GLIBC_2.21 xdr_cryptkeyres F
+GLIBC_2.21 xdr_des_block F
+GLIBC_2.21 xdr_double F
+GLIBC_2.21 xdr_enum F
+GLIBC_2.21 xdr_float F
+GLIBC_2.21 xdr_free F
+GLIBC_2.21 xdr_getcredres F
+GLIBC_2.21 xdr_hyper F
+GLIBC_2.21 xdr_int F
+GLIBC_2.21 xdr_int16_t F
+GLIBC_2.21 xdr_int32_t F
+GLIBC_2.21 xdr_int64_t F
+GLIBC_2.21 xdr_int8_t F
+GLIBC_2.21 xdr_key_netstarg F
+GLIBC_2.21 xdr_key_netstres F
+GLIBC_2.21 xdr_keybuf F
+GLIBC_2.21 xdr_keystatus F
+GLIBC_2.21 xdr_long F
+GLIBC_2.21 xdr_longlong_t F
+GLIBC_2.21 xdr_netnamestr F
+GLIBC_2.21 xdr_netobj F
+GLIBC_2.21 xdr_opaque F
+GLIBC_2.21 xdr_opaque_auth F
+GLIBC_2.21 xdr_pmap F
+GLIBC_2.21 xdr_pmaplist F
+GLIBC_2.21 xdr_pointer F
+GLIBC_2.21 xdr_quad_t F
+GLIBC_2.21 xdr_reference F
+GLIBC_2.21 xdr_rejected_reply F
+GLIBC_2.21 xdr_replymsg F
+GLIBC_2.21 xdr_rmtcall_args F
+GLIBC_2.21 xdr_rmtcallres F
+GLIBC_2.21 xdr_short F
+GLIBC_2.21 xdr_sizeof F
+GLIBC_2.21 xdr_string F
+GLIBC_2.21 xdr_u_char F
+GLIBC_2.21 xdr_u_hyper F
+GLIBC_2.21 xdr_u_int F
+GLIBC_2.21 xdr_u_long F
+GLIBC_2.21 xdr_u_longlong_t F
+GLIBC_2.21 xdr_u_quad_t F
+GLIBC_2.21 xdr_u_short F
+GLIBC_2.21 xdr_uint16_t F
+GLIBC_2.21 xdr_uint32_t F
+GLIBC_2.21 xdr_uint64_t F
+GLIBC_2.21 xdr_uint8_t F
+GLIBC_2.21 xdr_union F
+GLIBC_2.21 xdr_unixcred F
+GLIBC_2.21 xdr_vector F
+GLIBC_2.21 xdr_void F
+GLIBC_2.21 xdr_wrapstring F
+GLIBC_2.21 xdrmem_create F
+GLIBC_2.21 xdrrec_create F
+GLIBC_2.21 xdrrec_endofrecord F
+GLIBC_2.21 xdrrec_eof F
+GLIBC_2.21 xdrrec_skiprecord F
+GLIBC_2.21 xdrstdio_create F
+GLIBC_2.21 xencrypt F
+GLIBC_2.21 xprt_register F
+GLIBC_2.21 xprt_unregister F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libcrypt.abilist
new file mode 100644
index 0000000000..dae6b522ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 crypt F
+GLIBC_2.21 crypt_r F
+GLIBC_2.21 encrypt F
+GLIBC_2.21 encrypt_r F
+GLIBC_2.21 fcrypt F
+GLIBC_2.21 setkey F
+GLIBC_2.21 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libdl.abilist
new file mode 100644
index 0000000000..ae62e3f80e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 dladdr F
+GLIBC_2.21 dladdr1 F
+GLIBC_2.21 dlclose F
+GLIBC_2.21 dlerror F
+GLIBC_2.21 dlinfo F
+GLIBC_2.21 dlmopen F
+GLIBC_2.21 dlopen F
+GLIBC_2.21 dlsym F
+GLIBC_2.21 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libm.abilist
new file mode 100644
index 0000000000..c858ed5907
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libm.abilist
@@ -0,0 +1,430 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 _LIB_VERSION D 0x4
+GLIBC_2.21 __acos_finite F
+GLIBC_2.21 __acosf_finite F
+GLIBC_2.21 __acosh_finite F
+GLIBC_2.21 __acoshf_finite F
+GLIBC_2.21 __asin_finite F
+GLIBC_2.21 __asinf_finite F
+GLIBC_2.21 __atan2_finite F
+GLIBC_2.21 __atan2f_finite F
+GLIBC_2.21 __atanh_finite F
+GLIBC_2.21 __atanhf_finite F
+GLIBC_2.21 __clog10 F
+GLIBC_2.21 __clog10f F
+GLIBC_2.21 __clog10l F
+GLIBC_2.21 __cosh_finite F
+GLIBC_2.21 __coshf_finite F
+GLIBC_2.21 __exp10_finite F
+GLIBC_2.21 __exp10f_finite F
+GLIBC_2.21 __exp2_finite F
+GLIBC_2.21 __exp2f_finite F
+GLIBC_2.21 __exp_finite F
+GLIBC_2.21 __expf_finite F
+GLIBC_2.21 __finite F
+GLIBC_2.21 __finitef F
+GLIBC_2.21 __finitel F
+GLIBC_2.21 __fmod_finite F
+GLIBC_2.21 __fmodf_finite F
+GLIBC_2.21 __fpclassify F
+GLIBC_2.21 __fpclassifyf F
+GLIBC_2.21 __gamma_r_finite F
+GLIBC_2.21 __gammaf_r_finite F
+GLIBC_2.21 __hypot_finite F
+GLIBC_2.21 __hypotf_finite F
+GLIBC_2.21 __issignaling F
+GLIBC_2.21 __issignalingf F
+GLIBC_2.21 __j0_finite F
+GLIBC_2.21 __j0f_finite F
+GLIBC_2.21 __j1_finite F
+GLIBC_2.21 __j1f_finite F
+GLIBC_2.21 __jn_finite F
+GLIBC_2.21 __jnf_finite F
+GLIBC_2.21 __lgamma_r_finite F
+GLIBC_2.21 __lgammaf_r_finite F
+GLIBC_2.21 __log10_finite F
+GLIBC_2.21 __log10f_finite F
+GLIBC_2.21 __log2_finite F
+GLIBC_2.21 __log2f_finite F
+GLIBC_2.21 __log_finite F
+GLIBC_2.21 __logf_finite F
+GLIBC_2.21 __pow_finite F
+GLIBC_2.21 __powf_finite F
+GLIBC_2.21 __remainder_finite F
+GLIBC_2.21 __remainderf_finite F
+GLIBC_2.21 __scalb_finite F
+GLIBC_2.21 __scalbf_finite F
+GLIBC_2.21 __signbit F
+GLIBC_2.21 __signbitf F
+GLIBC_2.21 __sinh_finite F
+GLIBC_2.21 __sinhf_finite F
+GLIBC_2.21 __sqrt_finite F
+GLIBC_2.21 __sqrtf_finite F
+GLIBC_2.21 __y0_finite F
+GLIBC_2.21 __y0f_finite F
+GLIBC_2.21 __y1_finite F
+GLIBC_2.21 __y1f_finite F
+GLIBC_2.21 __yn_finite F
+GLIBC_2.21 __ynf_finite F
+GLIBC_2.21 acos F
+GLIBC_2.21 acosf F
+GLIBC_2.21 acosh F
+GLIBC_2.21 acoshf F
+GLIBC_2.21 acoshl F
+GLIBC_2.21 acosl F
+GLIBC_2.21 asin F
+GLIBC_2.21 asinf F
+GLIBC_2.21 asinh F
+GLIBC_2.21 asinhf F
+GLIBC_2.21 asinhl F
+GLIBC_2.21 asinl F
+GLIBC_2.21 atan F
+GLIBC_2.21 atan2 F
+GLIBC_2.21 atan2f F
+GLIBC_2.21 atan2l F
+GLIBC_2.21 atanf F
+GLIBC_2.21 atanh F
+GLIBC_2.21 atanhf F
+GLIBC_2.21 atanhl F
+GLIBC_2.21 atanl F
+GLIBC_2.21 cabs F
+GLIBC_2.21 cabsf F
+GLIBC_2.21 cabsl F
+GLIBC_2.21 cacos F
+GLIBC_2.21 cacosf F
+GLIBC_2.21 cacosh F
+GLIBC_2.21 cacoshf F
+GLIBC_2.21 cacoshl F
+GLIBC_2.21 cacosl F
+GLIBC_2.21 carg F
+GLIBC_2.21 cargf F
+GLIBC_2.21 cargl F
+GLIBC_2.21 casin F
+GLIBC_2.21 casinf F
+GLIBC_2.21 casinh F
+GLIBC_2.21 casinhf F
+GLIBC_2.21 casinhl F
+GLIBC_2.21 casinl F
+GLIBC_2.21 catan F
+GLIBC_2.21 catanf F
+GLIBC_2.21 catanh F
+GLIBC_2.21 catanhf F
+GLIBC_2.21 catanhl F
+GLIBC_2.21 catanl F
+GLIBC_2.21 cbrt F
+GLIBC_2.21 cbrtf F
+GLIBC_2.21 cbrtl F
+GLIBC_2.21 ccos F
+GLIBC_2.21 ccosf F
+GLIBC_2.21 ccosh F
+GLIBC_2.21 ccoshf F
+GLIBC_2.21 ccoshl F
+GLIBC_2.21 ccosl F
+GLIBC_2.21 ceil F
+GLIBC_2.21 ceilf F
+GLIBC_2.21 ceill F
+GLIBC_2.21 cexp F
+GLIBC_2.21 cexpf F
+GLIBC_2.21 cexpl F
+GLIBC_2.21 cimag F
+GLIBC_2.21 cimagf F
+GLIBC_2.21 cimagl F
+GLIBC_2.21 clog F
+GLIBC_2.21 clog10 F
+GLIBC_2.21 clog10f F
+GLIBC_2.21 clog10l F
+GLIBC_2.21 clogf F
+GLIBC_2.21 clogl F
+GLIBC_2.21 conj F
+GLIBC_2.21 conjf F
+GLIBC_2.21 conjl F
+GLIBC_2.21 copysign F
+GLIBC_2.21 copysignf F
+GLIBC_2.21 copysignl F
+GLIBC_2.21 cos F
+GLIBC_2.21 cosf F
+GLIBC_2.21 cosh F
+GLIBC_2.21 coshf F
+GLIBC_2.21 coshl F
+GLIBC_2.21 cosl F
+GLIBC_2.21 cpow F
+GLIBC_2.21 cpowf F
+GLIBC_2.21 cpowl F
+GLIBC_2.21 cproj F
+GLIBC_2.21 cprojf F
+GLIBC_2.21 cprojl F
+GLIBC_2.21 creal F
+GLIBC_2.21 crealf F
+GLIBC_2.21 creall F
+GLIBC_2.21 csin F
+GLIBC_2.21 csinf F
+GLIBC_2.21 csinh F
+GLIBC_2.21 csinhf F
+GLIBC_2.21 csinhl F
+GLIBC_2.21 csinl F
+GLIBC_2.21 csqrt F
+GLIBC_2.21 csqrtf F
+GLIBC_2.21 csqrtl F
+GLIBC_2.21 ctan F
+GLIBC_2.21 ctanf F
+GLIBC_2.21 ctanh F
+GLIBC_2.21 ctanhf F
+GLIBC_2.21 ctanhl F
+GLIBC_2.21 ctanl F
+GLIBC_2.21 drem F
+GLIBC_2.21 dremf F
+GLIBC_2.21 dreml F
+GLIBC_2.21 erf F
+GLIBC_2.21 erfc F
+GLIBC_2.21 erfcf F
+GLIBC_2.21 erfcl F
+GLIBC_2.21 erff F
+GLIBC_2.21 erfl F
+GLIBC_2.21 exp F
+GLIBC_2.21 exp10 F
+GLIBC_2.21 exp10f F
+GLIBC_2.21 exp10l F
+GLIBC_2.21 exp2 F
+GLIBC_2.21 exp2f F
+GLIBC_2.21 exp2l F
+GLIBC_2.21 expf F
+GLIBC_2.21 expl F
+GLIBC_2.21 expm1 F
+GLIBC_2.21 expm1f F
+GLIBC_2.21 expm1l F
+GLIBC_2.21 fabs F
+GLIBC_2.21 fabsf F
+GLIBC_2.21 fabsl F
+GLIBC_2.21 fdim F
+GLIBC_2.21 fdimf F
+GLIBC_2.21 fdiml F
+GLIBC_2.21 feclearexcept F
+GLIBC_2.21 fedisableexcept F
+GLIBC_2.21 feenableexcept F
+GLIBC_2.21 fegetenv F
+GLIBC_2.21 fegetexcept F
+GLIBC_2.21 fegetexceptflag F
+GLIBC_2.21 fegetround F
+GLIBC_2.21 feholdexcept F
+GLIBC_2.21 feraiseexcept F
+GLIBC_2.21 fesetenv F
+GLIBC_2.21 fesetexceptflag F
+GLIBC_2.21 fesetround F
+GLIBC_2.21 fetestexcept F
+GLIBC_2.21 feupdateenv F
+GLIBC_2.21 finite F
+GLIBC_2.21 finitef F
+GLIBC_2.21 finitel F
+GLIBC_2.21 floor F
+GLIBC_2.21 floorf F
+GLIBC_2.21 floorl F
+GLIBC_2.21 fma F
+GLIBC_2.21 fmaf F
+GLIBC_2.21 fmal F
+GLIBC_2.21 fmax F
+GLIBC_2.21 fmaxf F
+GLIBC_2.21 fmaxl F
+GLIBC_2.21 fmin F
+GLIBC_2.21 fminf F
+GLIBC_2.21 fminl F
+GLIBC_2.21 fmod F
+GLIBC_2.21 fmodf F
+GLIBC_2.21 fmodl F
+GLIBC_2.21 frexp F
+GLIBC_2.21 frexpf F
+GLIBC_2.21 frexpl F
+GLIBC_2.21 gamma F
+GLIBC_2.21 gammaf F
+GLIBC_2.21 gammal F
+GLIBC_2.21 hypot F
+GLIBC_2.21 hypotf F
+GLIBC_2.21 hypotl F
+GLIBC_2.21 ilogb F
+GLIBC_2.21 ilogbf F
+GLIBC_2.21 ilogbl F
+GLIBC_2.21 j0 F
+GLIBC_2.21 j0f F
+GLIBC_2.21 j0l F
+GLIBC_2.21 j1 F
+GLIBC_2.21 j1f F
+GLIBC_2.21 j1l F
+GLIBC_2.21 jn F
+GLIBC_2.21 jnf F
+GLIBC_2.21 jnl F
+GLIBC_2.21 ldexp F
+GLIBC_2.21 ldexpf F
+GLIBC_2.21 ldexpl F
+GLIBC_2.21 lgamma F
+GLIBC_2.21 lgamma_r F
+GLIBC_2.21 lgammaf F
+GLIBC_2.21 lgammaf_r F
+GLIBC_2.21 lgammal F
+GLIBC_2.21 lgammal_r F
+GLIBC_2.21 llrint F
+GLIBC_2.21 llrintf F
+GLIBC_2.21 llrintl F
+GLIBC_2.21 llround F
+GLIBC_2.21 llroundf F
+GLIBC_2.21 llroundl F
+GLIBC_2.21 log F
+GLIBC_2.21 log10 F
+GLIBC_2.21 log10f F
+GLIBC_2.21 log10l F
+GLIBC_2.21 log1p F
+GLIBC_2.21 log1pf F
+GLIBC_2.21 log1pl F
+GLIBC_2.21 log2 F
+GLIBC_2.21 log2f F
+GLIBC_2.21 log2l F
+GLIBC_2.21 logb F
+GLIBC_2.21 logbf F
+GLIBC_2.21 logbl F
+GLIBC_2.21 logf F
+GLIBC_2.21 logl F
+GLIBC_2.21 lrint F
+GLIBC_2.21 lrintf F
+GLIBC_2.21 lrintl F
+GLIBC_2.21 lround F
+GLIBC_2.21 lroundf F
+GLIBC_2.21 lroundl F
+GLIBC_2.21 matherr F
+GLIBC_2.21 modf F
+GLIBC_2.21 modff F
+GLIBC_2.21 modfl F
+GLIBC_2.21 nan F
+GLIBC_2.21 nanf F
+GLIBC_2.21 nanl F
+GLIBC_2.21 nearbyint F
+GLIBC_2.21 nearbyintf F
+GLIBC_2.21 nearbyintl F
+GLIBC_2.21 nextafter F
+GLIBC_2.21 nextafterf F
+GLIBC_2.21 nextafterl F
+GLIBC_2.21 nexttoward F
+GLIBC_2.21 nexttowardf F
+GLIBC_2.21 nexttowardl F
+GLIBC_2.21 pow F
+GLIBC_2.21 pow10 F
+GLIBC_2.21 pow10f F
+GLIBC_2.21 pow10l F
+GLIBC_2.21 powf F
+GLIBC_2.21 powl F
+GLIBC_2.21 remainder F
+GLIBC_2.21 remainderf F
+GLIBC_2.21 remainderl F
+GLIBC_2.21 remquo F
+GLIBC_2.21 remquof F
+GLIBC_2.21 remquol F
+GLIBC_2.21 rint F
+GLIBC_2.21 rintf F
+GLIBC_2.21 rintl F
+GLIBC_2.21 round F
+GLIBC_2.21 roundf F
+GLIBC_2.21 roundl F
+GLIBC_2.21 scalb F
+GLIBC_2.21 scalbf F
+GLIBC_2.21 scalbl F
+GLIBC_2.21 scalbln F
+GLIBC_2.21 scalblnf F
+GLIBC_2.21 scalblnl F
+GLIBC_2.21 scalbn F
+GLIBC_2.21 scalbnf F
+GLIBC_2.21 scalbnl F
+GLIBC_2.21 signgam D 0x4
+GLIBC_2.21 significand F
+GLIBC_2.21 significandf F
+GLIBC_2.21 significandl F
+GLIBC_2.21 sin F
+GLIBC_2.21 sincos F
+GLIBC_2.21 sincosf F
+GLIBC_2.21 sincosl F
+GLIBC_2.21 sinf F
+GLIBC_2.21 sinh F
+GLIBC_2.21 sinhf F
+GLIBC_2.21 sinhl F
+GLIBC_2.21 sinl F
+GLIBC_2.21 sqrt F
+GLIBC_2.21 sqrtf F
+GLIBC_2.21 sqrtl F
+GLIBC_2.21 tan F
+GLIBC_2.21 tanf F
+GLIBC_2.21 tanh F
+GLIBC_2.21 tanhf F
+GLIBC_2.21 tanhl F
+GLIBC_2.21 tanl F
+GLIBC_2.21 tgamma F
+GLIBC_2.21 tgammaf F
+GLIBC_2.21 tgammal F
+GLIBC_2.21 trunc F
+GLIBC_2.21 truncf F
+GLIBC_2.21 truncl F
+GLIBC_2.21 y0 F
+GLIBC_2.21 y0f F
+GLIBC_2.21 y0l F
+GLIBC_2.21 y1 F
+GLIBC_2.21 y1f F
+GLIBC_2.21 y1l F
+GLIBC_2.21 yn F
+GLIBC_2.21 ynf F
+GLIBC_2.21 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 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libnsl.abilist
new file mode 100644
index 0000000000..40856aba99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 __free_fdresult F
+GLIBC_2.21 __nis_default_access F
+GLIBC_2.21 __nis_default_group F
+GLIBC_2.21 __nis_default_owner F
+GLIBC_2.21 __nis_default_ttl F
+GLIBC_2.21 __nis_finddirectory F
+GLIBC_2.21 __nis_hash F
+GLIBC_2.21 __nisbind_connect F
+GLIBC_2.21 __nisbind_create F
+GLIBC_2.21 __nisbind_destroy F
+GLIBC_2.21 __nisbind_next F
+GLIBC_2.21 __yp_check F
+GLIBC_2.21 nis_add F
+GLIBC_2.21 nis_add_entry F
+GLIBC_2.21 nis_addmember F
+GLIBC_2.21 nis_checkpoint F
+GLIBC_2.21 nis_clone_directory F
+GLIBC_2.21 nis_clone_object F
+GLIBC_2.21 nis_clone_result F
+GLIBC_2.21 nis_creategroup F
+GLIBC_2.21 nis_destroy_object F
+GLIBC_2.21 nis_destroygroup F
+GLIBC_2.21 nis_dir_cmp F
+GLIBC_2.21 nis_domain_of F
+GLIBC_2.21 nis_domain_of_r F
+GLIBC_2.21 nis_first_entry F
+GLIBC_2.21 nis_free_directory F
+GLIBC_2.21 nis_free_object F
+GLIBC_2.21 nis_free_request F
+GLIBC_2.21 nis_freenames F
+GLIBC_2.21 nis_freeresult F
+GLIBC_2.21 nis_freeservlist F
+GLIBC_2.21 nis_freetags F
+GLIBC_2.21 nis_getnames F
+GLIBC_2.21 nis_getservlist F
+GLIBC_2.21 nis_ismember F
+GLIBC_2.21 nis_leaf_of F
+GLIBC_2.21 nis_leaf_of_r F
+GLIBC_2.21 nis_lerror F
+GLIBC_2.21 nis_list F
+GLIBC_2.21 nis_local_directory F
+GLIBC_2.21 nis_local_group F
+GLIBC_2.21 nis_local_host F
+GLIBC_2.21 nis_local_principal F
+GLIBC_2.21 nis_lookup F
+GLIBC_2.21 nis_mkdir F
+GLIBC_2.21 nis_modify F
+GLIBC_2.21 nis_modify_entry F
+GLIBC_2.21 nis_name_of F
+GLIBC_2.21 nis_name_of_r F
+GLIBC_2.21 nis_next_entry F
+GLIBC_2.21 nis_perror F
+GLIBC_2.21 nis_ping F
+GLIBC_2.21 nis_print_directory F
+GLIBC_2.21 nis_print_entry F
+GLIBC_2.21 nis_print_group F
+GLIBC_2.21 nis_print_group_entry F
+GLIBC_2.21 nis_print_link F
+GLIBC_2.21 nis_print_object F
+GLIBC_2.21 nis_print_result F
+GLIBC_2.21 nis_print_rights F
+GLIBC_2.21 nis_print_table F
+GLIBC_2.21 nis_read_obj F
+GLIBC_2.21 nis_remove F
+GLIBC_2.21 nis_remove_entry F
+GLIBC_2.21 nis_removemember F
+GLIBC_2.21 nis_rmdir F
+GLIBC_2.21 nis_servstate F
+GLIBC_2.21 nis_sperrno F
+GLIBC_2.21 nis_sperror F
+GLIBC_2.21 nis_sperror_r F
+GLIBC_2.21 nis_stats F
+GLIBC_2.21 nis_verifygroup F
+GLIBC_2.21 nis_write_obj F
+GLIBC_2.21 readColdStartFile F
+GLIBC_2.21 writeColdStartFile F
+GLIBC_2.21 xdr_cback_data F
+GLIBC_2.21 xdr_domainname F
+GLIBC_2.21 xdr_keydat F
+GLIBC_2.21 xdr_mapname F
+GLIBC_2.21 xdr_obj_p F
+GLIBC_2.21 xdr_peername F
+GLIBC_2.21 xdr_valdat F
+GLIBC_2.21 xdr_yp_buf F
+GLIBC_2.21 xdr_ypall F
+GLIBC_2.21 xdr_ypbind_binding F
+GLIBC_2.21 xdr_ypbind_resp F
+GLIBC_2.21 xdr_ypbind_resptype F
+GLIBC_2.21 xdr_ypbind_setdom F
+GLIBC_2.21 xdr_ypdelete_args F
+GLIBC_2.21 xdr_ypmap_parms F
+GLIBC_2.21 xdr_ypmaplist F
+GLIBC_2.21 xdr_yppush_status F
+GLIBC_2.21 xdr_yppushresp_xfr F
+GLIBC_2.21 xdr_ypreq_key F
+GLIBC_2.21 xdr_ypreq_nokey F
+GLIBC_2.21 xdr_ypreq_xfr F
+GLIBC_2.21 xdr_ypresp_all F
+GLIBC_2.21 xdr_ypresp_key_val F
+GLIBC_2.21 xdr_ypresp_maplist F
+GLIBC_2.21 xdr_ypresp_master F
+GLIBC_2.21 xdr_ypresp_order F
+GLIBC_2.21 xdr_ypresp_val F
+GLIBC_2.21 xdr_ypresp_xfr F
+GLIBC_2.21 xdr_ypstat F
+GLIBC_2.21 xdr_ypupdate_args F
+GLIBC_2.21 xdr_ypxfrstat F
+GLIBC_2.21 yp_all F
+GLIBC_2.21 yp_bind F
+GLIBC_2.21 yp_first F
+GLIBC_2.21 yp_get_default_domain F
+GLIBC_2.21 yp_maplist F
+GLIBC_2.21 yp_master F
+GLIBC_2.21 yp_match F
+GLIBC_2.21 yp_next F
+GLIBC_2.21 yp_order F
+GLIBC_2.21 yp_unbind F
+GLIBC_2.21 yp_update F
+GLIBC_2.21 ypbinderr_string F
+GLIBC_2.21 yperr_string F
+GLIBC_2.21 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
new file mode 100644
index 0000000000..a10bbdec87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -0,0 +1,223 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 _IO_flockfile F
+GLIBC_2.21 _IO_ftrylockfile F
+GLIBC_2.21 _IO_funlockfile F
+GLIBC_2.21 __close F
+GLIBC_2.21 __connect F
+GLIBC_2.21 __errno_location F
+GLIBC_2.21 __fcntl F
+GLIBC_2.21 __fork F
+GLIBC_2.21 __h_errno_location F
+GLIBC_2.21 __libc_allocate_rtsig F
+GLIBC_2.21 __libc_current_sigrtmax F
+GLIBC_2.21 __libc_current_sigrtmin F
+GLIBC_2.21 __lseek F
+GLIBC_2.21 __nanosleep F
+GLIBC_2.21 __open F
+GLIBC_2.21 __open64 F
+GLIBC_2.21 __pread64 F
+GLIBC_2.21 __pthread_cleanup_routine F
+GLIBC_2.21 __pthread_getspecific F
+GLIBC_2.21 __pthread_key_create F
+GLIBC_2.21 __pthread_mutex_destroy F
+GLIBC_2.21 __pthread_mutex_init F
+GLIBC_2.21 __pthread_mutex_lock F
+GLIBC_2.21 __pthread_mutex_trylock F
+GLIBC_2.21 __pthread_mutex_unlock F
+GLIBC_2.21 __pthread_mutexattr_destroy F
+GLIBC_2.21 __pthread_mutexattr_init F
+GLIBC_2.21 __pthread_mutexattr_settype F
+GLIBC_2.21 __pthread_once F
+GLIBC_2.21 __pthread_register_cancel F
+GLIBC_2.21 __pthread_register_cancel_defer F
+GLIBC_2.21 __pthread_rwlock_destroy F
+GLIBC_2.21 __pthread_rwlock_init F
+GLIBC_2.21 __pthread_rwlock_rdlock F
+GLIBC_2.21 __pthread_rwlock_tryrdlock F
+GLIBC_2.21 __pthread_rwlock_trywrlock F
+GLIBC_2.21 __pthread_rwlock_unlock F
+GLIBC_2.21 __pthread_rwlock_wrlock F
+GLIBC_2.21 __pthread_setspecific F
+GLIBC_2.21 __pthread_unregister_cancel F
+GLIBC_2.21 __pthread_unregister_cancel_restore F
+GLIBC_2.21 __pthread_unwind_next F
+GLIBC_2.21 __pwrite64 F
+GLIBC_2.21 __read F
+GLIBC_2.21 __res_state F
+GLIBC_2.21 __send F
+GLIBC_2.21 __sigaction F
+GLIBC_2.21 __wait F
+GLIBC_2.21 __write F
+GLIBC_2.21 _pthread_cleanup_pop F
+GLIBC_2.21 _pthread_cleanup_pop_restore F
+GLIBC_2.21 _pthread_cleanup_push F
+GLIBC_2.21 _pthread_cleanup_push_defer F
+GLIBC_2.21 accept F
+GLIBC_2.21 close F
+GLIBC_2.21 connect F
+GLIBC_2.21 fcntl F
+GLIBC_2.21 flockfile F
+GLIBC_2.21 fork F
+GLIBC_2.21 fsync F
+GLIBC_2.21 ftrylockfile F
+GLIBC_2.21 funlockfile F
+GLIBC_2.21 longjmp F
+GLIBC_2.21 lseek F
+GLIBC_2.21 lseek64 F
+GLIBC_2.21 msync F
+GLIBC_2.21 nanosleep F
+GLIBC_2.21 open F
+GLIBC_2.21 open64 F
+GLIBC_2.21 pause F
+GLIBC_2.21 pread F
+GLIBC_2.21 pread64 F
+GLIBC_2.21 pthread_attr_destroy F
+GLIBC_2.21 pthread_attr_getaffinity_np F
+GLIBC_2.21 pthread_attr_getdetachstate F
+GLIBC_2.21 pthread_attr_getguardsize F
+GLIBC_2.21 pthread_attr_getinheritsched F
+GLIBC_2.21 pthread_attr_getschedparam F
+GLIBC_2.21 pthread_attr_getschedpolicy F
+GLIBC_2.21 pthread_attr_getscope F
+GLIBC_2.21 pthread_attr_getstack F
+GLIBC_2.21 pthread_attr_getstackaddr F
+GLIBC_2.21 pthread_attr_getstacksize F
+GLIBC_2.21 pthread_attr_init F
+GLIBC_2.21 pthread_attr_setaffinity_np F
+GLIBC_2.21 pthread_attr_setdetachstate F
+GLIBC_2.21 pthread_attr_setguardsize F
+GLIBC_2.21 pthread_attr_setinheritsched F
+GLIBC_2.21 pthread_attr_setschedparam F
+GLIBC_2.21 pthread_attr_setschedpolicy F
+GLIBC_2.21 pthread_attr_setscope F
+GLIBC_2.21 pthread_attr_setstack F
+GLIBC_2.21 pthread_attr_setstackaddr F
+GLIBC_2.21 pthread_attr_setstacksize F
+GLIBC_2.21 pthread_barrier_destroy F
+GLIBC_2.21 pthread_barrier_init F
+GLIBC_2.21 pthread_barrier_wait F
+GLIBC_2.21 pthread_barrierattr_destroy F
+GLIBC_2.21 pthread_barrierattr_getpshared F
+GLIBC_2.21 pthread_barrierattr_init F
+GLIBC_2.21 pthread_barrierattr_setpshared F
+GLIBC_2.21 pthread_cancel F
+GLIBC_2.21 pthread_cond_broadcast F
+GLIBC_2.21 pthread_cond_destroy F
+GLIBC_2.21 pthread_cond_init F
+GLIBC_2.21 pthread_cond_signal F
+GLIBC_2.21 pthread_cond_timedwait F
+GLIBC_2.21 pthread_cond_wait F
+GLIBC_2.21 pthread_condattr_destroy F
+GLIBC_2.21 pthread_condattr_getclock F
+GLIBC_2.21 pthread_condattr_getpshared F
+GLIBC_2.21 pthread_condattr_init F
+GLIBC_2.21 pthread_condattr_setclock F
+GLIBC_2.21 pthread_condattr_setpshared F
+GLIBC_2.21 pthread_create F
+GLIBC_2.21 pthread_detach F
+GLIBC_2.21 pthread_equal F
+GLIBC_2.21 pthread_exit F
+GLIBC_2.21 pthread_getaffinity_np F
+GLIBC_2.21 pthread_getattr_default_np F
+GLIBC_2.21 pthread_getattr_np F
+GLIBC_2.21 pthread_getconcurrency F
+GLIBC_2.21 pthread_getcpuclockid F
+GLIBC_2.21 pthread_getname_np F
+GLIBC_2.21 pthread_getschedparam F
+GLIBC_2.21 pthread_getspecific F
+GLIBC_2.21 pthread_join F
+GLIBC_2.21 pthread_key_create F
+GLIBC_2.21 pthread_key_delete F
+GLIBC_2.21 pthread_kill F
+GLIBC_2.21 pthread_kill_other_threads_np F
+GLIBC_2.21 pthread_mutex_consistent F
+GLIBC_2.21 pthread_mutex_consistent_np F
+GLIBC_2.21 pthread_mutex_destroy F
+GLIBC_2.21 pthread_mutex_getprioceiling F
+GLIBC_2.21 pthread_mutex_init F
+GLIBC_2.21 pthread_mutex_lock F
+GLIBC_2.21 pthread_mutex_setprioceiling F
+GLIBC_2.21 pthread_mutex_timedlock F
+GLIBC_2.21 pthread_mutex_trylock F
+GLIBC_2.21 pthread_mutex_unlock F
+GLIBC_2.21 pthread_mutexattr_destroy F
+GLIBC_2.21 pthread_mutexattr_getkind_np F
+GLIBC_2.21 pthread_mutexattr_getprioceiling F
+GLIBC_2.21 pthread_mutexattr_getprotocol F
+GLIBC_2.21 pthread_mutexattr_getpshared F
+GLIBC_2.21 pthread_mutexattr_getrobust F
+GLIBC_2.21 pthread_mutexattr_getrobust_np F
+GLIBC_2.21 pthread_mutexattr_gettype F
+GLIBC_2.21 pthread_mutexattr_init F
+GLIBC_2.21 pthread_mutexattr_setkind_np F
+GLIBC_2.21 pthread_mutexattr_setprioceiling F
+GLIBC_2.21 pthread_mutexattr_setprotocol F
+GLIBC_2.21 pthread_mutexattr_setpshared F
+GLIBC_2.21 pthread_mutexattr_setrobust F
+GLIBC_2.21 pthread_mutexattr_setrobust_np F
+GLIBC_2.21 pthread_mutexattr_settype F
+GLIBC_2.21 pthread_once F
+GLIBC_2.21 pthread_rwlock_destroy F
+GLIBC_2.21 pthread_rwlock_init F
+GLIBC_2.21 pthread_rwlock_rdlock F
+GLIBC_2.21 pthread_rwlock_timedrdlock F
+GLIBC_2.21 pthread_rwlock_timedwrlock F
+GLIBC_2.21 pthread_rwlock_tryrdlock F
+GLIBC_2.21 pthread_rwlock_trywrlock F
+GLIBC_2.21 pthread_rwlock_unlock F
+GLIBC_2.21 pthread_rwlock_wrlock F
+GLIBC_2.21 pthread_rwlockattr_destroy F
+GLIBC_2.21 pthread_rwlockattr_getkind_np F
+GLIBC_2.21 pthread_rwlockattr_getpshared F
+GLIBC_2.21 pthread_rwlockattr_init F
+GLIBC_2.21 pthread_rwlockattr_setkind_np F
+GLIBC_2.21 pthread_rwlockattr_setpshared F
+GLIBC_2.21 pthread_self F
+GLIBC_2.21 pthread_setaffinity_np F
+GLIBC_2.21 pthread_setattr_default_np F
+GLIBC_2.21 pthread_setcancelstate F
+GLIBC_2.21 pthread_setcanceltype F
+GLIBC_2.21 pthread_setconcurrency F
+GLIBC_2.21 pthread_setname_np F
+GLIBC_2.21 pthread_setschedparam F
+GLIBC_2.21 pthread_setschedprio F
+GLIBC_2.21 pthread_setspecific F
+GLIBC_2.21 pthread_sigmask F
+GLIBC_2.21 pthread_sigqueue F
+GLIBC_2.21 pthread_spin_destroy F
+GLIBC_2.21 pthread_spin_init F
+GLIBC_2.21 pthread_spin_lock F
+GLIBC_2.21 pthread_spin_trylock F
+GLIBC_2.21 pthread_spin_unlock F
+GLIBC_2.21 pthread_testcancel F
+GLIBC_2.21 pthread_timedjoin_np F
+GLIBC_2.21 pthread_tryjoin_np F
+GLIBC_2.21 pthread_yield F
+GLIBC_2.21 pwrite F
+GLIBC_2.21 pwrite64 F
+GLIBC_2.21 raise F
+GLIBC_2.21 read F
+GLIBC_2.21 recv F
+GLIBC_2.21 recvfrom F
+GLIBC_2.21 recvmsg F
+GLIBC_2.21 sem_close F
+GLIBC_2.21 sem_destroy F
+GLIBC_2.21 sem_getvalue F
+GLIBC_2.21 sem_init F
+GLIBC_2.21 sem_open F
+GLIBC_2.21 sem_post F
+GLIBC_2.21 sem_timedwait F
+GLIBC_2.21 sem_trywait F
+GLIBC_2.21 sem_unlink F
+GLIBC_2.21 sem_wait F
+GLIBC_2.21 send F
+GLIBC_2.21 sendmsg F
+GLIBC_2.21 sendto F
+GLIBC_2.21 sigaction F
+GLIBC_2.21 siglongjmp F
+GLIBC_2.21 sigwait F
+GLIBC_2.21 system F
+GLIBC_2.21 tcdrain F
+GLIBC_2.21 wait F
+GLIBC_2.21 waitpid F
+GLIBC_2.21 write F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
new file mode 100644
index 0000000000..b006fcafe7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 __b64_ntop F
+GLIBC_2.21 __b64_pton F
+GLIBC_2.21 __dn_comp F
+GLIBC_2.21 __dn_count_labels F
+GLIBC_2.21 __dn_expand F
+GLIBC_2.21 __dn_skipname F
+GLIBC_2.21 __fp_nquery F
+GLIBC_2.21 __fp_query F
+GLIBC_2.21 __fp_resstat F
+GLIBC_2.21 __hostalias F
+GLIBC_2.21 __loc_aton F
+GLIBC_2.21 __loc_ntoa F
+GLIBC_2.21 __p_cdname F
+GLIBC_2.21 __p_cdnname F
+GLIBC_2.21 __p_class F
+GLIBC_2.21 __p_class_syms D 0x54
+GLIBC_2.21 __p_fqname F
+GLIBC_2.21 __p_fqnname F
+GLIBC_2.21 __p_option F
+GLIBC_2.21 __p_query F
+GLIBC_2.21 __p_rcode F
+GLIBC_2.21 __p_secstodate F
+GLIBC_2.21 __p_time F
+GLIBC_2.21 __p_type F
+GLIBC_2.21 __p_type_syms D 0x228
+GLIBC_2.21 __putlong F
+GLIBC_2.21 __putshort F
+GLIBC_2.21 __res_close F
+GLIBC_2.21 __res_dnok F
+GLIBC_2.21 __res_hnok F
+GLIBC_2.21 __res_hostalias F
+GLIBC_2.21 __res_isourserver F
+GLIBC_2.21 __res_mailok F
+GLIBC_2.21 __res_mkquery F
+GLIBC_2.21 __res_nameinquery F
+GLIBC_2.21 __res_nmkquery F
+GLIBC_2.21 __res_nquery F
+GLIBC_2.21 __res_nquerydomain F
+GLIBC_2.21 __res_nsearch F
+GLIBC_2.21 __res_nsend F
+GLIBC_2.21 __res_ownok F
+GLIBC_2.21 __res_queriesmatch F
+GLIBC_2.21 __res_query F
+GLIBC_2.21 __res_querydomain F
+GLIBC_2.21 __res_search F
+GLIBC_2.21 __res_send F
+GLIBC_2.21 __sym_ntop F
+GLIBC_2.21 __sym_ntos F
+GLIBC_2.21 __sym_ston F
+GLIBC_2.21 _gethtbyaddr F
+GLIBC_2.21 _gethtbyname F
+GLIBC_2.21 _gethtbyname2 F
+GLIBC_2.21 _gethtent F
+GLIBC_2.21 _getlong F
+GLIBC_2.21 _getshort F
+GLIBC_2.21 _res_opcodes D 0x40
+GLIBC_2.21 _sethtent F
+GLIBC_2.21 inet_net_ntop F
+GLIBC_2.21 inet_net_pton F
+GLIBC_2.21 inet_neta F
+GLIBC_2.21 ns_datetosecs F
+GLIBC_2.21 ns_format_ttl F
+GLIBC_2.21 ns_get16 F
+GLIBC_2.21 ns_get32 F
+GLIBC_2.21 ns_initparse F
+GLIBC_2.21 ns_makecanon F
+GLIBC_2.21 ns_msg_getflag F
+GLIBC_2.21 ns_name_compress F
+GLIBC_2.21 ns_name_ntol F
+GLIBC_2.21 ns_name_ntop F
+GLIBC_2.21 ns_name_pack F
+GLIBC_2.21 ns_name_pton F
+GLIBC_2.21 ns_name_rollback F
+GLIBC_2.21 ns_name_skip F
+GLIBC_2.21 ns_name_uncompress F
+GLIBC_2.21 ns_name_unpack F
+GLIBC_2.21 ns_parse_ttl F
+GLIBC_2.21 ns_parserr F
+GLIBC_2.21 ns_put16 F
+GLIBC_2.21 ns_put32 F
+GLIBC_2.21 ns_samedomain F
+GLIBC_2.21 ns_samename F
+GLIBC_2.21 ns_skiprr F
+GLIBC_2.21 ns_sprintrr F
+GLIBC_2.21 ns_sprintrrf F
+GLIBC_2.21 ns_subdomain F
+GLIBC_2.21 res_gethostbyaddr F
+GLIBC_2.21 res_gethostbyname F
+GLIBC_2.21 res_gethostbyname2 F
+GLIBC_2.21 res_send_setqhook F
+GLIBC_2.21 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/librt.abilist
new file mode 100644
index 0000000000..51b1c5bc03
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -0,0 +1,36 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 __mq_open_2 F
+GLIBC_2.21 aio_cancel F
+GLIBC_2.21 aio_cancel64 F
+GLIBC_2.21 aio_error F
+GLIBC_2.21 aio_error64 F
+GLIBC_2.21 aio_fsync F
+GLIBC_2.21 aio_fsync64 F
+GLIBC_2.21 aio_init F
+GLIBC_2.21 aio_read F
+GLIBC_2.21 aio_read64 F
+GLIBC_2.21 aio_return F
+GLIBC_2.21 aio_return64 F
+GLIBC_2.21 aio_suspend F
+GLIBC_2.21 aio_suspend64 F
+GLIBC_2.21 aio_write F
+GLIBC_2.21 aio_write64 F
+GLIBC_2.21 lio_listio F
+GLIBC_2.21 lio_listio64 F
+GLIBC_2.21 mq_close F
+GLIBC_2.21 mq_getattr F
+GLIBC_2.21 mq_notify F
+GLIBC_2.21 mq_open F
+GLIBC_2.21 mq_receive F
+GLIBC_2.21 mq_send F
+GLIBC_2.21 mq_setattr F
+GLIBC_2.21 mq_timedreceive F
+GLIBC_2.21 mq_timedsend F
+GLIBC_2.21 mq_unlink F
+GLIBC_2.21 shm_open F
+GLIBC_2.21 shm_unlink F
+GLIBC_2.21 timer_create F
+GLIBC_2.21 timer_delete F
+GLIBC_2.21 timer_getoverrun F
+GLIBC_2.21 timer_gettime F
+GLIBC_2.21 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libthread_db.abilist
new file mode 100644
index 0000000000..96be90f65b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 td_init F
+GLIBC_2.21 td_log F
+GLIBC_2.21 td_symbol_list F
+GLIBC_2.21 td_ta_clear_event F
+GLIBC_2.21 td_ta_delete F
+GLIBC_2.21 td_ta_enable_stats F
+GLIBC_2.21 td_ta_event_addr F
+GLIBC_2.21 td_ta_event_getmsg F
+GLIBC_2.21 td_ta_get_nthreads F
+GLIBC_2.21 td_ta_get_ph F
+GLIBC_2.21 td_ta_get_stats F
+GLIBC_2.21 td_ta_map_id2thr F
+GLIBC_2.21 td_ta_map_lwp2thr F
+GLIBC_2.21 td_ta_new F
+GLIBC_2.21 td_ta_reset_stats F
+GLIBC_2.21 td_ta_set_event F
+GLIBC_2.21 td_ta_setconcurrency F
+GLIBC_2.21 td_ta_thr_iter F
+GLIBC_2.21 td_ta_tsd_iter F
+GLIBC_2.21 td_thr_clear_event F
+GLIBC_2.21 td_thr_dbresume F
+GLIBC_2.21 td_thr_dbsuspend F
+GLIBC_2.21 td_thr_event_enable F
+GLIBC_2.21 td_thr_event_getmsg F
+GLIBC_2.21 td_thr_get_info F
+GLIBC_2.21 td_thr_getfpregs F
+GLIBC_2.21 td_thr_getgregs F
+GLIBC_2.21 td_thr_getxregs F
+GLIBC_2.21 td_thr_getxregsize F
+GLIBC_2.21 td_thr_set_event F
+GLIBC_2.21 td_thr_setfpregs F
+GLIBC_2.21 td_thr_setgregs F
+GLIBC_2.21 td_thr_setprio F
+GLIBC_2.21 td_thr_setsigpending F
+GLIBC_2.21 td_thr_setxregs F
+GLIBC_2.21 td_thr_sigsetmask F
+GLIBC_2.21 td_thr_tls_get_addr F
+GLIBC_2.21 td_thr_tlsbase F
+GLIBC_2.21 td_thr_tsd F
+GLIBC_2.21 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libutil.abilist
new file mode 100644
index 0000000000..0c21934dc0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.21 GLIBC_2.21 A
+GLIBC_2.21 forkpty F
+GLIBC_2.21 login F
+GLIBC_2.21 login_tty F
+GLIBC_2.21 logout F
+GLIBC_2.21 logwtmp F
+GLIBC_2.21 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/localplt.data
new file mode 100644
index 0000000000..584963d202
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/localplt.data
@@ -0,0 +1,38 @@
+libc.so: realloc
+libc.so: __floatsisf
+libc.so: __gtdf2
+libc.so: __ltdf2
+libc.so: __gedf2
+libc.so: malloc
+libc.so: __gtsf2
+libc.so: __nesf2
+libc.so: memalign
+libc.so: __mulsf3
+libc.so: __floatunsisf
+libc.so: __addsf3
+libc.so: __fixsfsi
+libc.so: __subsf3
+libc.so: __unorddf2
+libc.so: calloc
+libc.so: __muldf3
+libc.so: __unordsf2
+libc.so: free
+libc.so: __subdf3
+libc.so: __ledf2
+libc.so: __adddf3
+libc.so: __divdf3
+libc.so: __floatsidf
+libc.so: __divsf3
+libc.so: __nedf2
+libc.so: __eqdf2
+libc.so: __extendsfdf2
+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/nios2/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/makecontext.c
new file mode 100644
index 0000000000..b4c45cd3d4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/makecontext.c
@@ -0,0 +1,79 @@
+/* Create new context.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <stdarg.h>
+#include <stdint.h>
+#include <ucontext.h>
+
+/* makecontext sets up a stack and the registers for the
+   user context.  The stack looks like this:
+
+               +-----------------------+
+	       | padding as required   |
+               +-----------------------+
+    sp ->      | parameters 5 to n     |
+               +-----------------------+
+
+   The registers are set up like this:
+     r4--r7 : parameter 1 to 4
+     r16    : uc_link
+     sp     : stack pointer.
+*/
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __startcontext (void);
+  unsigned long *sp;
+  va_list ap;
+  int i;
+
+  sp = (unsigned long *)
+    ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+
+  /* Allocate stack arguments.  */
+  sp -= argc < 4 ? 0 : argc - 4;
+
+  /* Keep the stack aligned.  */
+  sp = (unsigned long*) (((uintptr_t) sp) & -4L);
+
+  /* Init version field.  */
+  ucp->uc_mcontext.version = 2;
+  /* Keep uc_link in r16.  */
+  ucp->uc_mcontext.regs[15] = (uintptr_t) ucp->uc_link;
+  /* Return address points to __startcontext().  */
+  ucp->uc_mcontext.regs[23] = (uintptr_t) &__startcontext;
+  /* Frame pointer is null.  */
+  ucp->uc_mcontext.regs[24] = (uintptr_t) 0;
+  /* Restart in user-space starting at 'func'.  */
+  ucp->uc_mcontext.regs[27] = (uintptr_t) func;
+  /* Set stack pointer.  */
+  ucp->uc_mcontext.regs[28] = (uintptr_t) sp;
+
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    if (i < 4)
+      ucp->uc_mcontext.regs[i + 3] = va_arg (ap, unsigned long);
+    else
+      sp[i - 4] = va_arg (ap, unsigned long);
+
+  va_end (ap);
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/profil-counter.h
new file mode 100644
index 0000000000..8a6a0bcf3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/profil-counter.h
@@ -0,0 +1,2 @@
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/setcontext.S
new file mode 100644
index 0000000000..bb6122b5b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/setcontext.S
@@ -0,0 +1,115 @@
+/* Set current context.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+
+/* int setcontext (const ucontext_t *ucp) */
+	.text
+ENTRY(__setcontext)
+	ldw	r5, UCONTEXT_FLAGS(r4)
+	movi	r6, 1
+	bne	r5, r6, .Lsigreturn
+
+	mov	r10, r4
+
+	/* Restore signal mask.  */
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */
+	movi	r7, _NSIG8
+	addi	r5, r4, UCONTEXT_SIGMASK
+	mov	r6, zero
+	movi	r4, SIG_SETMASK
+	movi	r2, SYS_ify (rt_sigprocmask)
+	trap
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+
+	/* Restore argument registers, for the makecontext() case.  */
+	ldw	r4,   (UCONTEXT_MCONTEXT + 4*4)(r10)
+	ldw	r5,   (UCONTEXT_MCONTEXT + 5*4)(r10)
+	ldw	r6,   (UCONTEXT_MCONTEXT + 6*4)(r10)
+	ldw	r7,   (UCONTEXT_MCONTEXT + 7*4)(r10)
+
+	ldw	r16, (UCONTEXT_MCONTEXT + 16*4)(r10)
+	ldw	r17, (UCONTEXT_MCONTEXT + 17*4)(r10)
+	ldw	r18, (UCONTEXT_MCONTEXT + 18*4)(r10)
+	ldw	r19, (UCONTEXT_MCONTEXT + 19*4)(r10)
+	ldw	r20, (UCONTEXT_MCONTEXT + 20*4)(r10)
+	ldw	r21, (UCONTEXT_MCONTEXT + 21*4)(r10)
+	ldw	r22, (UCONTEXT_MCONTEXT + 22*4)(r10)
+	ldw	ra,  (UCONTEXT_MCONTEXT + 24*4)(r10)
+	ldw	fp,  (UCONTEXT_MCONTEXT + 25*4)(r10)
+	ldw	gp,  (UCONTEXT_MCONTEXT + 26*4)(r10)
+	/* Load address to continue execution.  */
+	ldw	r3,  (UCONTEXT_MCONTEXT + 28*4)(r10)
+	ldw	sp,  (UCONTEXT_MCONTEXT + 29*4)(r10)
+
+	mov	r2, zero
+	jmp	r3
+
+.Lsigreturn:
+	addi	sp, sp, -RT_SIGFRAME_SIZE
+	cfi_adjust_cfa_offset (RT_SIGFRAME_SIZE)
+
+	addi	r2, sp, RT_SIGFRAME_UCONTEXT
+	movi	r3, UCONTEXT_SIZE-4
+1:
+	add	r6, r4, r3
+	ldw	r5, 0(r6)
+	add	r7, r2, r3
+	addi	r3, r3, -4
+	stw	r5, 0(r7)
+	bgt	r3, zero, 1b
+
+	movi	r2, SYS_ify (rt_sigreturn)
+	trap
+
+	addi	sp, sp, RT_SIGFRAME_SIZE
+	cfi_adjust_cfa_offset (-RT_SIGFRAME_SIZE)
+	br	SYSCALL_ERROR_LABEL
+
+PSEUDO_END (__setcontext)
+weak_alias (__setcontext, setcontext)
+
+	/* We add an NOP here to separate between __setcontext/__startcontext.
+	   The wanted behavior that happens is: when unwinding from a function
+	   called inside a makecontext() context, FDE lookup will use
+	   '&__startcontext - 1', then returns NULL for no FDE found,
+	   and immediately ends the unwind, in a normal fashion.
+
+	   If this NOP word does not exist, FDE lookup just repeatedly finds
+	   __setcontext's FDE in an infinite loop, due to the convention of
+	   using 'address - 1' for FDE lookup. Modifiying/deleting the below
+	   __startcontext's FDE has no help on this.  */
+	nop
+
+ENTRY(__startcontext)
+	mov	r4, r16
+	bne	r4, zero, __setcontext
+
+	/* If uc_link == zero, call exit.  */
+#ifdef PIC
+	nextpc	r22
+1:	movhi	r8, %hiadj(_gp_got - 1b)
+	addi	r8, r8, %lo(_gp_got - 1b)
+	add	r22, r22, r8
+	ldw	r8, %call(HIDDEN_JUMPTARGET(exit))(r22)
+	jmp	r8
+#else
+	jmpi	exit
+#endif
+END(__startcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/shlib-versions
new file mode 100644
index 0000000000..443fd4df23
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/shlib-versions
@@ -0,0 +1,2 @@
+DEFAULT                 GLIBC_2.21
+ld=ld-linux-nios2.so.1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
new file mode 100644
index 0000000000..51b715c308
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
@@ -0,0 +1,35 @@
+/* Nios II definitions for signal handling calling conventions.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ucontext.h>
+#include "kernel-features.h"
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.regs[27])
+
+/* There is no reliable way to get the sigcontext unless we use a
+   three-argument signal handler.  */
+#define __sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (__sigaction) (sig, act, oact); \
+})
+
+#define sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (sigaction) (sig, act, oact); \
+})
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/swapcontext.S
new file mode 100644
index 0000000000..00871c2979
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/swapcontext.S
@@ -0,0 +1,125 @@
+/* Modify saved context.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+	.text
+ENTRY(__swapcontext)
+
+	/* Same as getcontext().  */
+	stw	r16, (UCONTEXT_MCONTEXT + 16*4)(r4)
+	stw	r17, (UCONTEXT_MCONTEXT + 17*4)(r4)
+	stw	r18, (UCONTEXT_MCONTEXT + 18*4)(r4)
+	stw	r19, (UCONTEXT_MCONTEXT + 19*4)(r4)
+	stw	r20, (UCONTEXT_MCONTEXT + 20*4)(r4)
+	stw	r21, (UCONTEXT_MCONTEXT + 21*4)(r4)
+	stw	r22, (UCONTEXT_MCONTEXT + 22*4)(r4)
+	stw	ra,  (UCONTEXT_MCONTEXT + 24*4)(r4)
+	stw	fp,  (UCONTEXT_MCONTEXT + 25*4)(r4)
+	stw	gp,  (UCONTEXT_MCONTEXT + 26*4)(r4)
+	/* Store return address at place for EA.  */
+	stw	ra,  (UCONTEXT_MCONTEXT + 28*4)(r4)
+	stw	sp,  (UCONTEXT_MCONTEXT + 29*4)(r4)
+	/* Store zero for return success.  */
+	stw	zero, (UCONTEXT_MCONTEXT + 2*4)(r4)
+
+	/* Store value "1" at uc_flags to recognize as getcontext created.  */
+	movi	r2, 1
+	stw	r2, UCONTEXT_FLAGS(r4)
+
+	/* Store MCONTEXT_VERSION at first word of mcontext_t.  */
+	movi	r2, MCONTEXT_VERSION
+	stw	r2, UCONTEXT_MCONTEXT(r4)
+
+	/* Save ucp to non-argument syscall preserved register.  */
+	mov	r10, r5
+
+	/* Get signal mask.  */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	movi	r7, _NSIG8
+	addi	r6, r4, UCONTEXT_SIGMASK
+	mov	r5, zero
+	movi	r4, SIG_BLOCK
+	movi	r2, SYS_ify (rt_sigprocmask)
+	trap
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+
+
+	/* Same as setcontext().  */
+	ldw	r5, UCONTEXT_FLAGS(r10)
+	movi	r6, 1
+	bne	r5, r6, .Lsigreturn
+
+	/* Restore signal mask.  */
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */
+	movi	r7, _NSIG8
+	addi	r5, r10, UCONTEXT_SIGMASK
+	mov	r6, zero
+	movi	r4, SIG_SETMASK
+	movi	r2, SYS_ify (rt_sigprocmask)
+	trap
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+
+	/* Restore argument registers, for the makecontext() case.  */
+	ldw	r4,   (UCONTEXT_MCONTEXT + 4*4)(r10)
+	ldw	r5,   (UCONTEXT_MCONTEXT + 5*4)(r10)
+	ldw	r6,   (UCONTEXT_MCONTEXT + 6*4)(r10)
+	ldw	r7,   (UCONTEXT_MCONTEXT + 7*4)(r10)
+
+	ldw	r16, (UCONTEXT_MCONTEXT + 16*4)(r10)
+	ldw	r17, (UCONTEXT_MCONTEXT + 17*4)(r10)
+	ldw	r18, (UCONTEXT_MCONTEXT + 18*4)(r10)
+	ldw	r19, (UCONTEXT_MCONTEXT + 19*4)(r10)
+	ldw	r20, (UCONTEXT_MCONTEXT + 20*4)(r10)
+	ldw	r21, (UCONTEXT_MCONTEXT + 21*4)(r10)
+	ldw	r22, (UCONTEXT_MCONTEXT + 22*4)(r10)
+	ldw	ra,  (UCONTEXT_MCONTEXT + 24*4)(r10)
+	ldw	fp,  (UCONTEXT_MCONTEXT + 25*4)(r10)
+	ldw	gp,  (UCONTEXT_MCONTEXT + 26*4)(r10)
+	/* Load address to continue execution.  */
+	ldw	r3,  (UCONTEXT_MCONTEXT + 28*4)(r10)
+	ldw	sp,  (UCONTEXT_MCONTEXT + 29*4)(r10)
+
+	mov	r2, zero
+	jmp	r3
+
+.Lsigreturn:
+	addi	sp, sp, -RT_SIGFRAME_SIZE
+	cfi_adjust_cfa_offset (RT_SIGFRAME_SIZE)
+
+	addi	r2, sp, RT_SIGFRAME_UCONTEXT
+	movi	r3, UCONTEXT_SIZE-4
+1:
+	add	r6, r4, r3
+	ldw	r5, 0(r6)
+	add	r7, r2, r3
+	addi	r3, r3, -4
+	stw	r5, 0(r7)
+	bgt	r3, zero, 1b
+
+	movi	r2, SYS_ify (rt_sigreturn)
+	trap
+
+	addi	sp, sp, RT_SIGFRAME_SIZE
+	cfi_adjust_cfa_offset (-RT_SIGFRAME_SIZE)
+	br	SYSCALL_ERROR_LABEL
+
+PSEUDO_END (__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h
new file mode 100644
index 0000000000..442f354e16
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h
@@ -0,0 +1,33 @@
+/* cacheflush - flush contents of instruction and/or data cache.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_CACHECTL_H
+#define _SYS_CACHECTL_H 1
+
+#include <features.h>
+
+__BEGIN_DECLS
+
+#ifdef __USE_MISC
+extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
+
+__END_DECLS
+
+#endif /* sys/cachectl.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/procfs.h
new file mode 100644
index 0000000000..c9ae7f90c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/procfs.h
@@ -0,0 +1,123 @@
+/* Core image file related definitions, Nios II version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   user_regs' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_fpregs elf_fpregset_t;
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
new file mode 100644
index 0000000000..af8d75c435
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
@@ -0,0 +1,62 @@
+/* struct ucontext definition, Nios II version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* System V/Nios II ABI compliant context switching support.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+/* These definitions must be in sync with the kernel.  */
+
+#ifdef __USE_MISC
+# define MCONTEXT_VERSION 2
+#endif
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Context to describe whole processor state.  */
+typedef struct mcontext
+  {
+    int __ctx(version);
+    unsigned long __ctx(regs)[32];
+  } mcontext_t;
+
+#undef __ctx
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/user.h
new file mode 100644
index 0000000000..7570ca6072
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sys/user.h
@@ -0,0 +1,58 @@
+/* ptrace register data format definitions.
+   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 _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct user_fpregs
+{
+};
+
+struct user_regs
+{
+  unsigned long int uregs[49];
+};
+
+struct user
+{
+  struct user_regs regs;	/* General registers */
+  int u_fpvalid;		/* True if math co-processor being used. */
+
+  unsigned long int u_tsize;	/* Text segment size (pages). */
+  unsigned long int u_dsize;	/* Data segment size (pages). */
+  unsigned long int u_ssize;	/* Stack segment size (pages). */
+
+  unsigned long start_code;	/* Starting virtual address of text. */
+  unsigned long start_stack;	/* Starting virtual address of stack. */
+
+  long int signal;     		/* Signal that caused the core dump. */
+  int reserved;			/* No longer used */
+  struct user_regs *u_ar0;	/* help gdb to find the general registers. */
+
+  unsigned long magic;		/* uniquely identify a core file */
+  char u_comm[32];		/* User command that was responsible */
+  int u_debugreg[8];
+  struct user_fpregs u_fp;	/* Floating point registers */
+  struct user_fpregs *u_fp0;	/* help gdb to find the FP registers. */
+};
+
+#endif  /* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/syscall.S
new file mode 100644
index 0000000000..552ddf0523
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/syscall.S
@@ -0,0 +1,36 @@
+/* syscall - indirect system call.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* We don't need a special syscall to implement syscall().  It won't work
+   reliably with 64-bit arguments (but that is true on many modern platforms).
+*/
+
+ENTRY (syscall)
+	mov	r2, r4
+	mov	r4, r5
+	mov	r5, r6
+	mov	r6, r7
+	ldw	r7, 0(sp)
+	ldw	r8, 4(sp)
+	ldw	r9, 8(sp)
+	trap
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+        ret
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h
new file mode 100644
index 0000000000..47b92d99b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h
@@ -0,0 +1,141 @@
+/* Assembler macros with cancellation support, Nios II version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .type __##syscall_name##_nocancel, @function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    cfi_startproc;                                                            \
+    DO_CALL (syscall_name, args);                                             \
+    bne r7, zero, SYSCALL_ERROR_LABEL;                                        \
+    ret;                                                                      \
+    cfi_endproc;                                                              \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  ENTRY (name)								      \
+    SINGLE_THREAD_P(r2);						      \
+    bne r2, zero, pseudo_cancel;					      \
+    DO_CALL (syscall_name, args);					      \
+    bne r7, zero, SYSCALL_ERROR_LABEL;                                        \
+    ret;								      \
+  pseudo_cancel:							      \
+    SAVESTK_##args;                 /* save syscall args and adjust stack */  \
+    SAVEREG(ra, 0);                     /* save return address */             \
+    SAVEREG(r22, 4);                    /* save GOT pointer */                \
+    nextpc r22;                                                               \
+1:  movhi r2, %hiadj(_gp_got - 1b);					      \
+    addi r2, r2, %lo(_gp_got - 1b);					      \
+    add r22, r22, r2;                                                         \
+    CENABLE;                                                                  \
+    callr r3;                                                                 \
+    stw r2, 8(sp);                      /* save mask */                       \
+    LOADARGS_##args;                                                          \
+    movi r2, SYS_ify(syscall_name);                                           \
+    trap;                                                                     \
+    stw r2, 12(sp);                     /* save syscall result */             \
+    stw r7, 16(sp);                     /* save syscall error flag */         \
+    ldw r4, 8(sp);                      /* pass mask as argument 1 */         \
+    CDISABLE;                                                                 \
+    callr r3;                                                                 \
+    ldw r7, 16(sp);                     /* restore syscall error flag */      \
+    ldw r2, 12(sp);                     /* restore syscall result */          \
+    ldw ra, 0(sp);                      /* restore return address */          \
+    ldw r22, 4(sp);                     /* restore GOT pointer */             \
+    RESTORESTK_##args;                                                        \
+    bne r7, zero, SYSCALL_ERROR_LABEL;
+
+
+# undef PSEUDO_END
+# define PSEUDO_END(sym) \
+  SYSCALL_ERROR_HANDLER \
+  END (sym)
+
+#define SAVEREG(REG, LOC) stw REG, LOC(sp); cfi_rel_offset (REG, LOC)
+#define SAVESTK(X) subi sp, sp, X; cfi_adjust_cfa_offset(X)
+#define SAVESTK_0 SAVESTK(20)
+#define SAVEARG_1 SAVEREG(r4, 20)
+#define SAVESTK_1 SAVESTK(24); SAVEARG_1
+#define SAVEARG_2 SAVEREG(r5, 24); SAVEARG_1
+#define SAVESTK_2 SAVESTK(28); SAVEARG_2
+#define SAVEARG_3 SAVEREG(r6, 28); SAVEARG_2
+#define SAVESTK_3 SAVESTK(32); SAVEARG_3
+#define SAVEARG_4 SAVEREG(r7, 32); SAVEARG_3
+#define SAVESTK_4 SAVESTK(36); SAVEARG_4
+#define SAVESTK_5 SAVESTK_4
+#define SAVESTK_6 SAVESTK_5
+
+#define LOADARGS_0
+#define LOADARGS_1 ldw r4, 20(sp)
+#define LOADARGS_2 LOADARGS_1; ldw r5, 24(sp)
+#define LOADARGS_3 LOADARGS_2; ldw r6, 28(sp)
+#define LOADARGS_4 LOADARGS_3; ldw r7, 32(sp)
+#define LOADARGS_5 LOADARGS_4; ldw r8, 36(sp)
+#define LOADARGS_6 LOADARGS_5; ldw r9, 40(sp)
+
+#define RESTORESTK(X) addi sp, sp, X; cfi_adjust_cfa_offset(-X)
+#define RESTORESTK_0 RESTORESTK(20)
+#define RESTORESTK_1 RESTORESTK(24)
+#define RESTORESTK_2 RESTORESTK(28)
+#define RESTORESTK_3 RESTORESTK(32)
+#define RESTORESTK_4 RESTORESTK(36)
+#define RESTORESTK_5 RESTORESTK(36)
+#define RESTORESTK_6 RESTORESTK(36)
+
+# if IS_IN (libpthread)
+#  define CENABLE	ldw r3, %call(__pthread_enable_asynccancel)(r22)
+#  define CDISABLE	ldw r3, %call(__pthread_disable_asynccancel)(r22)
+# elif IS_IN (librt)
+#  define CENABLE	ldw r3, %call(__librt_enable_asynccancel)(r22)
+#  define CDISABLE	ldw r3, %call(__librt_disable_asynccancel)(r22)
+# elif IS_IN (libc)
+#  define CENABLE	ldw r3, %call(__libc_enable_asynccancel)(r22)
+#  define CDISABLE	ldw r3, %call(__libc_disable_asynccancel)(r22)
+# else
+#  error Unsupported library
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+	__builtin_expect (THREAD_GETMEM (THREAD_SELF,			\
+					 header.multiple_threads)	\
+			  == 0, 1)
+# else
+#  define SINGLE_THREAD_P(reg)						\
+	ldw reg, MULTIPLE_THREADS_OFFSET(r23)
+#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/nios2/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.S
new file mode 100644
index 0000000000..5cf87c6eb3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.S
@@ -0,0 +1,50 @@
+/* Static library error handling code fragment for Nios II.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* The following code is only used in the static library. In the shared
+   library, the error handling code is at the end of each function.  */
+
+#ifndef	PIC
+
+/* In the static library, the syscall stubs jump here when they detect
+   an error.  */
+
+# undef CALL_MCOUNT
+# define CALL_MCOUNT /* Don't insert the profiling call, it clobbers r2.  */
+
+# if IS_IN (libc)
+#  define SYSCALL_ERROR_ERRNO __libc_errno
+# else
+#  define SYSCALL_ERROR_ERRNO errno
+# endif
+	.text
+ENTRY (__syscall_error)
+	nextpc	r3
+1:
+	movhi	r8, %hiadj(_gp_got - 1b)
+	addi	r8, r8, %lo(_gp_got - 1b)
+	add	r3, r3, r8
+	ldw	r3, %tls_ie(SYSCALL_ERROR_ERRNO)(r3)
+	add	r3, r23, r3
+	stw	r2, 0(r3)
+	movi	r2, -1
+	ret
+END (__syscall_error)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.h
new file mode 100644
index 0000000000..c7b065bd8a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/sysdep.h
@@ -0,0 +1,264 @@
+/* Assembler macros for Nios II.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_NIOS2_SYSDEP_H
+#define _LINUX_NIOS2_SYSDEP_H 1
+
+#include <asm/unistd.h>
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/nios2/sysdep.h>
+#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
+
+/* For RTLD_PRIVATE_ERRNO.  */
+#include <dl-sysdep.h>
+
+#include <tls.h>
+
+/* For Linux we can use the system call table in the header file
+        /usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)   __NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+#define SYSCALL_ERROR_LABEL __local_syscall_error
+
+#undef PSEUDO
+#define PSEUDO(name, syscall_name, args) \
+  ENTRY (name)                           \
+    DO_CALL (syscall_name, args)         \
+    bne r7, zero, SYSCALL_ERROR_LABEL;   \
+
+#undef PSEUDO_END
+#define PSEUDO_END(name) \
+  SYSCALL_ERROR_HANDLER  \
+  END (name)
+
+#undef PSEUDO_NOERRNO
+#define PSEUDO_NOERRNO(name, syscall_name, args) \
+  ENTRY (name)                                   \
+    DO_CALL (syscall_name, args)
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name) \
+  END (name)
+
+#undef ret_NOERRNO
+#define ret_NOERRNO ret
+
+#undef DO_CALL
+#define DO_CALL(syscall_name, args) \
+    DOARGS_##args                   \
+    movi r2, SYS_ify(syscall_name);  \
+    trap;
+
+#if defined(__PIC__) || defined(PIC)
+
+# if RTLD_PRIVATE_ERRNO
+
+#  define SYSCALL_ERROR_HANDLER			\
+  SYSCALL_ERROR_LABEL:				\
+  nextpc r3;					\
+1:						\
+  movhi r8, %hiadj(rtld_errno - 1b);		\
+  addi r8, r8, %lo(rtld_errno - 1b);		\
+  add r3, r3, r8;				\
+  stw r2, 0(r3);				\
+  movi r2, -1;					\
+  ret;
+
+# else
+
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+#  define SYSCALL_ERROR_HANDLER			\
+  SYSCALL_ERROR_LABEL:				\
+  nextpc r3;					\
+1:						\
+  movhi r8, %hiadj(_gp_got - 1b);		\
+  addi r8, r8, %lo(_gp_got - 1b);		\
+  add r3, r3, r8;				\
+  ldw r3, %tls_ie(SYSCALL_ERROR_ERRNO)(r3);	\
+  add r3, r23, r3;				\
+  stw r2, 0(r3);				\
+  movi r2, -1;					\
+  ret;
+
+# endif
+
+#else
+
+/* We can use a single error handler in the static library.  */
+#define SYSCALL_ERROR_HANDLER			\
+  SYSCALL_ERROR_LABEL:				\
+  jmpi __syscall_error;
+
+#endif
+
+#define DOARGS_0 /* nothing */
+#define DOARGS_1 /* nothing */
+#define DOARGS_2 /* nothing */
+#define DOARGS_3 /* nothing */
+#define DOARGS_4 /* nothing */
+#define DOARGS_5 ldw r8, 0(sp);
+#define DOARGS_6 ldw r9, 4(sp); ldw r8, 0(sp);
+
+/* The function has to return the error code.  */
+#undef  PSEUDO_ERRVAL
+#define PSEUDO_ERRVAL(name, syscall_name, args) \
+  ENTRY (name)                                  \
+    DO_CALL (syscall_name, args)
+
+#undef  PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+#define ret_ERRVAL ret
+
+#else /* __ASSEMBLER__ */
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#include <errno.h>
+
+/* Previously Nios2 used the generic version without the libc_hidden_def
+   which lead in a non existent __send symbol in libc.so.  */
+# undef HAVE_INTERNAL_SEND_SYMBOL
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)                               \
+  ({ INTERNAL_SYSCALL_DECL(err);					\
+     unsigned int result_var = INTERNAL_SYSCALL (name, err, nr, args);	\
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) )			\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err));	\
+	 result_var = -1L;						\
+       }								\
+     (int) result_var; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) unsigned int err __attribute__((unused))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) ((void) (val), (unsigned int) (err))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)   ((void) (err), val)
+
+#undef INTERNAL_SYSCALL_RAW
+#define INTERNAL_SYSCALL_RAW(name, err, nr, args...)            \
+  ({ unsigned int _sys_result;                                  \
+     {                                                          \
+       /* Load argument values in temporary variables
+	  to perform side effects like function calls
+	  before the call-used registers are set.  */		\
+       LOAD_ARGS_##nr (args)					\
+       LOAD_REGS_##nr						\
+       register int _r2 asm ("r2") = (int)(name);               \
+       register int _err asm ("r7");                            \
+       asm volatile ("trap"                                     \
+                     : "+r" (_r2), "=r" (_err)                  \
+                     : ASM_ARGS_##nr				\
+                     : __SYSCALL_CLOBBERS);                     \
+       _sys_result = _r2;                                       \
+       err = _err;                                              \
+     }                                                          \
+     (int) _sys_result; })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+	INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
+	INTERNAL_SYSCALL_RAW(number, err, nr, args)
+
+#define LOAD_ARGS_0()
+#define LOAD_REGS_0
+#define ASM_ARGS_0
+#define LOAD_ARGS_1(a1)				\
+  LOAD_ARGS_0 ()				\
+  int __arg1 = (int) (a1);
+#define LOAD_REGS_1				\
+  register int _r4 asm ("r4") = __arg1;		\
+  LOAD_REGS_0
+#define ASM_ARGS_1                  "r" (_r4)
+#define LOAD_ARGS_2(a1, a2)			\
+  LOAD_ARGS_1 (a1)				\
+  int __arg2 = (int) (a2);
+#define LOAD_REGS_2				\
+  register int _r5 asm ("r5") = __arg2;		\
+  LOAD_REGS_1
+#define ASM_ARGS_2      ASM_ARGS_1, "r" (_r5)
+#define LOAD_ARGS_3(a1, a2, a3)			\
+  LOAD_ARGS_2 (a1, a2)				\
+  int __arg3 = (int) (a3);
+#define LOAD_REGS_3				\
+  register int _r6 asm ("r6") = __arg3;		\
+  LOAD_REGS_2
+#define ASM_ARGS_3      ASM_ARGS_2, "r" (_r6)
+#define LOAD_ARGS_4(a1, a2, a3, a4)		\
+  LOAD_ARGS_3 (a1, a2, a3)			\
+  int __arg4 = (int) (a4);
+#define LOAD_REGS_4				\
+  register int _r7 asm ("r7") = __arg4;		\
+  LOAD_REGS_3
+#define ASM_ARGS_4      ASM_ARGS_3, "r" (_r7)
+#define LOAD_ARGS_5(a1, a2, a3, a4, a5)		\
+  LOAD_ARGS_4 (a1, a2, a3, a4)			\
+  int __arg5 = (int) (a5);
+#define LOAD_REGS_5				\
+  register int _r8 asm ("r8") = __arg5;		\
+  LOAD_REGS_4
+#define ASM_ARGS_5      ASM_ARGS_4, "r" (_r8)
+#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)	\
+  LOAD_ARGS_5 (a1, a2, a3, a4, a5)		\
+  int __arg6 = (int) (a6);
+#define LOAD_REGS_6			    \
+  register int _r9 asm ("r9") = __arg6;     \
+  LOAD_REGS_5
+#define ASM_ARGS_6      ASM_ARGS_5, "r" (_r9)
+
+#define __SYSCALL_CLOBBERS "memory"
+
+#endif /* __ASSEMBLER__ */
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE_GUARD(guard) ldw guard, POINTER_GUARD(r23)
+#  define PTR_MANGLE(dst, src, guard) xor dst, src, guard
+#  define PTR_DEMANGLE(dst, src, guard) PTR_MANGLE (dst, src, guard)
+# 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/nios2/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
new file mode 100644
index 0000000000..a844c96796
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
@@ -0,0 +1,29 @@
+#include <inttypes.h>
+#include <signal.h>
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+#include "kernel_rt_sigframe.h"
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8				(_NSIG / 8)
+
+MCONTEXT_VERSION
+
+-- Offsets of the fields in the kernel rt_sigframe_t structure.
+#define rt_sigframe(member)	offsetof (struct kernel_rt_sigframe, member)
+
+RT_SIGFRAME_SIZE		sizeof (struct kernel_rt_sigframe)
+RT_SIGFRAME_UCONTEXT		rt_sigframe (uc)
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member)	offsetof (ucontext_t, member)
+
+UCONTEXT_FLAGS			ucontext (uc_flags)
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+UCONTEXT_SIZE			sizeof (ucontext_t)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nios2/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/vfork.S
new file mode 100644
index 0000000000..eb8a579f79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nios2/vfork.S
@@ -0,0 +1,34 @@
+/* vfork for Nios II Linux.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tcb-offsets.h>
+
+ENTRY(__vfork)
+
+	movi	r4, 0x4111 /* (CLONE_VM | CLONE_VFORK | SIGCHLD) */
+	mov	r5, zero
+	DO_CALL (clone, 2)
+
+	bne	r7, zero, SYSCALL_ERROR_LABEL
+	ret
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/not-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/not-cancel.h
new file mode 100644
index 0000000000..43959bad83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/not-cancel.h
@@ -0,0 +1,109 @@
+/* Uncancelable versions of cancelable interfaces.  Linux/NPTL version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef NOT_CANCEL_H
+# define NOT_CANCEL_H
+
+#include <sysdep.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/syscall.h>
+
+/* Uncancelable open.  */
+#ifdef __NR_open
+# define open_not_cancel(name, flags, mode) \
+   INLINE_SYSCALL (open, 3, name, flags, mode)
+# define open_not_cancel_2(name, flags) \
+   INLINE_SYSCALL (open, 2, name, flags)
+#else
+# define open_not_cancel(name, flags, mode) \
+   INLINE_SYSCALL (openat, 4, AT_FDCWD, name, flags, mode)
+# define open_not_cancel_2(name, flags) \
+   INLINE_SYSCALL (openat, 3, AT_FDCWD, name, flags)
+#endif
+
+/* Uncancelable read.  */
+#define __read_nocancel(fd, buf, len) \
+  INLINE_SYSCALL (read, 3, fd, buf, len)
+
+/* Uncancelable write.  */
+#define __write_nocancel(fd, buf, len) \
+  INLINE_SYSCALL (write, 3, fd, buf, len)
+
+/* Uncancelable openat.  */
+#define openat_not_cancel(fd, fname, oflag, mode) \
+  INLINE_SYSCALL (openat, 4, fd, fname, oflag, mode)
+#define openat_not_cancel_3(fd, fname, oflag) \
+  INLINE_SYSCALL (openat, 3, fd, fname, oflag)
+#define openat64_not_cancel(fd, fname, oflag, mode) \
+  INLINE_SYSCALL (openat, 4, fd, fname, oflag | O_LARGEFILE, mode)
+#define openat64_not_cancel_3(fd, fname, oflag) \
+  INLINE_SYSCALL (openat, 3, fd, fname, oflag | O_LARGEFILE)
+
+/* Uncancelable close.  */
+#define __close_nocancel(fd) \
+  INLINE_SYSCALL (close, 1, fd)
+#define close_not_cancel(fd) \
+  __close_nocancel (fd)
+#define close_not_cancel_no_status(fd) \
+  (void) ({ INTERNAL_SYSCALL_DECL (err);				      \
+	    INTERNAL_SYSCALL (close, err, 1, (fd)); })
+
+/* Uncancelable read.  */
+#define read_not_cancel(fd, buf, n) \
+  __read_nocancel (fd, buf, n)
+
+/* Uncancelable write.  */
+#define write_not_cancel(fd, buf, n) \
+  __write_nocancel (fd, buf, n)
+
+/* Uncancelable writev.  */
+#define writev_not_cancel_no_status(fd, iov, n) \
+  (void) ({ INTERNAL_SYSCALL_DECL (err);				      \
+	    INTERNAL_SYSCALL (writev, err, 3, (fd), (iov), (n)); })
+
+/* Uncancelable fcntl.  */
+#define fcntl_not_cancel(fd, cmd, val) \
+  __fcntl_nocancel (fd, cmd, val)
+
+/* Uncancelable waitpid.  */
+#define __waitpid_nocancel(pid, stat_loc, options) \
+  INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL)
+#define waitpid_not_cancel(pid, stat_loc, options) \
+  __waitpid_nocancel(pid, stat_loc, options)
+
+/* Uncancelable pause.  */
+#define pause_not_cancel() \
+  ({ sigset_t set; 							     \
+     int __rc = INLINE_SYSCALL (rt_sigprocmask, 4, SIG_BLOCK, NULL, &set,    \
+				_NSIG / 8);				     \
+     if (__rc == 0)							     \
+       __rc = INLINE_SYSCALL (rt_sigsuspend, 2, &set, _NSIG / 8);	     \
+     __rc;								     \
+  })
+
+/* Uncancelable nanosleep.  */
+#define nanosleep_not_cancel(requested_time, remaining) \
+  INLINE_SYSCALL (nanosleep, 2, requested_time, remaining)
+
+/* Uncancelable sigsuspend.  */
+#define sigsuspend_not_cancel(set) \
+  INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8)
+
+#endif /* NOT_CANCEL_H  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nptl-signals.h b/REORG.TODO/sysdeps/unix/sysv/linux/nptl-signals.h
new file mode 100644
index 0000000000..f30c597c0e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nptl-signals.h
@@ -0,0 +1,85 @@
+/* Special use of signals in NPTL internals.  Linux version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigsetops.h>
+
+/* The signal used for asynchronous cancelation.  */
+#define SIGCANCEL       __SIGRTMIN
+
+
+/* Signal needed for the kernel-supported POSIX timer implementation.
+   We can reuse the cancellation signal since we can distinguish
+   cancellation from timer expirations.  */
+#define SIGTIMER        SIGCANCEL
+
+
+/* Signal used to implement the setuid et.al. functions.  */
+#define SIGSETXID       (__SIGRTMIN + 1)
+
+
+/* Return is sig is used internally.  */
+static inline int
+__nptl_is_internal_signal (int sig)
+{
+  return (sig == SIGCANCEL) || (sig == SIGTIMER) || (sig == SIGSETXID);
+}
+
+/* Remove internal glibc signal from the mask.  */
+static inline void
+__nptl_clear_internal_signals (sigset_t *set)
+{
+  __sigdelset (set, SIGCANCEL);
+  __sigdelset (set, SIGTIMER);
+  __sigdelset (set, SIGSETXID);
+}
+
+#define SIGALL_SET \
+  ((__sigset_t) { .__val = {[0 ...  _SIGSET_NWORDS-1 ] =  -1 } })
+
+/* Block all signals, including internal glibc ones.  */
+static inline int
+__libc_signal_block_all (sigset_t *set)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_BLOCK, &SIGALL_SET,
+			   set, _NSIG / 8);
+}
+
+/* Block all application signals (excluding internal glibc ones).  */
+static inline int
+__libc_signal_block_app (sigset_t *set)
+{
+  sigset_t allset = SIGALL_SET;
+  __nptl_clear_internal_signals (&allset);
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_BLOCK, &allset, set,
+			   _NSIG / 8);
+}
+
+/* Restore current process signal mask.  */
+static inline int
+__libc_signal_restore_set (const sigset_t *set)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, set, NULL,
+			   _NSIG / 8);
+}
+
+/* Used to communicate with signal handler.  */
+extern struct xid_command *__xidcmd attribute_hidden;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/nscd_setup_thread.c b/REORG.TODO/sysdeps/unix/sysv/linux/nscd_setup_thread.c
new file mode 100644
index 0000000000..0c5694dc15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/nscd_setup_thread.c
@@ -0,0 +1,49 @@
+/* Setup of nscd worker threads.  Linux verison.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published
+   by the Free Software Foundation; version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#include <unistd.h>
+#include <nscd.h>
+#include <sysdep.h>
+
+
+int
+setup_thread (struct database_dyn *db)
+{
+#ifdef __NR_set_tid_address
+  /* Only supported when NPTL is used.  */
+  char buf[100];
+  if (confstr (_CS_GNU_LIBPTHREAD_VERSION, buf, sizeof (buf)) >= sizeof (buf)
+      || strncmp (buf, "NPTL", 4) != 0)
+    return 0;
+
+  /* Do not try this at home, kids.  We play with the SETTID address
+     even thought the process is multi-threaded.  This can only work
+     since none of the threads ever terminates.  */
+  INTERNAL_SYSCALL_DECL (err);
+  int r = INTERNAL_SYSCALL (set_tid_address, err, 1,
+			    &db->head->nscd_certainly_running);
+  if (!INTERNAL_SYSCALL_ERROR_P (r, err))
+    /* We know the kernel can reset this field when nscd terminates.
+       So, set the field to a nonzero value which indicates that nscd
+       is certainly running and clients can skip the test.  */
+    return db->head->nscd_certainly_running = 1;
+#endif
+
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettime.c
new file mode 100644
index 0000000000..915b099dc5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettime.c
@@ -0,0 +1,41 @@
+/* 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 ntp_gettime ntp_gettime_redirect
+
+#include <sys/timex.h>
+
+#undef ntp_gettime
+
+#ifndef MOD_OFFSET
+# define modes mode
+#endif
+
+
+int
+ntp_gettime (struct ntptimeval *ntv)
+{
+  struct timex tntx;
+  int result;
+
+  tntx.modes = 0;
+  result = __adjtimex (&tntx);
+  ntv->time = tntx.time;
+  ntv->maxerror = tntx.maxerror;
+  ntv->esterror = tntx.esterror;
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettimex.c b/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettimex.c
new file mode 100644
index 0000000000..8ac180163d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ntp_gettimex.c
@@ -0,0 +1,42 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/timex.h>
+
+#ifndef MOD_OFFSET
+# define modes mode
+#endif
+
+
+int
+ntp_gettimex (struct ntptimeval *ntv)
+{
+  struct timex tntx;
+  int result;
+
+  tntx.modes = 0;
+  result = __adjtimex (&tntx);
+  ntv->time = tntx.time;
+  ntv->maxerror = tntx.maxerror;
+  ntv->esterror = tntx.esterror;
+  ntv->tai = tntx.tai;
+  ntv->__glibc_reserved1 = 0;
+  ntv->__glibc_reserved2 = 0;
+  ntv->__glibc_reserved3 = 0;
+  ntv->__glibc_reserved4 = 0;
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/open.c b/REORG.TODO/sysdeps/unix/sysv/linux/open.c
new file mode 100644
index 0000000000..b3912d5554
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/open.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+/* Open FILE with access OFLAG.  If O_CREAT or O_TMPFILE is in OFLAG,
+   a third argument is the file protection.  */
+int
+__libc_open (const char *file, int oflag, ...)
+{
+  int mode = 0;
+
+  if (__OPEN_NEEDS_MODE (oflag))
+    {
+      va_list arg;
+      va_start (arg, oflag);
+      mode = va_arg (arg, int);
+      va_end (arg);
+    }
+
+  return SYSCALL_CANCEL (openat, AT_FDCWD, file, oflag, mode);
+}
+libc_hidden_def (__libc_open)
+
+weak_alias (__libc_open, __open)
+libc_hidden_weak (__open)
+weak_alias (__libc_open, open)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/open64.c b/REORG.TODO/sysdeps/unix/sysv/linux/open64.c
new file mode 100644
index 0000000000..fcac984d22
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/open64.c
@@ -0,0 +1,59 @@
+/* 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 <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sysdep-cancel.h>
+
+/* Open FILE with access OFLAG.  If O_CREAT or O_TMPFILE is in OFLAG,
+   a third argument is the file protection.  */
+int
+__libc_open64 (const char *file, int oflag, ...)
+{
+  int mode = 0;
+
+  if (__OPEN_NEEDS_MODE (oflag))
+    {
+      va_list arg;
+      va_start (arg, oflag);
+      mode = va_arg (arg, int);
+      va_end (arg);
+    }
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+# define EXTRA_OPEN_FLAGS 0
+#else
+# define EXTRA_OPEN_FLAGS O_LARGEFILE
+#endif
+
+  return SYSCALL_CANCEL (openat, AT_FDCWD, file, oflag | EXTRA_OPEN_FLAGS,
+			 mode);
+}
+
+strong_alias (__libc_open64, __open64)
+libc_hidden_weak (__open64)
+weak_alias (__libc_open64, open64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (__libc_open64, __libc_open)
+strong_alias (__libc_open64, __open)
+libc_hidden_weak (__open)
+weak_alias (__libc_open64, open)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/open_by_handle_at.c b/REORG.TODO/sysdeps/unix/sysv/linux/open_by_handle_at.c
new file mode 100644
index 0000000000..e69f041280
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/open_by_handle_at.c
@@ -0,0 +1,37 @@
+/* Obtain handle for an open file via a handle.  Linux implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sysdep-cancel.h>
+
+int
+open_by_handle_at (int mount_fd, struct file_handle *handle, int flags)
+{
+#ifdef __NR_open_by_handle_at
+  return SYSCALL_CANCEL (open_by_handle_at, mount_fd, handle, flags);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
+}
+
+#ifndef __NR_open_by_handle_at
+stub_warning (open_by_handle_at)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/openat.c b/REORG.TODO/sysdeps/unix/sysv/linux/openat.c
new file mode 100644
index 0000000000..2c620d81cc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/openat.c
@@ -0,0 +1,61 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sysdep-cancel.h>
+#include <not-cancel.h>
+
+
+#ifndef OPENAT
+# define OPENAT openat
+#endif
+
+#define UNDERIZE(name) UNDERIZE_1 (name)
+#define UNDERIZE_1(name) __##name
+#define __OPENAT UNDERIZE (OPENAT)
+
+
+/* Open FILE with access OFLAG.  Interpret relative paths relative to
+   the directory associated with FD.  If OFLAG includes O_CREAT or
+   O_TMPFILE, a fourth argument is the file protection.  */
+int
+__OPENAT (int fd, const char *file, int oflag, ...)
+{
+  mode_t mode = 0;
+  if (__OPEN_NEEDS_MODE (oflag))
+    {
+      va_list arg;
+      va_start (arg, oflag);
+      mode = va_arg (arg, mode_t);
+      va_end (arg);
+    }
+
+  /* We have to add the O_LARGEFILE flag for openat64.  */
+#ifdef MORE_OFLAGS
+  oflag |= MORE_OFLAGS;
+#endif
+
+  return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
+}
+libc_hidden_def (__OPENAT)
+weak_alias (__OPENAT, OPENAT)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/openat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/openat64.c
new file mode 100644
index 0000000000..9e7a2b3737
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/openat64.c
@@ -0,0 +1,4 @@
+#define OPENAT openat64
+#define MORE_OFLAGS O_LARGEFILE
+
+#include "openat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/opendir.c b/REORG.TODO/sysdeps/unix/sysv/linux/opendir.c
new file mode 100644
index 0000000000..20bcdfde8e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/opendir.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define O_DIRECTORY_WORKS	1
+
+#include <sysdeps/posix/opendir.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/opensock.c b/REORG.TODO/sysdeps/unix/sysv/linux/opensock.c
new file mode 100644
index 0000000000..b8fd27f863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/opensock.c
@@ -0,0 +1,114 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+
+/* Return a socket of any type.  The socket can be used in subsequent
+   ioctl calls to talk to the kernel.  */
+int internal_function
+__opensock (void)
+{
+  static int last_family;	/* Available socket family we will use.  */
+  static int last_type;
+  static const struct
+  {
+    int family;
+    const char procname[15];
+  } afs[] =
+    {
+      { AF_UNIX, "net/unix" },
+      { AF_INET, "" },
+      { AF_INET6, "net/if_inet6" },
+      { AF_AX25, "net/ax25" },
+      { AF_NETROM, "net/nr" },
+      { AF_ROSE, "net/rose" },
+      { AF_IPX, "net/ipx" },
+      { AF_APPLETALK, "net/appletalk" },
+      { AF_ECONET, "sys/net/econet" },
+      { AF_ASH, "sys/net/ash" },
+      { AF_X25, "net/x25" },
+#ifdef NEED_AF_IUCV
+      { AF_IUCV, "net/iucv" }
+#endif
+    };
+#define nafs (sizeof (afs) / sizeof (afs[0]))
+  char fname[sizeof "/proc/" + 14];
+  int result;
+  int has_proc;
+  size_t cnt;
+
+  /* We already know which family to use from the last call.  Use it
+     again.  */
+  if (last_family != 0)
+    {
+      assert (last_type != 0);
+
+      result = __socket (last_family, last_type | SOCK_CLOEXEC, 0);
+      if (result != -1 || errno != EAFNOSUPPORT)
+	/* Maybe the socket type isn't supported anymore (module is
+	   unloaded).  In this case again try to find the type.  */
+	return result;
+
+      /* Reset the values.  They seem not valid anymore.  */
+      last_family = 0;
+      last_type = 0;
+    }
+
+  /* Check whether the /proc filesystem is available.  */
+  has_proc = __access ("/proc/net", R_OK) != -1;
+  strcpy (fname, "/proc/");
+
+  /* Iterate over the interface families and find one which is
+     available.  */
+  for (cnt = 0; cnt < nafs; ++cnt)
+    {
+      int type = SOCK_DGRAM;
+
+      if (has_proc && afs[cnt].procname[0] != '\0')
+	{
+	  strcpy (fname + 6, afs[cnt].procname);
+	  if (__access (fname, R_OK) == -1)
+	    /* The /proc entry is not available.  I.e., we cannot
+	       create a socket of this type (without loading the
+	       module).  Don't look for it since this might trigger
+	       loading the module.  */
+	    continue;
+	}
+
+      if (afs[cnt].family == AF_NETROM || afs[cnt].family == AF_X25)
+	type = SOCK_SEQPACKET;
+
+      result = __socket (afs[cnt].family, type | SOCK_CLOEXEC, 0);
+      if (result != -1)
+	{
+	  /* Found an available family.  */
+	  last_type = type;
+	  last_family = afs[cnt].family;
+	  return result;
+	}
+    }
+
+  /* None of the protocol families is available.  It is unclear what kind
+     of error is returned.  ENOENT seems like a reasonable choice.  */
+  __set_errno (ENOENT);
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.c
new file mode 100644
index 0000000000..01d8c2bedd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.c
@@ -0,0 +1,293 @@
+/* Get file-specific information about a file.  Linux version.
+   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 <errno.h>
+#include <mntent.h>
+#include <stdio_ext.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/sysmacros.h>
+
+#include "pathconf.h"
+#include "linux_fsinfo.h"
+#include <not-cancel.h>
+
+static long int posix_pathconf (const char *file, int name);
+
+/* Define this first, so it can be inlined.  */
+#define __pathconf static posix_pathconf
+#include <sysdeps/posix/pathconf.c>
+
+
+/* Get file-specific information about FILE.  */
+long int
+__pathconf (const char *file, int name)
+{
+  struct statfs fsbuf;
+
+  switch (name)
+    {
+    case _PC_LINK_MAX:
+      return __statfs_link_max (__statfs (file, &fsbuf), &fsbuf, file, -1);
+
+    case _PC_FILESIZEBITS:
+      return __statfs_filesize_max (__statfs (file, &fsbuf), &fsbuf);
+
+    case _PC_2_SYMLINKS:
+      return __statfs_symlinks (__statfs (file, &fsbuf), &fsbuf);
+
+    case _PC_CHOWN_RESTRICTED:
+      return __statfs_chown_restricted (__statfs (file, &fsbuf), &fsbuf);
+
+    default:
+      return posix_pathconf (file, name);
+    }
+}
+
+
+static long int
+distinguish_extX (const struct statfs *fsbuf, const char *file, int fd)
+{
+  char buf[64];
+  char path[PATH_MAX];
+  struct stat64 st;
+
+  if ((file == NULL ? fstat64 (fd, &st) : stat64 (file, &st)) != 0)
+    /* Strange.  The statfd call worked, but stat fails.  Default to
+       the more pessimistic value.  */
+    return EXT2_LINK_MAX;
+
+  __snprintf (buf, sizeof (buf), "/sys/dev/block/%u:%u",
+	      gnu_dev_major (st.st_dev), gnu_dev_minor (st.st_dev));
+
+  ssize_t n = __readlink (buf, path, sizeof (path));
+  if (n != -1 && n < sizeof (path))
+    {
+      path[n] = '\0';
+      char *base = strdupa (__basename (path));
+      __snprintf (path, sizeof (path), "/sys/fs/ext4/%s", base);
+
+      return __access (path, F_OK) == 0 ? EXT4_LINK_MAX : EXT2_LINK_MAX;
+    }
+
+  /* XXX Is there a better way to distinguish ext2/3 from ext4 than
+     iterating over the mounted filesystems and compare the device
+     numbers?  */
+  FILE *mtab = __setmntent ("/proc/mounts", "r");
+  if (mtab == NULL)
+    mtab = __setmntent (_PATH_MOUNTED, "r");
+
+  /* By default be conservative.  */
+  long int result = EXT2_LINK_MAX;
+  if (mtab != NULL)
+    {
+      struct mntent mntbuf;
+      char tmpbuf[1024];
+
+      /* No locking needed.  */
+      (void) __fsetlocking (mtab, FSETLOCKING_BYCALLER);
+
+      while (__getmntent_r (mtab, &mntbuf, tmpbuf, sizeof (tmpbuf)))
+	{
+	  if (strcmp (mntbuf.mnt_type, "ext2") != 0
+	      && strcmp (mntbuf.mnt_type, "ext3") != 0
+	      && strcmp (mntbuf.mnt_type, "ext4") != 0)
+	    continue;
+
+	  struct stat64 fsst;
+	  if (stat64 (mntbuf.mnt_dir, &fsst) >= 0
+	      && st.st_dev == fsst.st_dev)
+	    {
+	      if (strcmp (mntbuf.mnt_type, "ext4") == 0)
+		result = EXT4_LINK_MAX;
+	      break;
+	    }
+	}
+
+      /* Close the file.  */
+      __endmntent (mtab);
+    }
+
+  return result;
+}
+
+
+/* Used like: return statfs_link_max (__statfs (name, &buf), &buf); */
+long int
+__statfs_link_max (int result, const struct statfs *fsbuf, const char *file,
+		   int fd)
+{
+  if (result < 0)
+    {
+      if (errno == ENOSYS)
+	/* Not possible, return the default value.  */
+	return LINUX_LINK_MAX;
+
+      /* Some error occured.  */
+      return -1;
+    }
+
+  switch (fsbuf->f_type)
+    {
+    case EXT2_SUPER_MAGIC:
+      /* Unfortunately the kernel does not return a different magic number
+	 for ext4.  This would be necessary to easily detect etx4 since it
+	 has a different LINK_MAX value.  Therefore we have to find it out
+	 the hard way.  */
+      return distinguish_extX (fsbuf, file, fd);
+
+    case F2FS_SUPER_MAGIC:
+      return F2FS_LINK_MAX;
+
+    case MINIX_SUPER_MAGIC:
+    case MINIX_SUPER_MAGIC2:
+      return MINIX_LINK_MAX;
+
+    case MINIX2_SUPER_MAGIC:
+    case MINIX2_SUPER_MAGIC2:
+      return MINIX2_LINK_MAX;
+
+    case XENIX_SUPER_MAGIC:
+      return XENIX_LINK_MAX;
+
+    case SYSV4_SUPER_MAGIC:
+    case SYSV2_SUPER_MAGIC:
+      return SYSV_LINK_MAX;
+
+    case COH_SUPER_MAGIC:
+      return COH_LINK_MAX;
+
+    case UFS_MAGIC:
+    case UFS_CIGAM:
+      return UFS_LINK_MAX;
+
+    case REISERFS_SUPER_MAGIC:
+      return REISERFS_LINK_MAX;
+
+    case XFS_SUPER_MAGIC:
+      return XFS_LINK_MAX;
+
+    case LUSTRE_SUPER_MAGIC:
+      return LUSTRE_LINK_MAX;
+
+    default:
+      return LINUX_LINK_MAX;
+    }
+}
+
+
+/* Used like: return statfs_filesize_max (__statfs (name, &buf), &buf); */
+long int
+__statfs_filesize_max (int result, const struct statfs *fsbuf)
+{
+  if (result < 0)
+    {
+      if (errno == ENOSYS)
+	/* Not possible, return the default value.  */
+	return 32;
+
+      /* Some error occured.  */
+      return -1;
+    }
+
+  switch (fsbuf->f_type)
+    {
+    case F2FS_SUPER_MAGIC:
+      return 256;
+
+    case BTRFS_SUPER_MAGIC:
+      return 255;
+
+    case EXT2_SUPER_MAGIC:
+    case UFS_MAGIC:
+    case UFS_CIGAM:
+    case REISERFS_SUPER_MAGIC:
+    case XFS_SUPER_MAGIC:
+    case SMB_SUPER_MAGIC:
+    case NTFS_SUPER_MAGIC:
+    case UDF_SUPER_MAGIC:
+    case JFS_SUPER_MAGIC:
+    case VXFS_SUPER_MAGIC:
+    case CGROUP_SUPER_MAGIC:
+    case LUSTRE_SUPER_MAGIC:
+      return 64;
+
+    case MSDOS_SUPER_MAGIC:
+    case JFFS_SUPER_MAGIC:
+    case JFFS2_SUPER_MAGIC:
+    case NCP_SUPER_MAGIC:
+    case ROMFS_SUPER_MAGIC:
+      return 32;
+
+    default:
+      return 32;
+    }
+}
+
+
+/* Used like: return statfs_link_max (__statfs (name, &buf), &buf); */
+long int
+__statfs_symlinks (int result, const struct statfs *fsbuf)
+{
+  if (result < 0)
+    {
+      if (errno == ENOSYS)
+	/* Not possible, return the default value.  */
+	return 1;
+
+      /* Some error occured.  */
+      return -1;
+    }
+
+  switch (fsbuf->f_type)
+    {
+    case ADFS_SUPER_MAGIC:
+    case BFS_MAGIC:
+    case CRAMFS_MAGIC:
+    case DEVPTS_SUPER_MAGIC:
+    case EFS_SUPER_MAGIC:
+    case EFS_MAGIC:
+    case MSDOS_SUPER_MAGIC:
+    case NTFS_SUPER_MAGIC:
+    case QNX4_SUPER_MAGIC:
+    case ROMFS_SUPER_MAGIC:
+      /* No symlink support.  */
+      return 0;
+
+    default:
+      return 1;
+    }
+}
+
+
+/* Used like: return __statfs_chown_restricted (__statfs (name, &buf), &buf);*/
+long int
+__statfs_chown_restricted (int result, const struct statfs *fsbuf)
+{
+  if (result < 0)
+    {
+      if (errno == ENOSYS)
+	/* Not possible, return the default value.  */
+	return 1;
+
+      /* Some error occured.  */
+      return -1;
+    }
+
+  return 1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.h b/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.h
new file mode 100644
index 0000000000..5de2915f40
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pathconf.h
@@ -0,0 +1,40 @@
+/* Common parts of Linux implementation of pathconf and fpathconf.
+   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 <errno.h>
+#include <unistd.h>
+#include <sys/statfs.h>
+
+
+/* Used like: return __statfs_link_max (__statfs (name, &buf), &buf,
+					name, -1); */
+extern long int __statfs_link_max (int result, const struct statfs *fsbuf,
+				   const char *file, int fd);
+
+
+/* Used like: return __statfs_filesize_max (__statfs (name, &buf), &buf); */
+extern long int __statfs_filesize_max (int result, const struct statfs *fsbuf);
+
+
+/* Used like: return __statfs_link_max (__statfs (name, &buf), &buf); */
+extern long int __statfs_symlinks (int result, const struct statfs *fsbuf);
+
+
+/* Used like: return __statfs_chown_restricted (__statfs (name, &buf), &buf);*/
+extern long int __statfs_chown_restricted (int result,
+					   const struct statfs *fsbuf);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/paths.h b/REORG.TODO/sysdeps/unix/sysv/linux/paths.h
new file mode 100644
index 0000000000..1342ab3a96
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/paths.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 1989, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)paths.h	8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _PATHS_H_
+#define	_PATHS_H_
+
+/* Default search path. */
+#define	_PATH_DEFPATH	"/usr/bin:/bin"
+/* All standard utilities path. */
+#define	_PATH_STDPATH \
+	"/usr/bin:/bin:/usr/sbin:/sbin"
+
+#define	_PATH_BSHELL	"/bin/sh"
+#define	_PATH_CONSOLE	"/dev/console"
+#define	_PATH_CSHELL	"/bin/csh"
+#define	_PATH_DEVDB	"/var/run/dev.db"
+#define	_PATH_DEVNULL	"/dev/null"
+#define	_PATH_DRUM	"/dev/drum"
+#define	_PATH_GSHADOW	"/etc/gshadow"
+#define	_PATH_KLOG	"/proc/kmsg"
+#define	_PATH_KMEM	"/dev/kmem"
+#define	_PATH_LASTLOG	"/var/log/lastlog"
+#define	_PATH_MAILDIR	"/var/mail"
+#define	_PATH_MAN	"/usr/share/man"
+#define	_PATH_MEM	"/dev/mem"
+#define	_PATH_MNTTAB	"/etc/fstab"
+#define	_PATH_MOUNTED	"/etc/mtab"
+#define	_PATH_NOLOGIN	"/etc/nologin"
+#define	_PATH_PRESERVE	"/var/lib"
+#define	_PATH_RWHODIR	"/var/spool/rwho"
+#define	_PATH_SENDMAIL	"/usr/sbin/sendmail"
+#define	_PATH_SHADOW	"/etc/shadow"
+#define	_PATH_SHELLS	"/etc/shells"
+#define	_PATH_TTY	"/dev/tty"
+#define	_PATH_UNIX	"/boot/vmlinux"
+#define	_PATH_UTMP	"/var/run/utmp"
+#define	_PATH_VI	"/usr/bin/vi"
+#define	_PATH_WTMP	"/var/log/wtmp"
+
+/* Provide trailing slash, since mostly used for building pathnames. */
+#define	_PATH_DEV	"/dev/"
+#define	_PATH_TMP	"/tmp/"
+#define	_PATH_VARDB	"/var/db/"
+#define	_PATH_VARRUN	"/var/run/"
+#define	_PATH_VARTMP	"/var/tmp/"
+
+#endif /* !_PATHS_H_ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pause.c b/REORG.TODO/sysdeps/unix/sysv/linux/pause.c
new file mode 100644
index 0000000000..4ccce9ebd8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pause.c
@@ -0,0 +1,35 @@
+/* Linux pause syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Suspend the process until a signal arrives.
+   This always returns -1 and sets errno to EINTR.  */
+
+int
+__libc_pause (void)
+{
+#ifdef __NR_pause
+  return SYSCALL_CANCEL (pause);
+#else
+  return SYSCALL_CANCEL (ppoll, NULL, 0, NULL, NULL);
+#endif
+}
+weak_alias (__libc_pause, pause)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/personality.c b/REORG.TODO/sysdeps/unix/sysv/linux/personality.c
new file mode 100644
index 0000000000..6913a2bc62
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/personality.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/personality.h>
+#include <sysdep.h>
+
+extern __typeof (personality) __personality;
+
+int
+__personality (unsigned long persona)
+{
+#ifdef PERSONALITY_TRUNCATE_ARGUMENT
+  /* Starting with kernel commit v2.6.21-3117-g97dc32c, the type of
+     task_struct->pesonality is "unsigned int".
+     Starting with kernel commit v2.6.35-rc1-372-g485d527, the personality
+     syscall accepts "unsigned int" instead of "long unsigned int".
+     Inbetween, a personality argument that does not fit into "unsigned int"
+     would result to system call returning -EINVAL.
+     We explicitly truncate the personality argument to "unsigned int"
+     to eliminate the uncertainty.  */
+  persona = (unsigned int) persona;
+#endif
+
+  INTERNAL_SYSCALL_DECL (err);
+  long ret = INTERNAL_SYSCALL (personality, err, 1, persona);
+
+  /* Starting with kernel commit v2.6.29-6609-g11d06b2, the personality syscall
+     never fails.  However, 32-bit kernels might flag valid values as errors, so
+     we need to reverse the error setting.  We can't use the raw result as some
+     arches split the return/error values.  */
+  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (ret, err)))
+    ret = -INTERNAL_SYSCALL_ERRNO (ret, err);
+  return ret;
+}
+weak_alias (__personality, personality)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/poll.c b/REORG.TODO/sysdeps/unix/sysv/linux/poll.c
new file mode 100644
index 0000000000..5a781ddf48
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/poll.c
@@ -0,0 +1,46 @@
+/* Linux poll implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/poll.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+
+int
+__poll (struct pollfd *fds, nfds_t nfds, int timeout)
+{
+#ifdef __NR_poll
+  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
+#else
+  struct timespec timeout_ts;
+  struct timespec *timeout_ts_p = NULL;
+
+  if (timeout >= 0)
+    {
+      timeout_ts.tv_sec = timeout / 1000;
+      timeout_ts.tv_nsec = (timeout % 1000) * 1000000;
+      timeout_ts_p = &timeout_ts;
+    }
+
+  return SYSCALL_CANCEL (ppoll, fds, nfds, timeout_ts_p, NULL, 0);
+#endif
+}
+libc_hidden_def (__poll)
+weak_alias (__poll, poll)
+strong_alias (__poll, __libc_poll)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise.c b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise.c
new file mode 100644
index 0000000000..222ac978e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise.c
@@ -0,0 +1,74 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep.h>
+
+/* Advice the system about the expected behaviour of the application with
+   respect to the file associated with FD.  */
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+/* Default implementation will use __NR_fadvise64 with expected argument
+   positions (for instance i386 and powerpc32 that uses __ALIGNMENT_ARG).
+
+   Second option will be used by arm which define __NR_arm_fadvise64_64
+   (redefined to __NR_fadvise64_64 in kernel-features.h) that behaves as
+   __NR_fadvise64_64 (without the aligment argument required for the ABI).
+
+   Third option will be used by both tile 32-bits and mips o32.  Tile
+   will set __ASSUME_FADVISE64_64_NO_ALIGN to issue a 6 argument syscall,
+   while mips will use a 7 argument one with __NR_fadvise64.
+
+   s390 implements fadvice64_64 using a specific struct with arguments
+   packed inside.  This is the only implementation handled in arch-specific
+   code.  */
+
+int
+posix_fadvise (int fd, off_t offset, off_t len, int advise)
+{
+  INTERNAL_SYSCALL_DECL (err);
+# if defined (__NR_fadvise64) && !defined (__ASSUME_FADVISE64_AS_64_64)
+  int ret = INTERNAL_SYSCALL_CALL (fadvise64, err, fd,
+				   __ALIGNMENT_ARG SYSCALL_LL (offset),
+				   len, advise);
+# else
+#  ifdef __ASSUME_FADVISE64_64_6ARG
+  int ret = INTERNAL_SYSCALL_CALL (fadvise64_64, err, fd, advise,
+				   SYSCALL_LL (offset), SYSCALL_LL (len));
+#  else
+
+#   ifdef __ASSUME_FADVISE64_64_NO_ALIGN
+#    undef __ALIGNMENT_ARG
+#    define __ALIGNMENT_ARG
+#   endif
+
+#   ifndef __NR_fadvise64_64
+#    define __NR_fadvise64_64 __NR_fadvise64
+#   endif
+
+  int ret = INTERNAL_SYSCALL_CALL (fadvise64_64, err, fd,
+				   __ALIGNMENT_ARG SYSCALL_LL (offset),
+				   SYSCALL_LL (len), advise);
+#  endif
+# endif
+  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
+    return INTERNAL_SYSCALL_ERRNO (ret, err);
+  return 0;
+}
+#endif /* __OFF_T_MATCHES_OFF64_T  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise64.c b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise64.c
new file mode 100644
index 0000000000..aaee60add7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fadvise64.c
@@ -0,0 +1,85 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <shlib-compat.h>
+
+int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
+
+/* Both arm and powerpc implements fadvise64_64 with last 'advise' argument
+   just after 'fd' to avoid the requirement of implementing 7-arg syscalls.
+   ARM also defines __NR_fadvise64_64 as __NR_arm_fadvise64_64.
+
+   tile requires __ASSUME_ALIGNED_REGISTER_PAIRS but implements the 32-bit
+   fadvise64_64 without the padding 0 after fd.
+
+   s390 implements fadvice64_64 using a specific struct with arguments
+   packed inside.  This is the only implementation handled in arch-specific
+   code.  */
+
+#ifdef __ASSUME_FADVISE64_64_NO_ALIGN
+# undef __ALIGNMENT_ARG
+# define __ALIGNMENT_ARG
+#endif
+
+#ifndef __NR_fadvise64_64
+# define __NR_fadvise64_64 __NR_fadvise64
+#endif
+
+/* Advice the system about the expected behaviour of the application with
+   respect to the file associated with FD.  */
+
+int
+__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
+{
+  INTERNAL_SYSCALL_DECL (err);
+#ifdef __ASSUME_FADVISE64_64_6ARG
+  int ret = INTERNAL_SYSCALL_CALL (fadvise64_64, err, fd, advise,
+				   SYSCALL_LL64 (offset), SYSCALL_LL64 (len));
+#else
+  int ret = INTERNAL_SYSCALL_CALL (fadvise64_64, err, fd,
+				   __ALIGNMENT_ARG SYSCALL_LL64 (offset),
+				   SYSCALL_LL64 (len), advise);
+#endif
+  if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
+    return 0;
+  return INTERNAL_SYSCALL_ERRNO (ret, err);
+}
+
+/* The type of the len argument was changed from size_t to off_t in
+   POSIX.1-2003 TC1.  */
+#ifndef __OFF_T_MATCHES_OFF64_T
+# if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)
+int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
+
+int
+attribute_compat_text_section
+__posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise)
+{
+  return __posix_fadvise64_l64 (fd, offset, len, advise);
+}
+
+versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3);
+compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2);
+# else
+weak_alias (__posix_fadvise64_l64, posix_fadvise64);
+# endif
+#else
+weak_alias (__posix_fadvise64_l64, posix_fadvise64);
+strong_alias (__posix_fadvise64_l64, posix_fadvise);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate.c b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate.c
new file mode 100644
index 0000000000..257e1aad55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sysdep.h>
+
+#define posix_fallocate static internal_fallocate
+#include <sysdeps/posix/posix_fallocate.c>
+#undef posix_fallocate
+
+/* Reserve storage for the data of the file associated with FD.  */
+int
+posix_fallocate (int fd, __off_t offset, __off_t len)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  int res = INTERNAL_SYSCALL_CALL (fallocate, err, fd, 0,
+				   SYSCALL_LL (offset), SYSCALL_LL (len));
+  if (! INTERNAL_SYSCALL_ERROR_P (res, err))
+    return 0;
+  if (INTERNAL_SYSCALL_ERRNO (res, err) != EOPNOTSUPP)
+    return INTERNAL_SYSCALL_ERRNO (res, err);
+  return internal_fallocate (fd, offset, len);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate64.c b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate64.c
new file mode 100644
index 0000000000..eb05f7c5d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/posix_fallocate64.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sysdep.h>
+
+extern int __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len);
+#define __posix_fallocate64_l64 static internal_fallocate64
+#include <sysdeps/posix/posix_fallocate64.c>
+#undef __posix_fallocate64_l64
+
+/* Reserve storage for the data of the file associated with FD.  */
+int
+__posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len)
+{
+  INTERNAL_SYSCALL_DECL (err);
+#ifdef INTERNAL_SYSCALL_TYPES
+  int res = INTERNAL_SYSCALL_TYPES (fallocate, err, 4, int, fd,
+                                    int, 0, off_t, offset,
+                                    off_t, len);
+#else
+  int res = INTERNAL_SYSCALL_CALL (fallocate, err, fd, 0,
+				   SYSCALL_LL64 (offset), SYSCALL_LL64 (len));
+#endif
+  if (! INTERNAL_SYSCALL_ERROR_P (res, err))
+    return 0;
+  if (INTERNAL_SYSCALL_ERRNO (res, err) != EOPNOTSUPP)
+    return INTERNAL_SYSCALL_ERRNO (res, err);
+  return internal_fallocate64 (fd, offset, len);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/posix_madvise.c b/REORG.TODO/sysdeps/unix/sysv/linux/posix_madvise.c
new file mode 100644
index 0000000000..87b5c17557
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/posix_madvise.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sys/mman.h>
+
+
+int
+posix_madvise (void *addr, size_t len, int advice)
+{
+  /* We have one problem: the kernel's MADV_DONTNEED does not
+     correspond to POSIX's POSIX_MADV_DONTNEED.  The former simply
+     discards changes made to the memory without writing it back to
+     disk, if this would be necessary.  The POSIX behavior does not
+     allow this.  There is no functionality mapping the POSIX behavior
+     so far so we ignore that advice for now.  */
+  if (advice == POSIX_MADV_DONTNEED)
+    return 0;
+
+  INTERNAL_SYSCALL_DECL (err);
+  int result = INTERNAL_SYSCALL (madvise, err, 3, addr, len, advice);
+  return INTERNAL_SYSCALL_ERRNO (result, err);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Implies
new file mode 100644
index 0000000000..466b7f4b4a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Implies
@@ -0,0 +1 @@
+powerpc/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Makefile
new file mode 100644
index 0000000000..2cfb46eca3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -0,0 +1,39 @@
+abi-variants := 32 64-v1 64-v2
+abi-32-options := -U__powerpc64__
+abi-32-condition := __WORDSIZE == 32
+abi-64-v1-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=1
+abi-64-v1-condition := __WORDSIZE == 64 && _CALL_ELF != 2
+abi-64-v2-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=2
+abi-64-v2-condition := __WORDSIZE == 64 && _CALL_ELF == 2
+
+ifeq ($(subdir),rt)
+librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
+sysdep-dl-routines += dl-static
+endif
+# Otherwise tst-tls-dlinfo fails due to tst-tlsmod2.so using static tls.
+LDFLAGS-tst-tlsmod2.so += -Wl,--no-tls-get-addr-optimize
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += bits/ppc.h
+sysdep_routines += get_timebase_freq
+tests += test-gettimebasefreq
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-routines += sysdep
+libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
+			      elision-trylock
+libpthread-shared-only-routines += sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Versions
new file mode 100644
index 0000000000..8ebeea15a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/Versions
@@ -0,0 +1,19 @@
+ld {
+  GLIBC_PRIVATE {
+  # used for loading by static libraries
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_PRIVATE {
+    __vdso_get_tbfreq;
+    __vdso_clock_gettime;
+    __vdso_clock_getres;
+    __vdso_getcpu;
+    __vdso_time;
+  }
+}
+libm {
+  GLIBC_2.19 {
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/arch-fork.h
new file mode 100644
index 0000000000..5f945378ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/arch-fork.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/arch-fork.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/environments.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
new file mode 100644
index 0000000000..475d5648d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
@@ -0,0 +1,96 @@
+/* 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/>.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+   Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
+   # undef _POSIX_V6_ILP32_OFF32
+   # undef _POSIX_V6_ILP32_OFFBIG
+   # undef _XBS5_ILP32_OFF32
+   # undef _XBS5_ILP32_OFFBIG
+   and users need to check at runtime.  */
+
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64	1
+# define _POSIX_V6_LP64_OFF64	1
+# define _XBS5_LP64_OFF64	1
+
+#else /* __WORDSIZE == 32 */
+
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32	1
+# define _POSIX_V7_ILP32_OFFBIG	1
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
+# define _XBS5_ILP32_OFF32	1
+# define _XBS5_ILP32_OFFBIG	1
+
+/* We optionally provide an environment with the above size but an 64-bit
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
+
+/* Environments with 64-bit wide pointers can be provided,
+   so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
+   # undef _POSIX_V6_LP64_OFF64
+   # undef _POSIX_V6_LPBIG_OFFBIG
+   # undef _XBS5_LP64_OFF64
+   # undef _XBS5_LPBIG_OFFBIG
+   and sysconf tests for it at runtime.  */
+
+#endif /* __WORDSIZE == 32 */
+
+#define __ILP32_OFF32_CFLAGS	"-m32"
+#define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+#define __ILP32_OFF32_LDFLAGS	"-m32"
+#define __ILP32_OFFBIG_LDFLAGS	"-m32"
+#define __LP64_OFF64_CFLAGS	"-m64"
+#define __LP64_OFF64_LDFLAGS	"-m64"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
new file mode 100644
index 0000000000..48bb5adc03
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
@@ -0,0 +1,62 @@
+/* O_*, F_*, FD_* bit values for Linux/PowerPC.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#define __O_DIRECTORY	 040000	/* Must be a directory.	 */
+#define __O_NOFOLLOW	0100000	/* Do not follow links.	 */
+#define __O_DIRECT	0400000	/* Direct disk access.	*/
+
+#if __WORDSIZE == 64
+/* Not necessary, files are always with 64bit off_t.  */
+# define __O_LARGEFILE  0
+#else
+# define __O_LARGEFILE	0200000
+#endif
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h
new file mode 100644
index 0000000000..b52e4c1403
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h
@@ -0,0 +1,77 @@
+/* Structure types for pre-termios terminal ioctls.  Linux/powerpc version.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Get definition of constants for use with `ioctl'.  */
+#include <asm/ioctls.h>
+
+
+struct winsize
+  {
+    unsigned short int ws_row;
+    unsigned short int ws_col;
+    unsigned short int ws_xpixel;
+    unsigned short int ws_ypixel;
+  };
+
+#define NCC 10
+struct termio
+  {
+    unsigned short int c_iflag;		/* input mode flags */
+    unsigned short int c_oflag;		/* output mode flags */
+    unsigned short int c_cflag;		/* control mode flags */
+    unsigned short int c_lflag;		/* local mode flags */
+    unsigned char c_line;		/* line discipline */
+    unsigned char c_cc[NCC];		/* control characters */
+};
+
+/* modem lines */
+#define TIOCM_LE	0x001
+#define TIOCM_DTR	0x002
+#define TIOCM_RTS	0x004
+#define TIOCM_ST	0x008
+#define TIOCM_SR	0x010
+#define TIOCM_CTS	0x020
+#define TIOCM_CAR	0x040
+#define TIOCM_RNG	0x080
+#define TIOCM_DSR	0x100
+#define TIOCM_CD	TIOCM_CAR
+#define TIOCM_RI	TIOCM_RNG
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+
+/* line disciplines */
+#define N_TTY		0
+#define N_SLIP		1
+#define N_MOUSE		2
+#define N_PPP		3
+#define N_STRIP		4
+#define N_AX25		5
+#define N_X25		6	/* X.25 async  */
+#define N_6PACK		7
+#define N_MASC		8	/* Mobitex module  */
+#define N_R3964		9	/* Simatic R3964 module  */
+#define N_PROFIBUS_FDL	10	/* Profibus  */
+#define N_IRDA		11	/* Linux IR  */
+#define N_SMSBLOCK	12	/* SMS block mode  */
+#define N_HDLC		13	/* synchronous HDLC  */
+#define N_SYNC_PPP	14	/* synchronous PPP  */
+#define	N_HCI		15	/* Bluetooth HCI UART  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h
new file mode 100644
index 0000000000..bd8196967d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;		/* Key.  */
+    __uid_t uid;		/* Owner's user ID.  */
+    __gid_t gid;		/* Owner's group ID.  */
+    __uid_t cuid;		/* Creator's user ID.  */
+    __gid_t cgid;		/* Creator's group ID.  */
+    __mode_t mode;		/* Read/write permission.  */
+    __uint32_t __seq;		/* Sequence number.  */
+    __uint32_t __pad1;
+    __uint64_t __glibc_reserved1;
+    __uint64_t __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
new file mode 100644
index 0000000000..12b2b767ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
@@ -0,0 +1,100 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/PPC version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  At least two pages for systems with 64k
+   pages.  */
+#define PTHREAD_STACK_MIN	131072
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
new file mode 100644
index 0000000000..53bc198d7b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
@@ -0,0 +1,49 @@
+/* Definitions for POSIX memory map interface.  Linux/PowerPC version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+#define PROT_SAO	0x10		/* Strong Access Ordering.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x00080		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x00040		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Flags for `mlockall'.  */
+#define MCL_CURRENT	0x2000		/* Lock all currently mapped pages.  */
+#define MCL_FUTURE	0x4000		/* Lock all additions to address
+					   space.  */
+#define MCL_ONFAULT	0x8000		/* Lock all pages that are
+					   faulted in.  */
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/msq.h
new file mode 100644
index 0000000000..f056c99547
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/msq.h
@@ -0,0 +1,83 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR    010000  /* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT    020000  /* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;    /* structure describing operation permission */
+#if __WORDSIZE == 32
+  unsigned int __glibc_reserved1;
+#endif
+  __time_t msg_stime;          /* time of last msgsnd command */
+#if __WORDSIZE == 32
+  unsigned int __glibc_reserved2;
+#endif
+  __time_t msg_rtime;          /* time of last msgrcv command */
+#if __WORDSIZE == 32
+  unsigned int __glibc_reserved3;
+#endif
+  __time_t msg_ctime;          /* time of last change */
+  unsigned long __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;          /* number of messages currently on queue */
+  msglen_t msg_qbytes;         /* max number of bytes allowed on queue */
+  __pid_t msg_lspid;           /* pid of last msgsnd() */
+  __pid_t msg_lrpid;           /* pid of last msgrcv() */
+  unsigned long __glibc_reserved4;
+  unsigned long __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes    __msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ppc.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ppc.h
new file mode 100644
index 0000000000..1d0a39737b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/ppc.h
@@ -0,0 +1,33 @@
+/* Facilities specific to the PowerPC architecture on Linux
+   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/>.  */
+
+#ifndef _BITS_PPC_H
+#define _BITS_PPC_H
+
+#ifndef _SYS_PLATFORM_PPC_H
+# error "Never include this file directly; use <sys/platform/ppc.h> instead."
+#endif
+
+__BEGIN_DECLS
+
+/* Read the time base frequency.   */
+extern uint64_t __ppc_get_timebase_freq (void);
+
+__END_DECLS
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sem.h
new file mode 100644
index 0000000000..b5ba64c95c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sem.h
@@ -0,0 +1,90 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO       0x1000          /* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID         11              /* get sempid */
+#define GETVAL         12              /* get semval */
+#define GETALL         13              /* get all semval's */
+#define GETNCNT                14              /* get semncnt */
+#define GETZCNT                15              /* get semzcnt */
+#define SETVAL         16              /* set semval */
+#define SETALL         17              /* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;            /* operation permission struct */
+#if __WORDSIZE == 32
+  unsigned int __glibc_reserved1;
+#endif
+  __time_t sem_otime;                  /* last semop() time */
+#if __WORDSIZE == 32
+  unsigned int __glibc_reserved2;
+#endif
+  __time_t sem_ctime;                  /* last time changed by semctl() */
+  unsigned long int sem_nsems;         /* number of semaphores in set */
+  unsigned long __glibc_reserved3;
+  unsigned long __glibc_reserved4;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;                          <= value for SETVAL
+     struct semid_ds *buf;             <= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;                <= array for GETALL & SETALL
+     struct seminfo *__buf;            <= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED   1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h
new file mode 100644
index 0000000000..05e68d4342
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h
@@ -0,0 +1,40 @@
+/* Machine-specific POSIX semaphore type layouts.  PowerPC version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SEMAPHORE_H
+# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+# define __SIZEOF_SEM_T	32
+#else
+# define __SIZEOF_SEM_T	16
+#endif
+
+/* Value returned if `sem_open' failed.  */
+#define SEM_FAILED      ((sem_t *) 0)
+
+
+typedef union
+{
+  char __size[__SIZEOF_SEM_T];
+  long int __align;
+} sem_t;
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/shm.h
new file mode 100644
index 0000000000..3812e73944
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/shm.h
@@ -0,0 +1,112 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R          0400            /* or S_IRUGO from <linux/stat.h> */
+#define SHM_W          0200            /* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000          /* attach read-only else read-write */
+#define SHM_RND		020000          /* round attach address to SHMLBA */
+#define SHM_REMAP	040000          /* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK       11              /* lock segment (root only) */
+#define SHM_UNLOCK     12              /* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;          /* operation permission struct */
+#if __WORDSIZE == 32
+    unsigned int __glibc_reserved1;
+#endif
+    __time_t shm_atime;                        /* time of last shmat() */
+#if __WORDSIZE == 32
+    unsigned int __glibc_reserved2;
+#endif
+    __time_t shm_dtime;                        /* time of last shmdt() */
+#if __WORDSIZE == 32
+    unsigned int __glibc_reserved3;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+#if __WORDSIZE == 32
+    unsigned int __glibc_reserved4;
+#endif
+    size_t shm_segsz;                  /* size of segment in bytes */
+    __pid_t shm_cpid;                  /* pid of creator */
+    __pid_t shm_lpid;                  /* pid of last shmop */
+    shmatt_t shm_nattch;               /* number of current attaches */
+    unsigned long __glibc_reserved5;
+    unsigned long __glibc_reserved6;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT      13
+# define SHM_INFO      14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST      01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED    02000	/* segment will not be swapped */
+# define SHM_HUGETLB   04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE 010000	/* don't check for reservations */
+
+struct shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot; /* total allocated shm */
+    unsigned long int shm_rss; /* total resident shm */
+    unsigned long int shm_swp; /* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
new file mode 100644
index 0000000000..74670cb037
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   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 _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	4096
+
+/* System default stack size.  */
+#define SIGSTKSZ	16384
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
new file mode 100644
index 0000000000..e95a52822e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
@@ -0,0 +1,275 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+#include <bits/wordsize.h>
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX	  3
+#if __WORDSIZE == 32
+# define _STAT_VER		_STAT_VER_LINUX
+#else
+# define _STAT_VER		_STAT_VER_KERNEL
+#endif
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+
+
+#if __WORDSIZE == 32
+
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+# ifndef __USE_FILE_OFFSET64
+    unsigned short int __pad1;
+    __ino_t st_ino;			/* File serial number.	*/
+# else
+    __ino64_t st_ino;			/* File serial number.	*/
+# endif
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+# ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+# else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+# endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+# ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+# else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# endif
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#  define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#  define st_mtime st_mtim.tv_sec
+#  define st_ctime st_ctim.tv_sec
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+
+# ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+    __ino64_t st_ino;			/* File serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#  ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#   define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+#  else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#  endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+# endif /* __USE_LARGEFILE64 */
+
+#else /* __WORDSIZE == 32 */
+
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+# ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;			/* File serial number.	*/
+# else
+    __ino64_t st_ino;			/* File serial number.	*/
+# endif
+    __nlink_t st_nlink;			/* Link count.  */
+    __mode_t st_mode;			/* File mode.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    int __pad2;
+    __dev_t st_rdev;			/* Device number, if device.  */
+# ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+# else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+# endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+# ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+# else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# endif
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#  define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#  define st_mtime st_mtim.tv_sec
+#  define st_ctime st_ctim.tv_sec
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+    unsigned long int __glibc_reserved6;
+  };
+
+# ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+    __ino64_t st_ino;			/* File serial number.	*/
+    __nlink_t st_nlink;			/* Link count.  */
+    __mode_t st_mode;			/* File mode.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    int __pad2;
+    __dev_t st_rdev;			/* Device number, if device.  */
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#  ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#   define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+#  else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#  endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+    unsigned long int __glibc_reserved6;
+  };
+# endif /* __USE_LARGEFILE64 */
+#endif
+
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
new file mode 100644
index 0000000000..4811486c64
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -0,0 +1,279 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+/*
+ * termios type and macro definitions.  Be careful about adding stuff
+ * to this file since it's used in GNU libc and there are strict rules
+ * concerning namespace pollution.
+ */
+
+#define NCCS 32
+struct termios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline (== c_cc[19]) */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
+};
+
+/* c_cc characters */
+#define VINTR	0
+#define VQUIT	1
+#define VERASE	2
+#define VKILL	3
+#define VEOF	4
+#define VMIN	5
+#define VEOL	6
+#define VTIME	7
+#define VEOL2	8
+#define VSWTC	9
+
+#define VWERASE	10
+#define VREPRINT	11
+#define VSUSP		12
+#define VSTART		13
+#define VSTOP		14
+#define VLNEXT		15
+#define VDISCARD	16
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IXON	0001000
+#define IXOFF	0002000
+#define IXANY	0004000
+#define IUCLC	0010000
+#define IMAXBEL	0020000
+#define IUTF8	0040000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	00001400
+# define   NL0	00000000
+# define   NL1	00000400
+# if defined __USE_MISC
+#  define   NL2	00001000
+#  define   NL3	00001400
+# endif
+# define TABDLY	00006000
+# define   TAB0	00000000
+# define   TAB1	00002000
+# define   TAB2	00004000
+# define   TAB3	00006000
+# define CRDLY	00030000
+# define   CR0	00000000
+# define   CR1	00010000
+# define   CR2	00020000
+# define   CR3	00030000
+# define FFDLY	00040000
+# define   FF0	00000000
+# define   FF1	00040000
+# define BSDLY	00100000
+# define   BS0	00000000
+# define   BS1	00100000
+#endif
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+
+#ifdef __USE_MISC
+# define XTABS	00006000
+#endif
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0000377
+#endif
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+# define CBAUDEX 0000020
+#endif
+#define  B57600   00020
+#define  B115200  00021
+#define  B230400  00022
+#define  B460800  00023
+#define  B500000  00024
+#define  B576000  00025
+#define  B921600  00026
+#define  B1000000 00027
+#define  B1152000 00030
+#define  B1500000 00031
+#define  B2000000 00032
+#define  B2500000 00033
+#define  B3000000 00034
+#define  B3500000 00035
+#define  B4000000 00036
+#define __MAX_BAUD B4000000
+
+#define CSIZE	00001400
+#define   CS5	00000000
+#define   CS6	00000400
+#define   CS7	00001000
+#define   CS8	00001400
+
+#define CSTOPB	00002000
+#define CREAD	00004000
+#define PARENB	00010000
+#define PARODD	00020000
+#define HUPCL	00040000
+
+#define CLOCAL	00100000
+#ifdef __USE_MISC
+# define CMSPAR   010000000000		/* mark or space (stick) parity */
+# define CRTSCTS  020000000000		/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0x00000080
+#define ICANON	0x00000100
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0x00004000
+#endif
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000040
+# define ECHOPRT	0x00000020
+# define ECHOKE	0x00000001
+# define FLUSHO	0x00800000
+# define PENDIN	0x20000000
+#endif
+#define IEXTEN	0x00000400
+#ifdef __USE_MISC
+# define EXTPROC 0x10000000
+#endif
+
+/* Values for the ACTION argument to `tcflow'.  */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+#ifdef __USE_MISC
+
+struct sgttyb {
+	char	sg_ispeed;
+	char	sg_ospeed;
+	char	sg_erase;
+	char	sg_kill;
+	short	sg_flags;
+};
+
+struct tchars {
+	char	t_intrc;
+	char	t_quitc;
+	char	t_startc;
+	char	t_stopc;
+	char	t_eofc;
+	char	t_brkc;
+};
+
+struct ltchars {
+	char	t_suspc;
+	char	t_dsuspc;
+	char	t_rprntc;
+	char	t_flushc;
+	char	t_werasc;
+	char	t_lnextc;
+};
+
+/* Used for packet mode */
+#define TIOCPKT_DATA		 0
+#define TIOCPKT_FLUSHREAD	 1
+#define TIOCPKT_FLUSHWRITE	 2
+#define TIOCPKT_STOP		 4
+#define TIOCPKT_START		 8
+#define TIOCPKT_NOSTOP		16
+#define TIOCPKT_DOSTOP		32
+
+/* c_cc characters */
+#define _VINTR	0
+#define _VQUIT	1
+#define _VERASE	2
+#define _VKILL	3
+#define _VEOF	4
+#define _VMIN	5
+#define _VEOL	6
+#define _VTIME	7
+#define _VEOL2	8
+#define _VSWTC	9
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+
+#endif /* __USE_MISC  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
new file mode 100644
index 0000000000..04ca9debf0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
@@ -0,0 +1,11 @@
+/* Determine the wordsize from the preprocessor defines.  */
+
+#if defined __powerpc64__
+# define __WORDSIZE	64
+# define __WORDSIZE_TIME64_COMPAT32	1
+#else
+# define __WORDSIZE	32
+# define __WORDSIZE_TIME64_COMPAT32	0
+# define __WORDSIZE32_SIZE_ULONG	0
+# define __WORDSIZE32_PTRDIFF_LONG	0
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure
new file mode 100644
index 0000000000..6f883de396
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure
@@ -0,0 +1,79 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/.
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS -mlong-double-128 uses IBM extended format" >&5
+$as_echo_n "checking whether $CC $CFLAGS -mlong-double-128 uses IBM extended format... " >&6; }
+if ${libc_cv_mlong_double_128ibm+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mlong-double-128"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+int
+main ()
+{
+
+#if LDBL_MANT_DIG != 106
+# error "compiler doesn't implement IBM extended format of long double"
+#endif
+long double foobar (long double x) { return x; }
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_cv_mlong_double_128ibm=yes
+else
+  libc_cv_mlong_double_128ibm=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$save_CFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mlong_double_128ibm" >&5
+$as_echo "$libc_cv_mlong_double_128ibm" >&6; }
+
+if test "$libc_cv_mlong_double_128ibm" = no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS supports -mabi=ibmlongdouble" >&5
+$as_echo_n "checking whether $CC $CFLAGS supports -mabi=ibmlongdouble... " >&6; }
+if ${libc_cv_mabi_ibmlongdouble+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+int
+main ()
+{
+
+#if LDBL_MANT_DIG != 106
+# error "compiler doesn't implement IBM extended format of long double"
+#endif
+long double foobar (long double x) { return x; }
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libc_cv_mabi_ibmlongdouble=yes
+else
+  libc_cv_mabi_ibmlongdouble=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$save_CFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mabi_ibmlongdouble" >&5
+$as_echo "$libc_cv_mabi_ibmlongdouble" >&6; }
+
+  if test "$libc_cv_mabi_ibmlongdouble" = yes; then
+    CFLAGS="$CFLAGS -mabi=ibmlongdouble"
+  else
+    as_fn_error $? "this configuration requires -mlong-double-128 IBM extended format support" "$LINENO" 5
+  fi
+fi
+
+ldd_rewrite_script=sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure.ac
new file mode 100644
index 0000000000..b8e5f9ac32
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/configure.ac
@@ -0,0 +1,39 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/.
+
+AC_CACHE_CHECK(whether $CC $CFLAGS -mlong-double-128 uses IBM extended format,
+	       libc_cv_mlong_double_128ibm, [dnl
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mlong-double-128"
+AC_TRY_COMPILE([#include <float.h>], [
+#if LDBL_MANT_DIG != 106
+# error "compiler doesn't implement IBM extended format of long double"
+#endif
+long double foobar (long double x) { return x; }],
+	       libc_cv_mlong_double_128ibm=yes,
+	       libc_cv_mlong_double_128ibm=no)
+CFLAGS="$save_CFLAGS"])
+
+if test "$libc_cv_mlong_double_128ibm" = no; then
+  AC_CACHE_CHECK(whether $CC $CFLAGS supports -mabi=ibmlongdouble,
+		 libc_cv_mabi_ibmlongdouble, [dnl
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
+  AC_TRY_COMPILE([#include <float.h>], [
+#if LDBL_MANT_DIG != 106
+# error "compiler doesn't implement IBM extended format of long double"
+#endif
+long double foobar (long double x) { return x; }],
+		 libc_cv_mabi_ibmlongdouble=yes,
+		 libc_cv_mabi_ibmlongdouble=no)
+  CFLAGS="$save_CFLAGS"])
+
+  if test "$libc_cv_mabi_ibmlongdouble" = yes; then
+    CFLAGS="$CFLAGS -mabi=ibmlongdouble"
+  else
+    AC_MSG_ERROR([this configuration requires -mlong-double-128 IBM extended format support])
+  fi
+fi
+
+ldd_rewrite_script=sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
new file mode 100644
index 0000000000..eeb96544e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-cache.h
new file mode 100644
index 0000000000..766bba4265
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-cache.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-static.c
new file mode 100644
index 0000000000..38772797b4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  PowerPC version.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0
+    };
+
+  GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize)
+};
+
+static void
+_dl_unprotect_relro (struct link_map *l)
+{
+  ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
+		      & ~(GLRO(dl_pagesize) - 1));
+  ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
+		    & ~(GLRO(dl_pagesize) - 1));
+
+  if (start != end)
+    __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
+}
+
+void
+_dl_static_init (struct link_map *l)
+{
+  struct link_map *rtld_map = l;
+  struct r_scope_elem **scope;
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+  size_t i;
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
+				  NULL, 0, 1, NULL);
+
+  for (scope = l->l_local_scope; *scope != NULL; scope++)
+    for (i = 0; i < (*scope)->r_nlist; i++)
+      if ((*scope)->r_list[i] == loadbase)
+	{
+	  rtld_map = (*scope)->r_list[i];
+	  break;
+	}
+
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      _dl_unprotect_relro (rtld_map);
+      f (variables);
+      _dl_protect_relro (rtld_map);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
new file mode 100644
index 0000000000..23f5d5d388
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -0,0 +1,33 @@
+/* Operating system support for run-time dynamic linker.  Linux/PPC 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 <config.h>
+#include <ldsodefs.h>
+
+int __cache_line_size attribute_hidden;
+
+/* Scan the Aux Vector for the "Data Cache Block Size" entry.  If found
+   verify that the static extern __cache_line_size is defined by checking
+   for not NULL.  If it is defined then assign the cache block size
+   value to __cache_line_size.  */
+#define DL_PLATFORM_AUXV						      \
+      case AT_DCACHEBSIZE:						      \
+	__cache_line_size = av->a_un.a_val;				      \
+	break;
+
+#include <sysdeps/unix/sysv/linux/dl-sysdep.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
new file mode 100644
index 0000000000..f631f0a035
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
@@ -0,0 +1,83 @@
+/* elision-conf.c: Lock elision tunable parameters.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "config.h"
+#include <pthreadP.h>
+#include <elision-conf.h>
+#include <unistd.h>
+#include <dl-procinfo.h>
+
+/* Reasonable initial tuning values, may be revised in the future.
+   This is a conservative initial value.  */
+
+struct elision_config __elision_aconf =
+  {
+    /* How many times to use a non-transactional lock after a transactional
+       failure has occurred because the lock is already acquired.  Expressed
+       in number of lock acquisition attempts.  */
+    .skip_lock_busy = 3,
+    /* How often to not attempt to use elision if a transaction aborted due
+       to reasons other than other threads' memory accesses.  Expressed in
+       number of lock acquisition attempts.  */
+    .skip_lock_internal_abort = 3,
+    /* How often to not attempt to use elision if a lock used up all retries
+       without success.  Expressed in number of lock acquisition attempts.  */
+    .skip_lock_out_of_tbegin_retries = 3,
+    /* How often we retry using elision if there is chance for the transaction
+       to finish execution (e.g., it wasn't aborted due to the lock being
+       already acquired.  */
+    .try_tbegin = 3,
+    /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock.  */
+    .skip_trylock_internal_abort = 3,
+  };
+
+/* Force elision for all new locks.  This is used to decide whether existing
+   DEFAULT locks should be automatically use elision in pthread_mutex_lock().
+   Disabled for suid programs.  Only used when elision is available.  */
+
+int __pthread_force_elision attribute_hidden;
+
+/* Initialize elision.  */
+
+static void
+elision_init (int argc __attribute__ ((unused)),
+	      char **argv  __attribute__ ((unused)),
+	      char **environ)
+{
+#ifdef ENABLE_LOCK_ELISION
+  int elision_available = (GLRO (dl_hwcap2) & PPC_FEATURE2_HAS_HTM) ? 1 : 0;
+  __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
+#endif
+  if (!__pthread_force_elision)
+    /* Disable elision on rwlocks.  */
+    __elision_aconf.try_tbegin = 0;
+}
+
+#ifdef SHARED
+# define INIT_SECTION ".init_array"
+# define MAYBE_CONST
+#else
+# define INIT_SECTION ".preinit_array"
+# define MAYBE_CONST const
+#endif
+
+void (*MAYBE_CONST __pthread_init_array []) (int, char **, char **)
+  __attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
+{
+  &elision_init
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.h
new file mode 100644
index 0000000000..75ffd9741d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-conf.h
@@ -0,0 +1,42 @@
+/* elision-conf.h: Lock elision tunable parameters.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _ELISION_CONF_H
+#define _ELISION_CONF_H 1
+
+#include <pthread.h>
+#include <time.h>
+
+/* Should make sure there is no false sharing on this.  */
+struct elision_config
+{
+  int skip_lock_busy;
+  int skip_lock_internal_abort;
+  int skip_lock_out_of_tbegin_retries;
+  int try_tbegin;
+  int skip_trylock_internal_abort;
+} __attribute__ ((__aligned__ (128)));
+
+extern struct elision_config __elision_aconf attribute_hidden;
+
+extern int __pthread_force_elision attribute_hidden;
+
+/* Tell the test suite to test elision for this architecture.  */
+#define HAVE_ELISION 1
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
new file mode 100644
index 0000000000..f7a5cbcd3a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
@@ -0,0 +1,86 @@
+/* elision-lock.c: Elided pthread mutex lock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <pthread.h>
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include <elision-conf.h>
+#include "htm.h"
+
+#if !defined(LLL_LOCK) && !defined(EXTRAARG)
+/* Make sure the configuration code is always linked in for static
+   libraries.  */
+#include "elision-conf.c"
+#endif
+
+#ifndef EXTRAARG
+# define EXTRAARG
+#endif
+#ifndef LLL_LOCK
+# define LLL_LOCK(a,b) lll_lock(a,b), 0
+#endif
+
+#define aconf __elision_aconf
+
+/* Adaptive lock using transactions.
+   By default the lock region is run as a transaction, and when it
+   aborts or the lock is busy the lock adapts itself.  */
+
+int
+__lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
+{
+  /* adapt_count is accessed concurrently but is just a hint.  Thus,
+     use atomic accesses but relaxed MO is sufficient.  */
+  if (atomic_load_relaxed (adapt_count) > 0)
+    {
+      goto use_lock;
+    }
+
+  for (int i = aconf.try_tbegin; i > 0; i--)
+    {
+      if (__libc_tbegin (0))
+	{
+	  if (*lock == 0)
+	    return 0;
+	  /* Lock was busy.  Fall back to normal locking.  */
+	  __libc_tabort (_ABORT_LOCK_BUSY);
+	}
+      else
+	{
+	  /* A persistent failure indicates that a retry will probably
+	     result in another failure.  Use normal locking now and
+	     for the next couple of calls.  */
+	  if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+	    {
+	      if (aconf.skip_lock_internal_abort > 0)
+		atomic_store_relaxed (adapt_count,
+				      aconf.skip_lock_internal_abort);
+	      goto use_lock;
+	    }
+	}
+     }
+
+  /* Fall back to locks for a bit if retries have been exhausted */
+  if (aconf.try_tbegin > 0 && aconf.skip_lock_out_of_tbegin_retries > 0)
+    atomic_store_relaxed (adapt_count,
+			  aconf.skip_lock_out_of_tbegin_retries);
+
+use_lock:
+  return LLL_LOCK ((*lock), pshared);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-timed.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-timed.c
new file mode 100644
index 0000000000..95317c96eb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-timed.c
@@ -0,0 +1,28 @@
+/* elision-timed.c: Lock elision timed lock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+#include <elision-conf.h>
+#include "lowlevellock.h"
+
+#define __lll_lock_elision __lll_timedlock_elision
+#define EXTRAARG const struct timespec *t,
+#undef LLL_LOCK
+#define LLL_LOCK(a, b) lll_timedlock(a, t, b)
+
+#include "elision-lock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
new file mode 100644
index 0000000000..ed244d3f12
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
@@ -0,0 +1,69 @@
+/* elision-trylock.c: Lock eliding trylock for pthreads.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include <elision-conf.h>
+#include "htm.h"
+
+#define aconf __elision_aconf
+
+/* Try to elide a futex trylock.  FUTEX is the futex variable.  ADAPT_COUNT is
+   the adaptation counter in the mutex.  */
+
+int
+__lll_trylock_elision (int *futex, short *adapt_count)
+{
+  /* Implement POSIX semantics by forbiding nesting elided trylocks.  */
+  __libc_tabort (_ABORT_NESTED_TRYLOCK);
+
+  /* Only try a transaction if it's worth it.  */
+  if (atomic_load_relaxed (adapt_count) > 0)
+    {
+      goto use_lock;
+    }
+
+  if (__libc_tbegin (0))
+    {
+      if (*futex == 0)
+	return 0;
+
+      /* Lock was busy.  This is never a nested transaction.
+         End it, and set the adapt count.  */
+      __libc_tend (0);
+
+      if (aconf.skip_lock_busy > 0)
+	atomic_store_relaxed (adapt_count, aconf.skip_lock_busy);
+    }
+  else
+    {
+      if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+	{
+	  /* A persistent failure indicates that a retry will probably
+	     result in another failure.  Use normal locking now and
+	     for the next couple of calls.  */
+	  if (aconf.skip_trylock_internal_abort > 0)
+	    atomic_store_relaxed (adapt_count,
+				aconf.skip_trylock_internal_abort);
+	}
+    }
+
+use_lock:
+  return lll_trylock (*futex);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
new file mode 100644
index 0000000000..e3fe58e3f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
@@ -0,0 +1,43 @@
+/* elision-unlock.c: Commit an elided pthread lock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "pthreadP.h"
+#include "lowlevellock.h"
+#include "htm.h"
+
+int
+__lll_unlock_elision (int *lock, short *adapt_count, int pshared)
+{
+  /* When the lock was free we're in a transaction.  */
+  if (*lock == 0)
+    __libc_tend (0);
+  else
+    {
+      /* Update adapt_count in the critical section to prevent a
+	 write-after-destroy error as mentioned in BZ 20822.  The
+	 following update of adapt_count has to be contained within
+	 the critical region of the fall-back lock in order to not violate
+	 the mutex destruction requirements.  */
+      short __tmp = atomic_load_relaxed (adapt_count);
+      if (__tmp > 0)
+	atomic_store_relaxed (adapt_count, __tmp - 1);
+
+      lll_unlock ((*lock), pshared);
+    }
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/force-elision.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/force-elision.h
new file mode 100644
index 0000000000..318f7915c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/force-elision.h
@@ -0,0 +1,28 @@
+/* force-elision.h: Automatic enabling of elision for mutexes
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef ENABLE_LOCK_ELISION
+/* Automatically enable elision for existing user lock kinds.  */
+#define FORCE_ELISION(m, s)						\
+  if (__pthread_force_elision						\
+      && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0)	\
+    {									\
+      mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP;			\
+      s;								\
+    }
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
new file mode 100644
index 0000000000..b8d01d8ca6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
@@ -0,0 +1,107 @@
+/* Get frequency of the system processor.  powerpc/Linux version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sysdep.h>
+#include <libc-vdso.h>
+#include <not-cancel.h>
+
+hp_timing_t
+__get_clockfreq (void)
+{
+  hp_timing_t result = 0L;
+
+#ifdef SHARED
+  /* The vDSO does not return an error (it clear cr0.so on returning).  */
+  INTERNAL_SYSCALL_DECL (err);
+  result =
+    INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK (get_tbfreq, err, uint64_t, 0);
+#else
+  /* We read the information from the /proc filesystem.  /proc/cpuinfo
+     contains at least one line like:
+     timebase        : 33333333
+     We search for this line and convert the number into an integer.  */
+  int fd = open_not_cancel_2 ("/proc/cpuinfo", O_RDONLY);
+  if (__glibc_likely (fd != -1))
+    return result;
+
+  /* The timebase will be in the 1st 1024 bytes for systems with up
+     to 8 processors.  If the first read returns less then 1024
+     bytes read,  we have the whole cpuinfo and can start the scan.
+     Otherwise we will have to read more to insure we have the
+     timebase value in the scan.  */
+  char buf[1024];
+  ssize_t n;
+
+  n = __read_nocancel (fd, buf, sizeof (buf));
+  if (n == sizeof (buf))
+    {
+      /* We are here because the 1st read returned exactly sizeof
+         (buf) bytes.  This implies that we are not at EOF and may
+         not have read the timebase value yet.  So we need to read
+         more bytes until we know we have EOF.  We copy the lower
+         half of buf to the upper half and read sizeof (buf)/2
+         bytes into the lower half of buf and repeat until we
+         reach EOF.  We can assume that the timebase will be in
+         the last 512 bytes of cpuinfo, so two 512 byte half_bufs
+         will be sufficient to contain the timebase and will
+         handle the case where the timebase spans the half_buf
+         boundry.  */
+      const ssize_t half_buf = sizeof (buf) / 2;
+      while (n >= half_buf)
+	{
+	  memcpy (buf, buf + half_buf, half_buf);
+	  n = __read_nocancel (fd, buf + half_buf, half_buf);
+	}
+      if (n >= 0)
+	n += half_buf;
+    }
+  __close_nocancel (fd);
+
+  if (__glibc_likely (n > 0))
+    {
+      char *mhz = memmem (buf, n, "timebase", 7);
+
+      if (__glibc_likely (mhz != NULL))
+	{
+	  char *endp = buf + n;
+
+	  /* Search for the beginning of the string.  */
+	  while (mhz < endp && (*mhz < '0' || *mhz > '9') && *mhz != '\n')
+	    ++mhz;
+
+	  while (mhz < endp && *mhz != '\n')
+	    {
+	      if (*mhz >= '0' && *mhz <= '9')
+		{
+		  result *= 10;
+		  result += *mhz - '0';
+		}
+
+	      ++mhz;
+	    }
+	}
+    }
+#endif
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c
new file mode 100644
index 0000000000..a905d5cd5f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c
@@ -0,0 +1,27 @@
+/* Get the frequency of the time base.
+   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 <stdint.h>
+#include <libc-internal.h>
+
+uint64_t
+__get_timebase_freq (void)
+{
+  return (uint64_t) __get_clockfreq ();
+}
+weak_alias (__get_timebase_freq, __ppc_get_timebase_freq)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getmsg.c
new file mode 100644
index 0000000000..3a1fa08525
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/getmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
new file mode 100644
index 0000000000..6f09fa20d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
@@ -0,0 +1,85 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if defined SHARED && !defined __powerpc64__
+# define __gettimeofday __redirect___gettimeofday
+#else
+# define __redirect___gettimeofday __gettimeofday
+#endif
+
+#include <sys/time.h>
+
+#ifdef SHARED
+
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+# include <dl-machine.h>
+
+# ifndef __powerpc64__
+#  undef __gettimeofday
+
+int
+__gettimeofday_vsyscall (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
+}
+
+/* __GI___gettimeofday is defined as hidden and for ppc32 it enables the
+   compiler make a local call (symbol@local) for internal GLIBC usage. It
+   means the PLT won't be used and the ifunc resolver will be called directly.
+   For ppc64 a call to a function in another translation unit might use a
+   different toc pointer thus disallowing direct branchess and making internal
+   ifuncs calls safe.  */
+#  undef libc_hidden_def
+#  define libc_hidden_def(name)					\
+  __hidden_ver1 (__gettimeofday_vsyscall, __GI___gettimeofday,	\
+	       __gettimeofday_vsyscall);
+
+# endif /* !__powerpc64__  */
+
+static int
+__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
+}
+
+# define INIT_ARCH()							\
+  PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);		\
+  void *vdso_gettimeofday = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2615);
+
+/* If the vDSO is not available we fall back syscall.  */
+libc_ifunc_hidden (__redirect___gettimeofday, __gettimeofday,
+		   vdso_gettimeofday
+		   ? VDSO_IFUNC_RET (vdso_gettimeofday)
+		   : (void *) __gettimeofday_syscall);
+libc_hidden_def (__gettimeofday)
+
+#else
+
+# include <sysdep.h>
+# include <errno.h>
+
+int
+__gettimeofday (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
+}
+libc_hidden_def (__gettimeofday)
+
+#endif
+weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/htm.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/htm.h
new file mode 100644
index 0000000000..e8e9688b12
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/htm.h
@@ -0,0 +1,171 @@
+/* Shared HTM header.  Emulate transactional execution facility intrinsics for
+   compilers and assemblers that do not support the intrinsics and instructions
+   yet.
+
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _HTM_H
+#define _HTM_H 1
+
+#ifdef __ASSEMBLER__
+
+/* tbegin.  */
+.macro TBEGIN
+	.long 0x7c00051d
+.endm
+
+/* tend. 0  */
+.macro TEND
+	.long 0x7c00055d
+.endm
+
+/* tabort. code  */
+.macro TABORT code
+	.byte 0x7c
+	.byte \code
+	.byte 0x07
+	.byte 0x1d
+.endm
+
+/*"TEXASR - Transaction EXception And Summary Register"
+   mfspr %dst,130  */
+.macro TEXASR dst
+	mfspr \dst,130
+.endm
+
+#else
+
+#include <endian.h>
+
+/* Official HTM intrinsics interface matching GCC, but works
+   on older GCC compatible compilers and binutils.
+   We should somehow detect if the compiler supports it, because
+   it may be able to generate slightly better code.  */
+
+#define TBEGIN ".long 0x7c00051d"
+#define TEND   ".long 0x7c00055d"
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define TABORT ".byte 0x1d,0x07,%1,0x7c"
+#else
+# define TABORT ".byte 0x7c,%1,0x07,0x1d"
+#endif
+
+#define __force_inline        inline __attribute__((__always_inline__))
+
+#ifndef __HTM__
+
+#define _TEXASRU_EXTRACT_BITS(TEXASR,BITNUM,SIZE) \
+  (((TEXASR) >> (31-(BITNUM))) & ((1<<(SIZE))-1))
+#define _TEXASRU_FAILURE_PERSISTENT(TEXASRU) \
+  _TEXASRU_EXTRACT_BITS(TEXASRU, 7, 1)
+
+#define _tbegin()			\
+  ({ unsigned int __ret;		\
+     asm volatile (			\
+       TBEGIN "\t\n"			\
+       "mfcr   %0\t\n"			\
+       "rlwinm %0,%0,3,1\t\n"		\
+       "xori %0,%0,1\t\n"		\
+       : "=r" (__ret) :			\
+       : "cr0", "memory");		\
+     __ret;				\
+  })
+
+#define _tend()				\
+  ({ unsigned int __ret;		\
+     asm volatile (			\
+       TEND "\t\n"			\
+       "mfcr   %0\t\n"			\
+       "rlwinm %0,%0,3,1\t\n"		\
+       "xori %0,%0,1\t\n"		\
+       : "=r" (__ret) :			\
+       : "cr0", "memory");		\
+     __ret;				\
+  })
+
+#define _tabort(__code)			\
+  ({ unsigned int __ret;		\
+     asm volatile (			\
+       TABORT "\t\n"			\
+       "mfcr   %0\t\n"			\
+       "rlwinm %0,%0,3,1\t\n"		\
+       "xori %0,%0,1\t\n"		\
+       : "=r" (__ret) : "r" (__code)	\
+       : "cr0", "memory");		\
+     __ret;				\
+  })
+
+#define _texasru()			\
+  ({ unsigned long __ret;		\
+     asm volatile (			\
+       "mfspr %0,131\t\n"		\
+       : "=r" (__ret));			\
+     __ret;				\
+  })
+
+#define __libc_tbegin(tdb)       _tbegin ()
+#define __libc_tend(nested)      _tend ()
+#define __libc_tabort(abortcode) _tabort (abortcode)
+#define __builtin_get_texasru()  _texasru ()
+
+#else
+# include <htmintrin.h>
+
+# ifdef __TM_FENCE__
+   /* New GCC behavior.  */
+#  define __libc_tbegin(R)  __builtin_tbegin (R)
+#  define __libc_tend(R)    __builtin_tend (R)
+#  define __libc_tabort(R)  __builtin_tabort (R)
+# else
+   /* Workaround an old GCC behavior. Earlier releases of GCC 4.9 and 5.0,
+      didn't use to treat __builtin_tbegin, __builtin_tend and
+      __builtin_tabort as compiler barriers, moving instructions into and
+      out the transaction.
+      Remove this when glibc drops support for GCC 5.0.  */
+#  define __libc_tbegin(R)			\
+   ({ __asm__ volatile("" ::: "memory");	\
+     unsigned int __ret = __builtin_tbegin (R);	\
+     __asm__ volatile("" ::: "memory");		\
+     __ret;					\
+   })
+#  define __libc_tabort(R)			\
+  ({ __asm__ volatile("" ::: "memory");		\
+    unsigned int __ret = __builtin_tabort (R);	\
+    __asm__ volatile("" ::: "memory");		\
+    __ret;					\
+  })
+#  define __libc_tend(R)			\
+   ({ __asm__ volatile("" ::: "memory");	\
+     unsigned int __ret = __builtin_tend (R);	\
+     __asm__ volatile("" ::: "memory");		\
+     __ret;					\
+   })
+# endif /* __TM_FENCE__  */
+#endif /* __HTM__  */
+
+#endif /* __ASSEMBLER__ */
+
+/* Definitions used for TEXASR Failure code (bits 0:7).  If the failure
+   should be persistent, the abort code must be odd.  0xd0 through 0xff
+   are reserved for the kernel and potential hypervisor.  */
+#define _ABORT_PERSISTENT      0x01   /* An unspecified persistent abort.  */
+#define _ABORT_LOCK_BUSY       0x34   /* Busy lock, not persistent.  */
+#define _ABORT_NESTED_TRYLOCK  (0x32 | _ABORT_PERSISTENT)
+#define _ABORT_SYSCALL         (0x30 | _ABORT_PERSISTENT)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/init-first.c
new file mode 100644
index 0000000000..64b7589c1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/init-first.c
@@ -0,0 +1,85 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/PowerPC.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+  attribute_hidden;
+int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+unsigned long long (*VDSO_SYMBOL(get_tbfreq)) (void);
+int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *);
+time_t (*VDSO_SYMBOL(time)) (time_t *);
+
+#if defined(__PPC64__) || defined(__powerpc64__)
+void *VDSO_SYMBOL(sigtramp_rt64);
+#else
+void *VDSO_SYMBOL(sigtramp32);
+void *VDSO_SYMBOL(sigtramp_rt32);
+#endif
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);
+
+  void *p = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_gettime", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_getres", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_getres) = p;
+
+  p = _dl_vdso_vsym ("__kernel_get_tbfreq", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (get_tbfreq) = p;
+
+  p = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (getcpu) = p;
+
+  p = _dl_vdso_vsym ("__kernel_time", &linux2615);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (time) = p;
+
+  /* PPC64 uses only one signal trampoline symbol, while PPC32 will use
+     two depending if SA_SIGINFO is used (__kernel_sigtramp_rt32) or not
+     (__kernel_sigtramp32).
+     There is no need to pointer mangle these symbol because they will
+     used only for pointer comparison.  */
+#if defined(__PPC64__) || defined(__powerpc64__)
+  VDSO_SYMBOL(sigtramp_rt64) = _dl_vdso_vsym ("__kernel_sigtramp_rt64",
+					      &linux2615);
+#else
+  VDSO_SYMBOL(sigtramp32) = _dl_vdso_vsym ("__kernel_sigtramp32", &linux2615);
+  VDSO_SYMBOL(sigtramp_rt32) = _dl_vdso_vsym ("__kernel_sigtramp_rt32",
+					      &linux2615);
+#endif
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ioctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ioctl.c
new file mode 100644
index 0000000000..e2e3d3357f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ioctl.c
@@ -0,0 +1,64 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdarg.h>
+#include <termios.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sysdep.h>
+
+/* The user-visible size of struct termios has changed.  Catch ioctl calls
+   using the new-style struct termios, and translate them to old-style.  */
+
+int
+__ioctl (int fd, unsigned long int request, ...)
+{
+  void *arg;
+  va_list ap;
+  int result;
+
+  va_start (ap, request);
+  arg = va_arg (ap, void *);
+
+  switch (request)
+    {
+    case TCGETS:
+      result = __tcgetattr (fd, (struct termios *) arg);
+      break;
+
+    case TCSETS:
+      result = tcsetattr (fd, TCSANOW, (struct termios *) arg);
+      break;
+
+    case TCSETSW:
+      result = tcsetattr (fd, TCSADRAIN, (struct termios *) arg);
+      break;
+
+    case TCSETSF:
+      result = tcsetattr (fd, TCSAFLUSH, (struct termios *) arg);
+      break;
+
+    default:
+      result = INLINE_SYSCALL (ioctl, 3, fd, request, arg);
+      break;
+    }
+
+  va_end (ap);
+
+  return result;
+}
+weak_alias (__ioctl, ioctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h
new file mode 100644
index 0000000000..849190c67b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h
@@ -0,0 +1,39 @@
+/* Old SysV permission definition for Linux.  PowerPC version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x100
+
+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.  */
+};
+
+#define SEMCTL_ARG_ADDRESS(__arg) &__arg.array
+
+#define MSGRCV_ARGS(__msgp, __msgtyp) \
+  ((long int []){ (long int) __msgp, __msgtyp })
+
+#include <ipc_ops.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel-features.h
new file mode 100644
index 0000000000..e026394422
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel-features.h
@@ -0,0 +1,51 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  PowerPC version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* PowerPC uses socketcall.  */
+#define __ASSUME_SOCKETCALL		1
+
+/* New syscalls added for PowerPC in 2.6.37.  */
+#define __ASSUME_SOCKET_SYSCALL	1
+#define __ASSUME_BIND_SYSCALL		1
+#define __ASSUME_CONNECT_SYSCALL	1
+#define __ASSUME_LISTEN_SYSCALL		1
+#define __ASSUME_GETSOCKNAME_SYSCALL	1
+#define __ASSUME_GETPEERNAME_SYSCALL	1
+#define __ASSUME_SOCKETPAIR_SYSCALL	1
+#define __ASSUME_SEND_SYSCALL		1
+#define __ASSUME_RECV_SYSCALL		1
+#define __ASSUME_SHUTDOWN_SYSCALL	1
+#define __ASSUME_GETSOCKOPT_SYSCALL	1
+#define __ASSUME_SETSOCKOPT_SYSCALL	1
+
+/* Define this if your 32-bit syscall API requires 64-bit register
+   pairs to start with an even-number register.  */
+#ifndef __powerpc64__
+# define __ASSUME_ALIGNED_REGISTER_PAIRS	1
+#endif
+
+/* powerpc compat fadvise64_64 reorganize the syscall argument.  */
+#ifndef __powerpc64__
+# define __ASSUME_FADVISE64_64_6ARG		1
+#endif
+
+#include_next <kernel-features.h>
+
+/* powerpc only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
new file mode 100644
index 0000000000..ec80de3f50
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
@@ -0,0 +1,53 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+
+/* We need the definition of tcflag_t, cc_t, and speed_t.  */
+#include <termios.h>
+
+#define __KERNEL_NCCS 19
+
+struct __kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[__KERNEL_NCCS];	/* control characters */
+    cc_t c_line;		/* line discipline */
+    speed_t c_ispeed;           /* input speed */
+    speed_t c_ospeed;           /* output speed */
+  };
+
+#define _HAVE_C_ISPEED 1
+#define _HAVE_C_OSPEED 1
+
+/* We have the kernel termios structure, so we can presume this code knows
+   what it's doing...  */
+
+#undef  TCGETS
+#undef  TCSETS
+#undef  TCSETSW
+#undef  TCSETSF
+#define TCGETS	_IOR ('t', 19, struct __kernel_termios)
+#define TCSETS	_IOW ('t', 20, struct __kernel_termios)
+#define TCSETSW	_IOW ('t', 21, struct __kernel_termios)
+#define TCSETSF	_IOW ('t', 22, struct __kernel_termios)
+
+#endif /* kernel_termios.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldconfig.h
new file mode 100644
index 0000000000..178e6e6236
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldconfig.h
@@ -0,0 +1,27 @@
+/* ldconfig default paths and libraries.  Linux/PowerPC version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld.so.1", FLAG_ELF_LIBC6 },	\
+  { "/lib64/ld64.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib64/ld64.so.2", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
new file mode 100644
index 0000000000..9039b69548
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
@@ -0,0 +1,15 @@
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+
+# ldd is generated from elf/ldd.bash.in with the name
+# of ld.so as generated in Makeconfig
+
+# that name is replaced by a pair referring to both
+# the 32bit and 64bit dynamic linker.
+
+# /lib(64|)/*(64|).so* is replaced with /lib/*.so* and /lib64/*64.so*
+# this works for /lib64/ld64.so.x and /lib/ld.so.x as input
+s_lib64_lib_
+s_64\.so_\.so_
+s_^RTLDLIST=\(.*lib\)\(/[^/]*\)\(\.so\.[0-9.]*\)[[:blank:]]*$_RTLDLIST="\1\2\3 \164\264\3"_
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldsodefs.h
new file mode 100644
index 0000000000..d51a560b6a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/ldsodefs.h
@@ -0,0 +1,33 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   PowerPC version.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-start.c
new file mode 100644
index 0000000000..ad036c1e4b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-start.c
@@ -0,0 +1,105 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+#ifndef SHARED
+#include <hwcapinfo.h>
+#endif
+
+int __cache_line_size attribute_hidden;
+/* The main work is done in the generic function.  */
+#define LIBC_START_MAIN generic_start_main
+#define LIBC_START_DISABLE_INLINE
+#define LIBC_START_MAIN_AUXVEC_ARG
+#define MAIN_AUXVEC_ARG
+#define INIT_MAIN_ARGS
+#include <csu/libc-start.c>
+
+struct startup_info
+  {
+    void *sda_base;
+    int (*main) (int, char **, char **, void *);
+    int (*init) (int, char **, char **, void *);
+    void (*fini) (void);
+  };
+
+int
+__libc_start_main (int argc, char **argv,
+		   char **ev,
+		   ElfW (auxv_t) * auxvec,
+		   void (*rtld_fini) (void),
+		   struct startup_info *stinfo,
+		   char **stack_on_entry)
+{
+  /* the PPC SVR4 ABI says that the top thing on the stack will
+     be a NULL pointer, so if not we assume that we're being called
+     as a statically-linked program by Linux...  */
+  if (*stack_on_entry != NULL)
+    {
+      char **temp;
+      /* ...in which case, we have argc as the top thing on the
+         stack, followed by argv (NULL-terminated), envp (likewise),
+         and the auxiliary vector.  */
+      /* 32/64-bit agnostic load from stack */
+      argc = *(long int *) stack_on_entry;
+      argv = stack_on_entry + 1;
+      ev = argv + argc + 1;
+#ifdef HAVE_AUX_VECTOR
+      temp = ev;
+      while (*temp != NULL)
+	++temp;
+      auxvec = (ElfW (auxv_t) *)++ temp;
+#endif
+      rtld_fini = NULL;
+    }
+
+  /* Initialize the __cache_line_size variable from the aux vector.  For the
+     static case, we also need _dl_hwcap, _dl_hwcap2 and _dl_platform, so we
+     can call __tcb_parse_hwcap_and_convert_at_platform ().  */
+  for (ElfW (auxv_t) * av = auxvec; av->a_type != AT_NULL; ++av)
+    switch (av->a_type)
+      {
+      case AT_DCACHEBSIZE:
+	__cache_line_size = av->a_un.a_val;
+	break;
+#ifndef SHARED
+      case AT_HWCAP:
+	_dl_hwcap = (unsigned long int) av->a_un.a_val;
+	break;
+      case AT_HWCAP2:
+	_dl_hwcap2 = (unsigned long int) av->a_un.a_val;
+	break;
+      case AT_PLATFORM:
+	_dl_platform = (void *) av->a_un.a_val;
+	break;
+#endif
+      }
+
+  /* Initialize hwcap/hwcap2 and platform data so it can be copied to
+     the TCB later in __libc_setup_tls (). (static case only).  */
+#ifndef SHARED
+  __tcb_parse_hwcap_and_convert_at_platform ();
+#endif
+
+  return generic_start_main (stinfo->main, argc, argv, auxvec,
+			     stinfo->init, stinfo->fini, rtld_fini,
+			     stack_on_entry);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h
new file mode 100644
index 0000000000..fb9509e2e7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h
@@ -0,0 +1,74 @@
+/* Resolve function pointers to VDSO functions.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+#include <sysdep-vdso.h>
+
+extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+  attribute_hidden;
+extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+extern int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+extern unsigned long long (*VDSO_SYMBOL(get_tbfreq)) (void);
+extern int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *);
+extern time_t (*VDSO_SYMBOL(time)) (time_t *);
+
+#if defined(__PPC64__) || defined(__powerpc64__)
+extern void *VDSO_SYMBOL(sigtramp_rt64);
+#else
+extern void *VDSO_SYMBOL(sigtramp32);
+extern void *VDSO_SYMBOL(sigtramp_rt32);
+#endif
+
+#if (defined(__PPC64__) || defined(__powerpc64__)) && _CALL_ELF != 2
+/* The correct solution is for _dl_vdso_vsym to return the address of the OPD
+   for the kernel VDSO function.  That address would then be stored in the
+   __vdso_* variables and returned as the result of the IFUNC resolver function.
+   Yet, the kernel does not contain any OPD entries for the VDSO functions
+   (incomplete implementation).  However, PLT relocations for IFUNCs still expect
+   the address of an OPD to be returned from the IFUNC resolver function (since
+   PLT entries on PPC64 are just copies of OPDs).  The solution for now is to
+   create an artificial static OPD for each VDSO function returned by a resolver
+   function.  The TOC value is set to a non-zero value to avoid triggering lazy
+   symbol resolution via .glink0/.plt0 for a zero TOC (requires thread-safe PLT
+   sequences) when the dynamic linker isn't prepared for it e.g. RTLD_NOW.  None
+   of the kernel VDSO routines use the TOC or AUX values so any non-zero value
+   will work.  Note that function pointer comparisons will not use this artificial
+   static OPD since those are resolved via ADDR64 relocations and will point at
+   the non-IFUNC default OPD for the symbol.  Lastly, because the IFUNC relocations
+   are processed immediately at startup the resolver functions and this code need
+   not be thread-safe, but if the caller writes to a PLT slot it must do so in a
+   thread-safe manner with all the required barriers.  */
+#define VDSO_IFUNC_RET(value)                            \
+  ({                                                     \
+    static Elf64_FuncDesc vdso_opd = { .fd_toc = ~0x0 }; \
+    vdso_opd.fd_func = (Elf64_Addr)value;                \
+    &vdso_opd;                                           \
+  })
+
+#else
+#define VDSO_IFUNC_RET(value)  ((void *) (value))
+#endif
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
new file mode 100644
index 0000000000..7e81b8f198
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
@@ -0,0 +1,48 @@
+/* PowerPC specific lock definitions.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _POWERPC_LOWLEVELLOCK_H
+#define _POWERPC_LOWLEVELLOCK_H 1
+
+#include <sysdeps/nptl/lowlevellock.h>
+
+/* Transactional lock elision definitions.  */
+extern int __lll_timedlock_elision
+  (int *futex, short *adapt_count, const struct timespec *timeout, int private)
+  attribute_hidden;
+
+#define lll_timedlock_elision(futex, adapt_count, timeout, private)	      \
+  __lll_timedlock_elision(&(futex), &(adapt_count), timeout, private)
+
+extern int __lll_lock_elision (int *futex, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_unlock_elision (int *lock, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_trylock_elision(int *lock, short *adapt_count)
+  attribute_hidden;
+
+#define lll_lock_elision(futex, adapt_count, private) \
+  __lll_lock_elision (&(futex), &(adapt_count), private)
+#define lll_unlock_elision(futex, adapt_count, private) \
+  __lll_unlock_elision (&(futex), &(adapt_count), private)
+#define lll_trylock_elision(futex, adapt_count) \
+  __lll_trylock_elision (&(futex), &(adapt_count))
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/nldbl-abi.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/nldbl-abi.h
new file mode 100644
index 0000000000..bd985cc59c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/nldbl-abi.h
@@ -0,0 +1,8 @@
+/* ABI version for long double switch.
+   This is used by the Versions and math_ldbl_opt.h files in
+   sysdeps/ieee754/ldbl-opt/.  It gives the ABI version where
+   long double == double was replaced with proper long double
+   for libm *l functions and libc functions using long double.  */
+
+#define NLDBL_VERSION			GLIBC_2.4
+#define LONG_DOUBLE_COMPAT_VERSION	GLIBC_2_4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
new file mode 100644
index 0000000000..70c0d2eda3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/405/fpu
+powerpc/powerpc32/405
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
new file mode 100644
index 0000000000..c3e52c5504
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/440/fpu
+powerpc/powerpc32/440
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
new file mode 100644
index 0000000000..2829f9ccaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/464/fpu
+powerpc/powerpc32/464
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
new file mode 100644
index 0000000000..80f917079e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/476/fpu
+powerpc/powerpc32/476
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies
new file mode 100644
index 0000000000..0c018834af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/970/fpu
+powerpc/powerpc32/970
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
new file mode 100644
index 0000000000..1f45659ed1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
@@ -0,0 +1,10 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
+ifeq ($(subdir),csu)
+ifeq (yes,$(build-shared))
+sysdep_routines += divdi3
+shared-only-routines += divdi3
+CPPFLAGS-divdi3.c = -Din_divdi3_c
+endif
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
new file mode 100644
index 0000000000..e13d20b93b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
@@ -0,0 +1,46 @@
+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 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # g*
+    glob64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64; setrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+  }
+  GLIBC_2.3.3 {
+    posix_fadvise64; posix_fallocate64;
+    setcontext; getcontext; swapcontext; makecontext;
+  }
+  GLIBC_2.3.4 {
+    setcontext; getcontext; swapcontext; makecontext;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_2.17 {
+    __ppc_get_timebase_freq;
+  }
+}
+
+libpthread {
+  GLIBC_2.3.4 {
+    longjmp; siglongjmp;
+  }
+  GLIBC_2.6 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S
new file mode 100644
index 0000000000..f61398c6b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S
@@ -0,0 +1,76 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+
+	.section .rodata.str1.4,"aMS",@progbits,1
+	.align 2
+.LC0:
+	.string "longjmp causes uninitialized stack frame"
+	.text
+
+#define __longjmp_symbol ____longjmp_chk
+
+#ifdef PIC
+#  define LOAD_ARG \
+	SETUP_GOT_ACCESS(r3,got_label2);			\
+	addis	r3,r3,_GLOBAL_OFFSET_TABLE_-got_label2@ha;	\
+	addi	r3,r3,_GLOBAL_OFFSET_TABLE_-got_label2@l;	\
+	lwz	r3,.LC0@got(r3)
+#else
+# define LOAD_ARG \
+	lis	r3,.LC0@ha;				\
+	la	r3,.LC0@l(r3)
+#endif
+
+#define CHECK_SP(reg) \
+	cmplw	reg, r1;				\
+	bge+	.Lok;					\
+	mflr	r0;					\
+	stwu	r1,-32(r1);				\
+	cfi_remember_state;				\
+	cfi_adjust_cfa_offset (32);			\
+	stw	r0,36(r1);				\
+	cfi_offset (lr, 4);				\
+	mr	r31,r3;					\
+	mr	r30,r4;					\
+	li	r3,0;					\
+	addi	r4,r1,8;				\
+	li	r0,__NR_sigaltstack;			\
+	sc;						\
+	/* Without working sigaltstack we cannot perform the test.  */ \
+	bso	.Lok2;					\
+	lwz	r0,12(r1);				\
+	andi.	r3,r0,1;				\
+	beq	.Lfail;					\
+	lwz	r0,16(r1);				\
+	lwz	r3,8(r1);				\
+	add	r3,r3,r0;				\
+	sub	r3,r3,reg;				\
+	cmplw	r3,r0;					\
+	bge+	.Lok2;					\
+.Lfail:							\
+	LOAD_ARG;					\
+	bl	HIDDEN_JUMPTARGET (__fortify_fail);	\
+.Lok2:							\
+	mr	r3,r31;					\
+	mr	r4,r30;					\
+	cfi_restore_state;				\
+.Lok:
+
+#include <__longjmp-common.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies
new file mode 100644
index 0000000000..6d72414e55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/a2/fpu
+powerpc/powerpc32/a2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
new file mode 100644
index 0000000000..736fc89200
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
@@ -0,0 +1,52 @@
+/* brk system call for Linux/ppc.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	.comm	__curbrk,4,4
+	.section ".text"
+ENTRY (__brk)
+	mflr	r0
+	stwu    r1,-16(r1)
+	cfi_adjust_cfa_offset (16)
+	stw	r3,8(r1)
+	stw	r0,20(r1)
+	cfi_offset (lr, 4)
+	DO_CALL(SYS_ify(brk))
+	lwz     r6,8(r1)
+#ifdef PIC
+	SETUP_GOT_ACCESS(r5,got_label)
+	addis	r5,r5,__curbrk-got_label@ha
+	stw	r3,__curbrk-got_label@l(r5)
+#else
+	lis     r4,__curbrk@ha
+	stw     r3,__curbrk@l(r4)
+#endif
+	lwz	r0,20(r1)
+	cmplw   r6,r3
+	addi    r1,r1,16
+	mtlr	r0
+	li	r3,0
+	blelr+
+	li      r3,ENOMEM
+	b	__syscall_error@local
+END (__brk)
+
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies
new file mode 100644
index 0000000000..29c49a4c24
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc32/cell/fpu
+powerpc/powerpc32/cell
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies
new file mode 100644
index 0000000000..7c381f043c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies
@@ -0,0 +1,3 @@
+# Make sure this comes before the powerpc/powerpc32/fpu that's
+# listed in unix/sysv/linux/powerpc/powerpc32/fpu/Implies.
+powerpc/powerpc32/cell/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
new file mode 100644
index 0000000000..a07b7d3238
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
@@ -0,0 +1,101 @@
+/* Wrapper around clone system call.
+   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>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM	0x00000100
+#define CLONE_THREAD	0x00010000
+
+
+/* This is the only really unusual system call in PPC linux, but not
+   because of any weirdness in the system call itself; because of
+   all the freaky stuff we have to do to make the call useful.  */
+
+/* int [r3] clone(int (*fn)(void *arg) [r3], void *child_stack [r4],
+		  int flags [r5], void *arg [r6], void *parent_tid [r7],
+		  void *tls [r8], void *child_tid [r9]); */
+
+ENTRY (__clone)
+
+	/* Check for child_stack == NULL || fn == NULL.  */
+	cmpwi	cr0,r4,0
+	cmpwi	cr1,r3,0
+	cror	cr0*4+eq,cr1*4+eq,cr0*4+eq
+	beq-	cr0,L(badargs)
+
+	/* Set up stack frame for parent.  */
+	stwu	r1,-32(r1)
+	cfi_adjust_cfa_offset (32)
+	stmw	r28,16(r1)
+
+	/* Set up stack frame for child.  */
+	clrrwi	r4,r4,4
+	li	r0,0
+	stwu	r0,-16(r4)
+
+	/* Save fn, args, stack across syscall.  */
+	mr	r30,r3			/* Function in r30.  */
+	mr	r28,r5
+	mr	r31,r6			/* Argument in r31.  */
+
+	/* 'flags' argument is first parameter to clone syscall. (The other
+	   argument is the stack pointer, already in r4.)  */
+	mr	r3,r5
+
+	/* Move the parent_tid, child_tid and tls arguments. */
+	mr	r5,r7
+	mr	r6,r8
+	mr	r7,r9
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
+	/* Do the call.  */
+	DO_CALL(SYS_ify(clone))
+
+	/* Check for child process.  */
+	cmpwi	cr1,r3,0
+	crandc	cr1*4+eq,cr1*4+eq,cr0*4+so
+	bne-	cr1,L(parent)		/* The '-' is to minimise the race.  */
+
+	/* Call procedure.  */
+	mtctr	r30
+	mr	r3,r31
+	bctrl
+	/* Call _exit with result from procedure.  */
+	b	HIDDEN_JUMPTARGET(_exit)
+
+L(parent):
+	/* Parent.  Restore registers & return.  */
+	lmw	r28,16(r1)
+	addi	r1,r1,32
+	bnslr+
+	b	__syscall_error@local
+
+L(badargs):
+	li	r3,EINVAL
+	b	__syscall_error@local
+
+	cfi_startproc
+END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure
new file mode 100644
index 0000000000..eb58187ff4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure
@@ -0,0 +1,4 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc32.
+
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/configure.ac
new file mode 100644
index 0000000000..e1c4c0d357
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32.
+
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies
new file mode 100644
index 0000000000..00365c1cfd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies
@@ -0,0 +1,3 @@
+powerpc/powerpc32/e500/nofpu
+powerpc/nofpu
+powerpc/soft-fp
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
new file mode 100644
index 0000000000..58a4f3f393
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
@@ -0,0 +1,33 @@
+/* Procedure definition for FE_MASK_ENV for Linux/ppc.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fenv.h>
+#include <errno.h>
+#include <signal.h>
+#include <unistd.h>
+#include <sysdep.h>
+#include <sys/prctl.h>
+
+const fenv_t *
+__fe_mask_env (void)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_DISABLED);
+
+  return FE_DFL_ENV;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
new file mode 100644
index 0000000000..8b45ba384a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
@@ -0,0 +1,37 @@
+/* Procedure definition for FE_NOMASK_ENV for Linux/ppc.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fenv_libc.h>
+#include <errno.h>
+#include <signal.h>
+#include <unistd.h>
+#include <sysdep.h>
+#include <sys/prctl.h>
+#include <shlib-compat.h>
+
+const fenv_t *
+__fe_nomask_env_priv (void)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
+
+  return FE_ENABLED_ENV;
+}
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_19)
+compat_symbol (libm, __fe_nomask_env_priv, __fe_nomask_env, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
new file mode 100644
index 0000000000..e213895c71
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -0,0 +1,2475 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __ashldi3 F
+GLIBC_2.0 __ashrdi3 F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmpdi2 F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divdi3 F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fixdfdi F
+GLIBC_2.0 __fixsfdi F
+GLIBC_2.0 __fixunsdfdi F
+GLIBC_2.0 __fixunssfdi F
+GLIBC_2.0 __floatdidf F
+GLIBC_2.0 __floatdisf F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lshrdi3 F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __moddi3 F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __ucmpdi2 F
+GLIBC_2.0 __udivdi3 F
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __umoddi3 F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1f4
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 chown F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1f4
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 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 __mcount_internal F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ppc_get_timebase_freq F
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 getcontext F
+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 makecontext F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 setcontext F
+GLIBC_2.3.3 swapcontext F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __sigsetjmp 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 _longjmp F
+GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 getcontext F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 longjmp F
+GLIBC_2.3.4 makecontext 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 setcontext F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setjmp F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 siglongjmp F
+GLIBC_2.3.4 swapcontext 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 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/powerpc/powerpc32/fpu/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
new file mode 100644
index 0000000000..13ea493ac8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -0,0 +1,578 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __fe_dfl_env D 0x8
+GLIBC_2.1 __fe_enabled_env D 0x8
+GLIBC_2.1 __fe_nomask_env F
+GLIBC_2.1 __fe_nonieee_env D 0x8
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __fe_dfl_mode D 0x8
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
new file mode 100644
index 0000000000..50006317c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
@@ -0,0 +1,16 @@
+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/powerpc/powerpc32/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
new file mode 100644
index 0000000000..ae2470f1fd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
@@ -0,0 +1,284 @@
+/* Save current context, powerpc32 common.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is the common implementation of getcontext for powerpc32.
+   It not complete in itself should be included in to a framework that
+   defines:
+     __CONTEXT_FUNC_NAME
+   and if appropriate:
+     __CONTEXT_ENABLE_FPRS
+     __CONTEXT_ENABLE_VRS
+   Any architecture that implements the Vector unit is assumed to also
+   implement the floating unit.  */
+
+/* Stack frame offsets.  */
+#define _FRAME_BACKCHAIN	0
+#define _FRAME_LR_SAVE		4
+#define _FRAME_PARM_SAVE1	8
+#define _FRAME_PARM_SAVE2	12
+#define _FRAME_PARM_SAVE3	16
+#define _FRAME_PARM_SAVE4	20
+
+#ifdef __CONTEXT_ENABLE_VRS
+	.machine	"altivec"
+#endif
+ENTRY(__CONTEXT_FUNC_NAME)
+	stwu	r1,-16(r1)
+	cfi_adjust_cfa_offset (16)
+/* Insure that the _UC_REGS start on a quadword boundary.  */
+	stw	r3,_FRAME_PARM_SAVE1(r1)
+	addi	r3,r3,_UC_REG_SPACE+12
+	clrrwi  r3,r3,4
+
+/* Save the general purpose registers */
+	stw	r0,_UC_GREGS+(PT_R0*4)(r3)
+	mflr	r0
+	stw	r2,_UC_GREGS+(PT_R2*4)(r3)
+	stw	r4,_UC_GREGS+(PT_R4*4)(r3)
+/* Set the callers LR_SAVE, and the ucontext LR and NIP to the callers
+   return address.  */
+	stw	r0,_UC_GREGS+(PT_LNK*4)(r3)
+	stw	r0,_UC_GREGS+(PT_NIP*4)(r3)
+	stw	r0,_FRAME_LR_SAVE+16(r1)
+	cfi_offset (lr, _FRAME_LR_SAVE)
+	stw	r5,_UC_GREGS+(PT_R5*4)(r3)
+	stw	r6,_UC_GREGS+(PT_R6*4)(r3)
+	stw	r7,_UC_GREGS+(PT_R7*4)(r3)
+	stw	r8,_UC_GREGS+(PT_R8*4)(r3)
+	stw	r9,_UC_GREGS+(PT_R9*4)(r3)
+	stw	r10,_UC_GREGS+(PT_R10*4)(r3)
+	stw	r11,_UC_GREGS+(PT_R11*4)(r3)
+	stw	r12,_UC_GREGS+(PT_R12*4)(r3)
+	stw	r13,_UC_GREGS+(PT_R13*4)(r3)
+	stw	r14,_UC_GREGS+(PT_R14*4)(r3)
+	stw	r15,_UC_GREGS+(PT_R15*4)(r3)
+	stw	r16,_UC_GREGS+(PT_R16*4)(r3)
+	stw	r17,_UC_GREGS+(PT_R17*4)(r3)
+	stw	r18,_UC_GREGS+(PT_R18*4)(r3)
+	stw	r19,_UC_GREGS+(PT_R19*4)(r3)
+	stw	r20,_UC_GREGS+(PT_R20*4)(r3)
+	stw	r21,_UC_GREGS+(PT_R21*4)(r3)
+	stw	r22,_UC_GREGS+(PT_R22*4)(r3)
+	stw	r23,_UC_GREGS+(PT_R23*4)(r3)
+	stw	r24,_UC_GREGS+(PT_R24*4)(r3)
+	stw	r25,_UC_GREGS+(PT_R25*4)(r3)
+	stw	r26,_UC_GREGS+(PT_R26*4)(r3)
+	stw	r27,_UC_GREGS+(PT_R27*4)(r3)
+	stw	r28,_UC_GREGS+(PT_R28*4)(r3)
+	stw	r29,_UC_GREGS+(PT_R29*4)(r3)
+	stw	r30,_UC_GREGS+(PT_R30*4)(r3)
+	stw	r31,_UC_GREGS+(PT_R31*4)(r3)
+/* Save the value of R1.  We had to push the stack before we
+   had the address of uc_reg_space.  So compute the address of
+   the callers stack pointer and save it as R1.  */
+	addi	r8,r1,16
+	li	r0,0
+/* Save the count, exception and condition registers.  */
+	mfctr	r11
+	mfxer	r10
+	mfcr	r9
+	stw	r8,_UC_GREGS+(PT_R1*4)(r3)
+	stw	r11,_UC_GREGS+(PT_CTR*4)(r3)
+	stw	r10,_UC_GREGS+(PT_XER*4)(r3)
+	stw	r9,_UC_GREGS+(PT_CCR*4)(r3)
+/* Set the return value of getcontext to "success".  R3 is the only
+   register whose value is not preserved in the saved context.  */
+	stw	r0,_UC_GREGS+(PT_R3*4)(r3)
+
+/* Zero fill fields that can't be set in user state. */
+	stw	r0,_UC_GREGS+(PT_MSR*4)(r3)
+	stw	r0,_UC_GREGS+(PT_MQ*4)(r3)
+
+#ifdef __CONTEXT_ENABLE_FPRS
+/* Save the floating-point registers */
+	stfd	fp0,_UC_FREGS+(0*8)(r3)
+	stfd	fp1,_UC_FREGS+(1*8)(r3)
+	stfd	fp2,_UC_FREGS+(2*8)(r3)
+	stfd	fp3,_UC_FREGS+(3*8)(r3)
+	stfd	fp4,_UC_FREGS+(4*8)(r3)
+	stfd	fp5,_UC_FREGS+(5*8)(r3)
+	stfd	fp6,_UC_FREGS+(6*8)(r3)
+	stfd	fp7,_UC_FREGS+(7*8)(r3)
+	stfd	fp8,_UC_FREGS+(8*8)(r3)
+	stfd	fp9,_UC_FREGS+(9*8)(r3)
+	stfd	fp10,_UC_FREGS+(10*8)(r3)
+	stfd	fp11,_UC_FREGS+(11*8)(r3)
+	stfd	fp12,_UC_FREGS+(12*8)(r3)
+	stfd	fp13,_UC_FREGS+(13*8)(r3)
+	stfd	fp14,_UC_FREGS+(14*8)(r3)
+	stfd	fp15,_UC_FREGS+(15*8)(r3)
+	stfd	fp16,_UC_FREGS+(16*8)(r3)
+	stfd	fp17,_UC_FREGS+(17*8)(r3)
+	stfd	fp18,_UC_FREGS+(18*8)(r3)
+	stfd	fp19,_UC_FREGS+(19*8)(r3)
+	stfd	fp20,_UC_FREGS+(20*8)(r3)
+	stfd	fp21,_UC_FREGS+(21*8)(r3)
+	stfd	fp22,_UC_FREGS+(22*8)(r3)
+	stfd	fp23,_UC_FREGS+(23*8)(r3)
+	stfd	fp24,_UC_FREGS+(24*8)(r3)
+	stfd	fp25,_UC_FREGS+(25*8)(r3)
+	stfd	fp26,_UC_FREGS+(26*8)(r3)
+	stfd	fp27,_UC_FREGS+(27*8)(r3)
+	stfd	fp28,_UC_FREGS+(28*8)(r3)
+	stfd	fp29,_UC_FREGS+(29*8)(r3)
+	mffs	fp0
+	stfd	fp30,_UC_FREGS+(30*8)(r3)
+	stfd	fp31,_UC_FREGS+(31*8)(r3)
+	stfd	fp0,_UC_FREGS+(32*8)(r3)
+
+# ifdef __CONTEXT_ENABLE_VRS
+#  ifdef PIC
+	mflr    r8
+#  define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
+	SETUP_GOT_ACCESS(r7,got_label)
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
+#   ifdef SHARED
+	lwz     r7,_rtld_global_ro@got(r7)
+	mtlr    r8
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
+#   else
+	lwz     r7,_dl_hwcap@got(r7)
+	mtlr    r8
+	lwz     r7,LOWORD(r7)
+#   endif
+#  else
+	lis	r7,(_dl_hwcap+LOWORD)@ha
+	lwz     r7,(_dl_hwcap+LOWORD)@l(r7)
+#  endif
+	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+
+	la	r10,(_UC_VREGS)(r3)
+	la	r9,(_UC_VREGS+16)(r3)
+
+	beq	2f	/* L(no_vec) */
+/* address of the combined VSCR/VSAVE quadword.  */
+	la	r8,(_UC_VREGS+512)(r3)
+
+/* Save the vector registers */
+	stvx  v0,0,r10
+	stvx  v1,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+/* We need to get the Vector Status and Control Register early to avoid
+   store order problems later with the VSAVE register that shares the
+   same quadword.  */
+	mfvscr	v0
+
+	stvx  v2,0,r10
+	stvx  v3,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx	v0,0,r8
+
+	stvx  v4,0,r10
+	stvx  v5,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v6,0,r10
+	stvx  v7,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v8,0,r10
+	stvx  v9,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v10,0,r10
+	stvx  v11,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v12,0,r10
+	stvx  v13,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v14,0,r10
+	stvx  v15,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v16,0,r10
+	stvx  v17,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v18,0,r10
+	stvx  v19,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v20,0,r10
+	stvx  v21,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v22,0,r10
+	stvx  v23,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v24,0,r10
+	stvx  v25,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v26,0,r10
+	stvx  v27,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v28,0,r10
+	stvx  v29,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	mfspr	r0,VRSAVE
+	stvx  v30,0,r10
+	stvx  v31,0,r9
+
+ 	stw	r0,0(r8)
+
+2: /* L(no_vec): */
+# endif
+#endif
+
+#ifdef __CONTEXT_ENABLE_E500
+	getcontext_e500
+#endif
+
+/* We need to set up parms and call sigprocmask which will clobber
+   volatile registers. So before the call we need to retrieve the
+   original ucontext ptr (parm1) from stack and store the UC_REGS_PTR
+   (current R3).  */
+	lwz	r12,_FRAME_PARM_SAVE1(r1)
+	li	r4,0
+	stw	r3,_UC_REGS_PTR(r12)
+	addi	r5,r12,_UC_SIGMASK
+	li	r3,SIG_BLOCK
+	bl	__sigprocmask@local
+
+	lwz	r0,_FRAME_LR_SAVE+16(r1)
+	addi	r1,r1,16
+	mtlr	r0
+	blr
+END(__CONTEXT_FUNC_NAME)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
new file mode 100644
index 0000000000..10f8857d81
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
@@ -0,0 +1,78 @@
+/* Save current context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#define __CONTEXT_FUNC_NAME __getcontext
+#define __CONTEXT_ENABLE_FPRS 1
+#define __CONTEXT_ENABLE_VRS 1
+
+/* Size of ucontext in GLIBC_2.3.4 and later.  */
+#define _UC_SIZE_2_3_4	1184
+
+	.section ".text";
+ENTRY (__getcontext)
+	li	r4,0
+	li	r5,_UC_SIZE_2_3_4;
+	DO_CALL (SYS_ify (swapcontext));
+	bso-	cr0,1f
+/* the kernel does not set the return code for the success case */
+	li	r3,0
+	blr
+1:
+	b	__syscall_error@local
+END(__getcontext)
+
+versioned_symbol (libc, __getcontext, getcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+	compat_text_section
+
+# undef __CONTEXT_FUNC_NAME
+# define __CONTEXT_FUNC_NAME __novec_getcontext
+# undef __CONTEXT_ENABLE_VRS
+
+# include "getcontext-common.S"
+
+	.previous
+
+compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
+
+# define _ERRNO_H	1
+# include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__getcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__getcontext_stub)
+	.previous
+
+compat_symbol (libc, __getcontext_stub, getcontext, GLIBC_2_1)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c
new file mode 100644
index 0000000000..82a9a296a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/glob64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h
new file mode 100644
index 0000000000..708ae0f71f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h
@@ -0,0 +1,51 @@
+/* Definition of `struct stat' used in the kernel.
+   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/>.  */
+
+struct kernel_stat
+  {
+    unsigned int st_dev;
+    unsigned int st_ino;
+    unsigned int st_mode;
+    unsigned short st_nlink;
+    unsigned int st_uid;
+    unsigned int st_gid;
+    unsigned int st_rdev;
+    unsigned long int st_size;
+    unsigned long int st_blksize;
+    unsigned long int st_blocks;
+    struct timespec st_atim;
+    struct timespec st_mtim;
+    struct timespec st_ctim;
+    unsigned long int __glibc_reserved4;
+#define _HAVE___UNUSED4
+    unsigned long int __glibc_reserved5;
+#define _HAVE___UNUSED5
+  };
+
+#define _HAVE_STAT___UNUSED4
+#define _HAVE_STAT___UNUSED5
+#define _HAVE_STAT___PAD1
+#define _HAVE_STAT___PAD2
+#define _HAVE_STAT_NSEC
+#define _HAVE_STAT64___UNUSED4
+#define _HAVE_STAT64___UNUSED5
+#define _HAVE_STAT64___PAD2
+#define _HAVE_STAT64_NSEC
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
new file mode 100644
index 0000000000..100d133495
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
@@ -0,0 +1,16 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x4
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 __tls_get_addr_opt F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __parse_hwcap_and_convert_at_platform 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/powerpc/powerpc32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
new file mode 100644
index 0000000000..14c3a86b75
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -0,0 +1,262 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 longjmp F
+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.3.4 siglongjmp 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
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 pthread_attr_setstack F
+GLIBC_2.6 pthread_attr_setstacksize F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/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/powerpc/powerpc32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c
new file mode 100644
index 0000000000..2371cd9719
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c
@@ -0,0 +1,2 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
new file mode 100644
index 0000000000..fdacea2a36
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
@@ -0,0 +1,226 @@
+/* Set up a context to call a function.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+ENTRY(__makecontext)
+	/* Set up the first 7 args to the function in its registers */
+	lwz	r11,_UC_REGS_PTR(r3)
+	stw	r6,_UC_GREGS+(PT_R3*4)(r11)
+	stw	r7,_UC_GREGS+(PT_R4*4)(r11)
+	stw	r8,_UC_GREGS+(PT_R5*4)(r11)
+	stw	r9,_UC_GREGS+(PT_R6*4)(r11)
+	stw	r10,_UC_GREGS+(PT_R7*4)(r11)
+	lwz	r8,8(r1)
+	lwz	r9,12(r1)
+	stw	r8,_UC_GREGS+(PT_R8*4)(r11)
+	stw	r9,_UC_GREGS+(PT_R9*4)(r11)
+
+	/* Set the NIP to the start of the function */
+	stw	r4,_UC_GREGS+(PT_NIP*4)(r11)
+
+	/* Set the function's r31 to ucp->uc_link for the exitcode below. */
+	lwz	r7,_UC_LINK(r3)
+	stw	r7,_UC_GREGS+(PT_R31*4)(r11)
+
+	/* Set the function's LR to point to the exitcode below. */
+#ifdef PIC
+	mflr	r0
+	cfi_register(lr,r0)
+	/* Use this conditional form of branch and link to avoid destroying
+	   the cpu link stack used to predict blr return addresses.  */
+	bcl	20,31,1f
+1:	mflr	r6
+	addi	r6,r6,L(exitcode)-1b
+	mtlr	r0
+	cfi_same_value (lr)
+#else
+	lis	r6,L(exitcode)@ha
+	addi	r6,r6,L(exitcode)@l
+#endif
+	stw	r6,_UC_GREGS+(PT_LNK*4)(r11)
+
+	/*
+	 * Set up the stack frame for the function.
+	 * If we have more than 5 args to the function (8 args to makecontext),
+	 * there will be some arguments on the stack which have to end up
+	 * in registers.  If there are more than 8 args to the function,
+	 * we have to copy (argc - 8) args from our stack to the functions'
+	 * stack (and allow space for them in the frame).
+	 */
+	lwz	r4,_UC_STACK_SP(r3)
+	lwz	r8,_UC_STACK_SIZE(r3)
+	add	r4,r4,r8
+	rlwinm	r4,r4,0,0,27	/* round down to 16-byte boundary */
+	addi	r7,r4,-16	/* stack frame for fn's caller */
+	cmpwi	r5,8
+	blt	2f		/* less than 8 args is easy */
+	lwz	r10,16(r1)
+	stw	r10,_UC_GREGS+(PT_R10*4)(r11)
+	beq	2f		/* if exactly 8 args */
+	subi	r9,r5,3
+	subi	r5,r5,8
+	rlwinm	r9,r9,2,0,27
+	subf	r7,r9,r4
+	mtctr	r5		/* copy the 9th and following args */
+	addi	r6,r1,16
+	addi	r8,r7,4
+3:	lwzu	r10,4(r6)
+	stwu	r10,4(r8)
+	bdnz	3b
+2:	stw	r7,_UC_GREGS+(PT_R1*4)(r11)
+	li	r6,0
+	stw	r6,0(r7)
+
+	blr
+
+	cfi_endproc
+	nop
+/*
+ * If the function returns, it comes here.  We put ucp->uc_link in
+ * r31, which is a callee-saved register.  We have to continue with
+ * the context that r31 points to, or exit if it is 0.
+ */
+L(exitcode):
+	mr.	r3,r31
+	beq	4f
+	bl	__setcontext@local
+4:	bl	HIDDEN_JUMPTARGET(exit)
+	b	4b
+
+	cfi_startproc
+END(__makecontext)
+
+versioned_symbol (libc, __makecontext, makecontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+	compat_text_section
+ENTRY(__novec_makecontext)
+	/* Set up the first 7 args to the function in its registers */
+	addi	r11,r3,_UC_REG_SPACE
+	stw	r11,_UC_REGS_PTR(r3)
+	stw	r6,_UC_GREGS+(PT_R3*4)(r11)
+	stw	r7,_UC_GREGS+(PT_R4*4)(r11)
+	stw	r8,_UC_GREGS+(PT_R5*4)(r11)
+	stw	r9,_UC_GREGS+(PT_R6*4)(r11)
+	stw	r10,_UC_GREGS+(PT_R7*4)(r11)
+	lwz	r8,8(r1)
+	lwz	r9,12(r1)
+	stw	r8,_UC_GREGS+(PT_R8*4)(r11)
+	stw	r9,_UC_GREGS+(PT_R9*4)(r11)
+
+	/* Set the NIP to the start of the function */
+	stw	r4,_UC_GREGS+(PT_NIP*4)(r11)
+
+	/* Set the function's r31 to ucp->uc_link for the exitcode below. */
+	lwz	r7,_UC_LINK(r3)
+	stw	r7,_UC_GREGS+(PT_R31*4)(r11)
+
+	/* Set the function's LR to point to the exitcode below. */
+#ifdef PIC
+	mflr	r0
+	cfi_register(lr,r0)
+	/* Use this conditional form of branch and link to avoid destroying
+	   the cpu link stack used to predict blr return addresses.  */
+	bcl	20,31,1f
+1:	mflr	r6
+	addi	r6,r6,L(novec_exitcode)-1b
+	mtlr	r0
+	cfi_same_value (lr)
+#else
+	lis	r6,L(novec_exitcode)@ha
+	addi	r6,r6,L(novec_exitcode)@l
+#endif
+	stw	r6,_UC_GREGS+(PT_LNK*4)(r11)
+
+	/*
+	 * Set up the stack frame for the function.
+	 * If we have more than 5 args to the function (8 args to makecontext),
+	 * there will be some arguments on the stack which have to end up
+	 * in registers.  If there are more than 8 args to the function,
+	 * we have to copy (argc - 8) args from our stack to the functions'
+	 * stack (and allow space for them in the frame).
+	 */
+	lwz	r4,_UC_STACK_SP(r3)
+	lwz	r8,_UC_STACK_SIZE(r3)
+	add	r4,r4,r8
+	rlwinm	r4,r4,0,0,27	/* round down to 16-byte boundary */
+	addi	r7,r4,-16	/* stack frame for fn's caller */
+	cmpwi	r5,8
+	blt	2f		/* less than 8 args is easy */
+	lwz	r10,16(r1)
+	stw	r10,_UC_GREGS+(PT_R10*4)(r11)
+	beq	2f		/* if exactly 8 args */
+	subi	r9,r5,3
+	subi	r5,r5,8
+	rlwinm	r9,r9,2,0,27
+	subf	r7,r9,r4
+	mtctr	r5		/* copy the 9th and following args */
+	addi	r6,r1,16
+	addi	r8,r7,4
+3:	lwzu	r10,4(r6)
+	stwu	r10,4(r8)
+	bdnz	3b
+2:	stw	r7,_UC_GREGS+(PT_R1*4)(r11)
+	li	r6,0
+	stw	r6,0(r7)
+
+	blr
+
+	cfi_endproc
+	nop
+/*
+ * If the function returns, it comes here.  We put ucp->uc_link in
+ * r31, which is a callee-saved register.  We have to continue with
+ * the context that r31 points to, or exit if it is 0.
+ */
+L(novec_exitcode):
+	mr.	r3,r31
+	beq	4f
+	bl	__novec_setcontext@local
+4:	bl	HIDDEN_JUMPTARGET(exit)
+	b	4b
+
+	cfi_startproc
+END(__novec_makecontext)
+	.previous
+
+compat_symbol (libc, __novec_makecontext, makecontext, GLIBC_2_3_3)
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
+
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__makecontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__makecontext_stub)
+	.previous
+
+compat_symbol (libc, __makecontext_stub, makecontext, GLIBC_2_1)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
new file mode 100644
index 0000000000..40836b6fb4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
@@ -0,0 +1,2 @@
+powerpc/nofpu
+powerpc/soft-fp
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h
new file mode 100644
index 0000000000..9ca14bb76b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h
@@ -0,0 +1,144 @@
+/* getcontext/setcontext/makecontext support for e500 high parts of registers.
+   Copyright (C) 2006-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 _CONTEXT_E500_H
+#define _CONTEXT_E500_H 1
+
+#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
+
+# define __CONTEXT_ENABLE_E500 1
+
+/* We follow the kernel's layout, which saves the high parts of the
+   SPE registers in the vregs area, immediately followed by the ACC
+   value (call-clobbered, not handled here) and the SPEFSCR value.  */
+
+.macro getcontext_e500
+	la	r10,(_UC_VREGS)(r3)
+	evstwwe	r0,(0*4)(r10)
+	evstwwe	r1,(1*4)(r10)
+	evstwwe	r2,(2*4)(r10)
+	evstwwe	r3,(3*4)(r10)
+	evstwwe	r4,(4*4)(r10)
+	evstwwe	r5,(5*4)(r10)
+	evstwwe	r6,(6*4)(r10)
+	evstwwe	r7,(7*4)(r10)
+	evstwwe	r8,(8*4)(r10)
+	evstwwe	r9,(9*4)(r10)
+	evstwwe	r10,(10*4)(r10)
+	evstwwe	r11,(11*4)(r10)
+	evstwwe	r12,(12*4)(r10)
+	evstwwe	r13,(13*4)(r10)
+	evstwwe	r14,(14*4)(r10)
+	evstwwe	r15,(15*4)(r10)
+	evstwwe	r16,(16*4)(r10)
+	evstwwe	r17,(17*4)(r10)
+	evstwwe	r18,(18*4)(r10)
+	evstwwe	r19,(19*4)(r10)
+	evstwwe	r20,(20*4)(r10)
+	evstwwe	r21,(21*4)(r10)
+	evstwwe	r22,(22*4)(r10)
+	evstwwe	r23,(23*4)(r10)
+	evstwwe	r24,(24*4)(r10)
+	evstwwe	r25,(25*4)(r10)
+	evstwwe	r26,(26*4)(r10)
+	evstwwe	r27,(27*4)(r10)
+	evstwwe	r28,(28*4)(r10)
+	evstwwe	r29,(29*4)(r10)
+	evstwwe	r30,(30*4)(r10)
+	evstwwe	r31,(31*4)(r10)
+	mfspefscr	r9
+	stw	r9,(34*4)(r10)
+.endm
+
+.macro setcontext_e500
+	lwz	r3,_UC_VREGS+(0*4)(r31)
+	evmergelo	r0,r3,r0
+	lwz	r3,_UC_VREGS+(1*4)(r31)
+	evmergelo	r1,r3,r1
+	lwz	r3,_UC_VREGS+(2*4)(r31)
+	evmergelo	r2,r3,r2
+	lwz	r3,_UC_VREGS+(1*4)(r31)
+	evmergelo	r1,r3,r1
+	lwz	r3,_UC_VREGS+(2*4)(r31)
+	evmergelo	r2,r3,r2
+	lwz	r3,_UC_VREGS+(3*4)(r31)
+	evmergelo	r3,r3,r3
+	lwz	r3,_UC_VREGS+(4*4)(r31)
+	evmergelo	r4,r3,r4
+	lwz	r3,_UC_VREGS+(5*4)(r31)
+	evmergelo	r5,r3,r5
+	lwz	r3,_UC_VREGS+(6*4)(r31)
+	evmergelo	r6,r3,r6
+	lwz	r3,_UC_VREGS+(7*4)(r31)
+	evmergelo	r7,r3,r7
+	lwz	r3,_UC_VREGS+(8*4)(r31)
+	evmergelo	r8,r3,r8
+	lwz	r3,_UC_VREGS+(9*4)(r31)
+	evmergelo	r9,r3,r9
+	lwz	r3,_UC_VREGS+(10*4)(r31)
+	evmergelo	r10,r3,r10
+	lwz	r3,_UC_VREGS+(11*4)(r31)
+	evmergelo	r11,r3,r11
+	lwz	r3,_UC_VREGS+(12*4)(r31)
+	evmergelo	r12,r3,r12
+	lwz	r3,_UC_VREGS+(13*4)(r31)
+	evmergelo	r13,r3,r13
+	lwz	r3,_UC_VREGS+(14*4)(r31)
+	evmergelo	r14,r3,r14
+	lwz	r3,_UC_VREGS+(15*4)(r31)
+	evmergelo	r15,r3,r15
+	lwz	r3,_UC_VREGS+(16*4)(r31)
+	evmergelo	r16,r3,r16
+	lwz	r3,_UC_VREGS+(17*4)(r31)
+	evmergelo	r17,r3,r17
+	lwz	r3,_UC_VREGS+(18*4)(r31)
+	evmergelo	r18,r3,r18
+	lwz	r3,_UC_VREGS+(19*4)(r31)
+	evmergelo	r19,r3,r19
+	lwz	r3,_UC_VREGS+(20*4)(r31)
+	evmergelo	r20,r3,r20
+	lwz	r3,_UC_VREGS+(21*4)(r31)
+	evmergelo	r21,r3,r21
+	lwz	r3,_UC_VREGS+(22*4)(r31)
+	evmergelo	r22,r3,r22
+	lwz	r3,_UC_VREGS+(23*4)(r31)
+	evmergelo	r23,r3,r23
+	lwz	r3,_UC_VREGS+(24*4)(r31)
+	evmergelo	r24,r3,r24
+	lwz	r3,_UC_VREGS+(25*4)(r31)
+	evmergelo	r25,r3,r25
+	lwz	r3,_UC_VREGS+(26*4)(r31)
+	evmergelo	r26,r3,r26
+	lwz	r3,_UC_VREGS+(27*4)(r31)
+	evmergelo	r27,r3,r27
+	lwz	r3,_UC_VREGS+(28*4)(r31)
+	evmergelo	r28,r3,r28
+	lwz	r3,_UC_VREGS+(29*4)(r31)
+	evmergelo	r29,r3,r29
+	lwz	r3,_UC_VREGS+(30*4)(r31)
+	evmergelo	r30,r3,r30
+	lwz	r3,_UC_VREGS+(31*4)(r31)
+	evmergelo	r31,r3,r31
+	lwz	r3,_UC_VREGS+(34*4)(r31)
+	mtspefscr	r3
+.endm
+#else
+# undef __CONTEXT_ENABLE_E500
+#endif
+
+#endif /* context-e500.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
new file mode 100644
index 0000000000..2cd9ce98e5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
@@ -0,0 +1,60 @@
+/* Save current context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#include <context-e500.h>
+
+#define __CONTEXT_FUNC_NAME __getcontext
+#undef __CONTEXT_ENABLE_FPRS
+#undef __CONTEXT_ENABLE_VRS
+
+#include "getcontext-common.S"
+
+versioned_symbol (libc, __getcontext, getcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+/* For the nofpu case the old/new versions are the same function.  */
+strong_alias (__getcontext, __novec_getcontext)
+
+compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
+
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__getcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__getcontext_stub)
+	.previous
+
+compat_symbol (libc, __getcontext_stub, getcontext, GLIBC_2_1)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
new file mode 100644
index 0000000000..d25aefd1ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -0,0 +1,2521 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __ashldi3 F
+GLIBC_2.0 __ashrdi3 F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmpdi2 F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divdi3 F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fixdfdi F
+GLIBC_2.0 __fixsfdi F
+GLIBC_2.0 __fixunsdfdi F
+GLIBC_2.0 __fixunssfdi F
+GLIBC_2.0 __floatdidf F
+GLIBC_2.0 __floatdisf F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lshrdi3 F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __moddi3 F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __ucmpdi2 F
+GLIBC_2.0 __udivdi3 F
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __umoddi3 F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1f4
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 chown F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1f4
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 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 __mcount_internal F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ppc_get_timebase_freq F
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 __atomic_feclearexcept F
+GLIBC_2.19 __atomic_feholdexcept F
+GLIBC_2.19 __atomic_feupdateenv F
+GLIBC_2.19 __flt_rounds F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __adddf3 F
+GLIBC_2.3.2 __addsf3 F
+GLIBC_2.3.2 __divdf3 F
+GLIBC_2.3.2 __divsf3 F
+GLIBC_2.3.2 __eqdf2 F
+GLIBC_2.3.2 __eqsf2 F
+GLIBC_2.3.2 __extendsfdf2 F
+GLIBC_2.3.2 __fixdfsi F
+GLIBC_2.3.2 __fixsfsi F
+GLIBC_2.3.2 __fixunsdfsi F
+GLIBC_2.3.2 __fixunssfsi F
+GLIBC_2.3.2 __floatsidf F
+GLIBC_2.3.2 __floatsisf F
+GLIBC_2.3.2 __gedf2 F
+GLIBC_2.3.2 __gesf2 F
+GLIBC_2.3.2 __ledf2 F
+GLIBC_2.3.2 __lesf2 F
+GLIBC_2.3.2 __muldf3 F
+GLIBC_2.3.2 __mulsf3 F
+GLIBC_2.3.2 __negdf2 F
+GLIBC_2.3.2 __negsf2 F
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 __sim_disabled_exceptions D 0x4
+GLIBC_2.3.2 __sim_exceptions D 0x4
+GLIBC_2.3.2 __sim_round_mode D 0x4
+GLIBC_2.3.2 __sqrtdf2 F
+GLIBC_2.3.2 __sqrtsf2 F
+GLIBC_2.3.2 __subdf3 F
+GLIBC_2.3.2 __subsf3 F
+GLIBC_2.3.2 __truncdfsf2 F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 getcontext F
+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 makecontext F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 setcontext F
+GLIBC_2.3.3 swapcontext F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __sigsetjmp 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 _longjmp F
+GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 getcontext F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 longjmp F
+GLIBC_2.3.4 makecontext 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 setcontext F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setjmp F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 siglongjmp F
+GLIBC_2.3.4 swapcontext 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 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __floatundidf F
+GLIBC_2.4 __floatundisf F
+GLIBC_2.4 __floatunsidf F
+GLIBC_2.4 __floatunsisf F
+GLIBC_2.4 __fprintf_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 __gtdf2 F
+GLIBC_2.4 __gtsf2 F
+GLIBC_2.4 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __ltdf2 F
+GLIBC_2.4 __ltsf2 F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nedf2 F
+GLIBC_2.4 __nesf2 F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __unorddf2 F
+GLIBC_2.4 __unordsf2 F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/powerpc/powerpc32/nofpu/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
new file mode 100644
index 0000000000..ff6dc7a361
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -0,0 +1,577 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __fe_dfl_env D 0x8
+GLIBC_2.1 __fe_enabled_env D 0x8
+GLIBC_2.1 __fe_nonieee_env D 0x8
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __fe_dfl_mode D 0x8
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
new file mode 100644
index 0000000000..1c20d2f2b4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
@@ -0,0 +1,46 @@
+libc.so: _Unwind_Find_FDE
+libc.so: __adddf3 ?
+libc.so: __addsf3 ?
+libc.so: __divdf3 ?
+libc.so: __divsf3 ?
+libc.so: __eqdf2 ?
+libc.so: __eqsf2 ?
+libc.so: __extendsfdf2 ?
+libc.so: __fixdfsi ?
+libc.so: __fixsfsi ?
+libc.so: __fixunsdfsi ?
+libc.so: __floatsidf ?
+libc.so: __floatsisf ?
+libc.so: __floatunsidf ?
+libc.so: __floatunsisf ?
+libc.so: __gedf2 ?
+libc.so: __gtdf2 ?
+libc.so: __gtsf2 ?
+libc.so: __ledf2 ?
+libc.so: __ltdf2 ?
+libc.so: __muldf3 ?
+libc.so: __mulsf3 ?
+libc.so: __nedf2 ?
+libc.so: __subdf3 ?
+libc.so: __subsf3 ?
+libc.so: __truncdfsf2 ?
+libc.so: __unorddf2 ?
+libc.so: __unordsf2 ?
+libc.so: abort ?
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: copysignl ?
+libm.so: fabsl
+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/powerpc/powerpc32/nofpu/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
new file mode 100644
index 0000000000..c5809a4741
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
@@ -0,0 +1,60 @@
+/* Jump to a new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#include <context-e500.h>
+
+#define __CONTEXT_FUNC_NAME __setcontext
+#undef __CONTEXT_ENABLE_FPRS
+#undef __CONTEXT_ENABLE_VRS
+
+#include "setcontext-common.S"
+
+versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+/* For the nofpu case the old/new versions are the same function.  */
+strong_alias (__setcontext, __novec_setcontext)
+
+compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_3)
+
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__setcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__setcontext_stub)
+	.previous
+
+compat_symbol (libc, __setcontext_stub, setcontext, GLIBC_2_0)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
new file mode 100644
index 0000000000..41b3698130
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
@@ -0,0 +1,60 @@
+/* Save current context and jump to a new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#include <context-e500.h>
+
+#define __CONTEXT_FUNC_NAME __swapcontext
+#undef __CONTEXT_ENABLE_FPRS
+#undef __CONTEXT_ENABLE_VRS
+
+# include "swapcontext-common.S"
+
+versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+/* For the nofpu case the old/new versions are the same function.  */
+strong_alias (__swapcontext, __novec_swapcontext)
+
+compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
+
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__swapcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__swapcontext_stub)
+	.previous
+
+compat_symbol (libc, __swapcontext_stub, swapcontext, GLIBC_2_1)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c
new file mode 100644
index 0000000000..506fd8877c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
new file mode 100644
index 0000000000..3c5e262f1b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
@@ -0,0 +1,306 @@
+/* Jump to a new context powerpc32 common.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is the common implementation of setcontext for powerpc32.
+   It not complete in itself should be included in to a framework that
+   defines:
+     __CONTEXT_FUNC_NAME
+   and if appropriate:
+     __CONTEXT_ENABLE_FPRS
+     __CONTEXT_ENABLE_VRS
+   Any architecture that implements the Vector unit is assumed to also
+   implement the floating unit.  */
+
+/* Stack frame offsets.  */
+#define _FRAME_BACKCHAIN	0
+#define _FRAME_LR_SAVE		4
+#define _FRAME_PARM_SAVE1	8
+#define _FRAME_PARM_SAVE2	12
+#define _FRAME_PARM_SAVE3	16
+#define _FRAME_PARM_SAVE4	20
+
+#ifdef __CONTEXT_ENABLE_VRS
+	.machine	"altivec"
+#endif
+ENTRY(__CONTEXT_FUNC_NAME)
+	mflr	r0
+	stwu	r1,-16(r1)
+	cfi_adjust_cfa_offset (16)
+	stw	r0,20(r1)
+	cfi_offset (lr, _FRAME_LR_SAVE)
+	stw	r31,12(r1)
+	cfi_offset(r31,-4)
+	lwz	r31,_UC_REGS_PTR(r3)
+
+	/*
+	 * If this ucontext refers to the point where we were interrupted
+	 * by a signal, we have to use the rt_sigreturn system call to
+	 * return to the context so we get both LR and CTR restored.
+	 *
+	 * Otherwise, the context we are restoring is either just after
+	 * a procedure call (getcontext/swapcontext) or at the beginning
+	 * of a procedure call (makecontext), so we don't need to restore
+	 * r0, xer, ctr.  We don't restore r2 since it will be used as
+	 * the TLS pointer.
+	 */
+	lwz	r0,_UC_GREGS+(PT_MSR*4)(r31)
+	cmpwi	r0,0
+	bne	4f	/* L(do_sigret) */
+
+	/* Restore the signal mask */
+	li	r5,0
+	addi	r4,r3,_UC_SIGMASK
+	li	r3,SIG_SETMASK
+	bl	__sigprocmask@local
+	cmpwi	r3,0
+	bne	3f	/* L(error_exit) */
+
+#ifdef PIC
+	mflr    r8
+# define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
+	SETUP_GOT_ACCESS(r7,got_label)
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
+# ifdef SHARED
+	lwz     r7,_rtld_global_ro@got(r7)
+	mtlr    r8
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
+# else
+	lwz     r7,_dl_hwcap@got(r7)
+	mtlr    r8
+	lwz     r7,LOWORD(r7)
+# endif
+#else
+	lis	r7,(_dl_hwcap+LOWORD)@ha
+	lwz     r7,(_dl_hwcap+LOWORD)@l(r7)
+#endif
+
+#ifdef __CONTEXT_ENABLE_FPRS
+# ifdef __CONTEXT_ENABLE_VRS
+	andis.	r6,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+	la	r10,(_UC_VREGS)(r31)
+	beq	2f	/* L(has_no_vec) */
+
+	lwz   r0,(32*16)(r10)
+	li    r9,(32*16)
+	cmpwi r0,0
+	mtspr VRSAVE,r0
+	beq	2f	/* L(has_no_vec) */
+
+	lvx   v19,r9,r10
+	la    r9,(16)(r10)
+
+	lvx   v0,0,r10
+	lvx   v1,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	mtvscr  v19
+	lvx   v2,0,r10
+	lvx   v3,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v4,0,r10
+	lvx   v5,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v6,0,r10
+	lvx   v7,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v8,0,r10
+	lvx   v9,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v10,0,r10
+	lvx   v11,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v12,0,r10
+	lvx   v13,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v14,0,r10
+	lvx   v15,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v16,0,r10
+	lvx   v17,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v18,0,r10
+	lvx   v19,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v20,0,r10
+	lvx   v21,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v22,0,r10
+	lvx   v23,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v24,0,r10
+	lvx   v25,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v26,0,r10
+	lvx   v27,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v28,0,r10
+	lvx   v29,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v30,0,r10
+	lvx   v31,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v10,0,r10
+	lvx   v11,0,r9
+
+2: /* L(has_no_vec): */
+# endif /* __CONTEXT_ENABLE_VRS */
+	/* Restore the floating-point registers */
+	lfd	fp31,_UC_FREGS+(32*8)(r31)
+	lfd	fp0,_UC_FREGS+(0*8)(r31)
+# ifdef _ARCH_PWR6
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf	0xff,fp31,1,0
+# else
+	.machine push
+	.machine "power6"
+	/* Availability of DFP indicates a 64-bit FPSCR.  */
+	andi.	r6,r7,PPC_FEATURE_HAS_DFP
+	beq	7f
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf	0xff,fp31,1,0
+	b	8f
+	/* Continue to operate on the FPSCR as if it were 32-bits.  */
+7:	mtfsf	0xff,fp31
+8:	.machine pop
+# endif /* _ARCH_PWR6 */
+	lfd	fp1,_UC_FREGS+(1*8)(r31)
+	lfd	fp2,_UC_FREGS+(2*8)(r31)
+	lfd	fp3,_UC_FREGS+(3*8)(r31)
+	lfd	fp4,_UC_FREGS+(4*8)(r31)
+	lfd	fp5,_UC_FREGS+(5*8)(r31)
+	lfd	fp6,_UC_FREGS+(6*8)(r31)
+	lfd	fp7,_UC_FREGS+(7*8)(r31)
+	lfd	fp8,_UC_FREGS+(8*8)(r31)
+	lfd	fp9,_UC_FREGS+(9*8)(r31)
+	lfd	fp10,_UC_FREGS+(10*8)(r31)
+	lfd	fp11,_UC_FREGS+(11*8)(r31)
+	lfd	fp12,_UC_FREGS+(12*8)(r31)
+	lfd	fp13,_UC_FREGS+(13*8)(r31)
+	lfd	fp14,_UC_FREGS+(14*8)(r31)
+	lfd	fp15,_UC_FREGS+(15*8)(r31)
+	lfd	fp16,_UC_FREGS+(16*8)(r31)
+	lfd	fp17,_UC_FREGS+(17*8)(r31)
+	lfd	fp18,_UC_FREGS+(18*8)(r31)
+	lfd	fp19,_UC_FREGS+(19*8)(r31)
+	lfd	fp20,_UC_FREGS+(20*8)(r31)
+	lfd	fp21,_UC_FREGS+(21*8)(r31)
+	lfd	fp22,_UC_FREGS+(22*8)(r31)
+	lfd	fp23,_UC_FREGS+(23*8)(r31)
+	lfd	fp24,_UC_FREGS+(24*8)(r31)
+	lfd	fp25,_UC_FREGS+(25*8)(r31)
+	lfd	fp26,_UC_FREGS+(26*8)(r31)
+	lfd	fp27,_UC_FREGS+(27*8)(r31)
+	lfd	fp28,_UC_FREGS+(28*8)(r31)
+	lfd	fp29,_UC_FREGS+(29*8)(r31)
+	lfd	fp30,_UC_FREGS+(30*8)(r31)
+	lfd	fp31,_UC_FREGS+(31*8)(r31)
+#endif /* __CONTEXT_ENABLE_FPRS */
+
+#ifdef __CONTEXT_ENABLE_E500
+	setcontext_e500
+#endif
+
+	/* Restore LR and CCR, and set CTR to the NIP value */
+	lwz	r3,_UC_GREGS+(PT_LNK*4)(r31)
+	lwz	r4,_UC_GREGS+(PT_NIP*4)(r31)
+	lwz	r5,_UC_GREGS+(PT_CCR*4)(r31)
+	mtlr	r3
+	mtctr	r4
+	mtcr	r5
+
+	/* Restore the general registers */
+	lwz	r1,_UC_GREGS+(PT_R1*4)(r31)
+	lwz	r3,_UC_GREGS+(PT_R3*4)(r31)
+	lwz	r4,_UC_GREGS+(PT_R4*4)(r31)
+	lwz	r5,_UC_GREGS+(PT_R5*4)(r31)
+	lwz	r6,_UC_GREGS+(PT_R6*4)(r31)
+	lwz	r7,_UC_GREGS+(PT_R7*4)(r31)
+	lwz	r8,_UC_GREGS+(PT_R8*4)(r31)
+	lwz	r9,_UC_GREGS+(PT_R9*4)(r31)
+	lwz	r10,_UC_GREGS+(PT_R10*4)(r31)
+	lwz	r11,_UC_GREGS+(PT_R11*4)(r31)
+	lwz	r12,_UC_GREGS+(PT_R12*4)(r31)
+	lwz	r13,_UC_GREGS+(PT_R13*4)(r31)
+	lwz	r14,_UC_GREGS+(PT_R14*4)(r31)
+	lwz	r15,_UC_GREGS+(PT_R15*4)(r31)
+	lwz	r16,_UC_GREGS+(PT_R16*4)(r31)
+	lwz	r17,_UC_GREGS+(PT_R17*4)(r31)
+	lwz	r18,_UC_GREGS+(PT_R18*4)(r31)
+	lwz	r19,_UC_GREGS+(PT_R19*4)(r31)
+	lwz	r20,_UC_GREGS+(PT_R20*4)(r31)
+	lwz	r21,_UC_GREGS+(PT_R21*4)(r31)
+	lwz	r22,_UC_GREGS+(PT_R22*4)(r31)
+	lwz	r23,_UC_GREGS+(PT_R23*4)(r31)
+	lwz	r24,_UC_GREGS+(PT_R24*4)(r31)
+	lwz	r25,_UC_GREGS+(PT_R25*4)(r31)
+	lwz	r26,_UC_GREGS+(PT_R26*4)(r31)
+	lwz	r27,_UC_GREGS+(PT_R27*4)(r31)
+	lwz	r28,_UC_GREGS+(PT_R28*4)(r31)
+	lwz	r29,_UC_GREGS+(PT_R29*4)(r31)
+	lwz	r30,_UC_GREGS+(PT_R30*4)(r31)
+	lwz	r31,_UC_GREGS+(PT_R31*4)(r31)
+
+	bctr
+
+3: /* L(error_exit): */
+	lwz	r31,12(r1)
+	lwz	r0,20(r1)
+	addi	r1,r1,16
+	mtlr	r0
+	blr
+
+
+4: /* L(do_sigret): */
+	addi	r1,r3,-0xd0
+	li	r0,SYS_ify(rt_sigreturn)
+	sc
+	/* NOTREACHED */
+
+END (__CONTEXT_FUNC_NAME)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
new file mode 100644
index 0000000000..e24a692ebb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
@@ -0,0 +1,80 @@
+/* Jump to a new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#define __CONTEXT_FUNC_NAME __setcontext
+#define __CONTEXT_ENABLE_FPRS 1
+#define __CONTEXT_ENABLE_VRS 1
+
+/* Size of ucontext in GLIBC_2.3.4 and later.  */
+#define _UC_SIZE_2_3_4	1184
+
+	.section ".text";
+ENTRY (__setcontext)
+	mr	r4,r3
+	li	r3,0
+	li	r5,_UC_SIZE_2_3_4;
+	DO_CALL (SYS_ify (swapcontext));
+	bso-	cr0,1f
+/* the kernel does not set the return code for the success case */
+	li	r3,0
+	blr
+1:
+	b	__syscall_error@local
+END(__setcontext)
+
+versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+	compat_text_section
+
+# undef __CONTEXT_FUNC_NAME
+# define __CONTEXT_FUNC_NAME __novec_setcontext
+# undef __CONTEXT_ENABLE_VRS
+
+# include "setcontext-common.S"
+
+	.previous
+
+compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_3)
+
+# define _ERRNO_H	1
+# include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__setcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__setcontext_stub)
+	.previous
+
+compat_symbol (libc, __setcontext_stub, setcontext, GLIBC_2_0)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
new file mode 100644
index 0000000000..6696d540dc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
@@ -0,0 +1,529 @@
+/* Save current context and jump to a new context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is the common implementation of setcontext for powerpc32.
+   It not complete in itself should be included in to a framework that
+   defines:
+     __CONTEXT_FUNC_NAME
+   and if appropriate:
+     __CONTEXT_ENABLE_FPRS
+     __CONTEXT_ENABLE_VRS
+   Any architecture that implements the Vector unit is assumed to also
+   implement the floating unit.  */
+
+/* Stack frame offsets.  */
+#define _FRAME_BACKCHAIN	0
+#define _FRAME_LR_SAVE		4
+#define _FRAME_PARM_SAVE1	8
+#define _FRAME_PARM_SAVE2	12
+#define _FRAME_PARM_SAVE3	16
+#define _FRAME_PARM_SAVE4	20
+
+#ifdef __CONTEXT_ENABLE_VRS
+	.machine	"altivec"
+#endif
+ENTRY(__CONTEXT_FUNC_NAME)
+	stwu	r1,-16(r1)
+	cfi_adjust_cfa_offset (16)
+/* Insure that the _UC_REGS start on a quadword boundary.  */
+	stw	r3,_FRAME_PARM_SAVE1(r1)
+	addi	r3,r3,_UC_REG_SPACE+12
+	stw	r4,_FRAME_PARM_SAVE2(r1)	/* new context pointer */
+	clrrwi  r3,r3,4
+
+/* Save the general purpose registers */
+	stw	r0,_UC_GREGS+(PT_R0*4)(r3)
+	mflr	r0
+	stw	r2,_UC_GREGS+(PT_R2*4)(r3)
+	stw	r4,_UC_GREGS+(PT_R4*4)(r3)
+/* Set the callers LR_SAVE, and the ucontext LR and NIP to the callers
+   return address.  */
+	stw	r0,_UC_GREGS+(PT_LNK*4)(r3)
+	stw	r0,_UC_GREGS+(PT_NIP*4)(r3)
+	stw	r0,_FRAME_LR_SAVE+16(r1)
+	cfi_offset (lr, _FRAME_LR_SAVE)
+	stw	r5,_UC_GREGS+(PT_R5*4)(r3)
+	stw	r6,_UC_GREGS+(PT_R6*4)(r3)
+	stw	r7,_UC_GREGS+(PT_R7*4)(r3)
+	stw	r8,_UC_GREGS+(PT_R8*4)(r3)
+	stw	r9,_UC_GREGS+(PT_R9*4)(r3)
+	stw	r10,_UC_GREGS+(PT_R10*4)(r3)
+	stw	r11,_UC_GREGS+(PT_R11*4)(r3)
+	stw	r12,_UC_GREGS+(PT_R12*4)(r3)
+	stw	r13,_UC_GREGS+(PT_R13*4)(r3)
+	stw	r14,_UC_GREGS+(PT_R14*4)(r3)
+	stw	r15,_UC_GREGS+(PT_R15*4)(r3)
+	stw	r16,_UC_GREGS+(PT_R16*4)(r3)
+	stw	r17,_UC_GREGS+(PT_R17*4)(r3)
+	stw	r18,_UC_GREGS+(PT_R18*4)(r3)
+	stw	r19,_UC_GREGS+(PT_R19*4)(r3)
+	stw	r20,_UC_GREGS+(PT_R20*4)(r3)
+	stw	r21,_UC_GREGS+(PT_R21*4)(r3)
+	stw	r22,_UC_GREGS+(PT_R22*4)(r3)
+	stw	r23,_UC_GREGS+(PT_R23*4)(r3)
+	stw	r24,_UC_GREGS+(PT_R24*4)(r3)
+	stw	r25,_UC_GREGS+(PT_R25*4)(r3)
+	stw	r26,_UC_GREGS+(PT_R26*4)(r3)
+	stw	r27,_UC_GREGS+(PT_R27*4)(r3)
+	stw	r28,_UC_GREGS+(PT_R28*4)(r3)
+	stw	r29,_UC_GREGS+(PT_R29*4)(r3)
+	stw	r30,_UC_GREGS+(PT_R30*4)(r3)
+	stw	r31,_UC_GREGS+(PT_R31*4)(r3)
+
+/* Save the value of R1.  We had to push the stack before we
+   had the address of uc_reg_space.  So compute the address of
+   the callers stack pointer and save it as R1.  */
+	addi	r8,r1,16
+	li	r0,0
+/* Save the count, exception and condition registers.  */
+	mfctr	r11
+	mfxer	r10
+	mfcr	r9
+	stw	r8,_UC_GREGS+(PT_R1*4)(r3)
+	stw	r11,_UC_GREGS+(PT_CTR*4)(r3)
+	stw	r10,_UC_GREGS+(PT_XER*4)(r3)
+	stw	r9,_UC_GREGS+(PT_CCR*4)(r3)
+/* Set the return value of getcontext to "success".  R3 is the only
+   register whose value is not preserved in the saved context.  */
+	stw	r0,_UC_GREGS+(PT_R3*4)(r3)
+
+	/* Zero fill fields that can't be set in user state. */
+	stw	r0,_UC_GREGS+(PT_MSR*4)(r3)
+	stw	r0,_UC_GREGS+(PT_MQ*4)(r3)
+
+#ifdef __CONTEXT_ENABLE_FPRS
+	/* Save the floating-point registers */
+	stfd	fp0,_UC_FREGS+(0*8)(r3)
+	stfd	fp1,_UC_FREGS+(1*8)(r3)
+	stfd	fp2,_UC_FREGS+(2*8)(r3)
+	stfd	fp3,_UC_FREGS+(3*8)(r3)
+	stfd	fp4,_UC_FREGS+(4*8)(r3)
+	stfd	fp5,_UC_FREGS+(5*8)(r3)
+	stfd	fp6,_UC_FREGS+(6*8)(r3)
+	stfd	fp7,_UC_FREGS+(7*8)(r3)
+	stfd	fp8,_UC_FREGS+(8*8)(r3)
+	stfd	fp9,_UC_FREGS+(9*8)(r3)
+	stfd	fp10,_UC_FREGS+(10*8)(r3)
+	stfd	fp11,_UC_FREGS+(11*8)(r3)
+	stfd	fp12,_UC_FREGS+(12*8)(r3)
+	stfd	fp13,_UC_FREGS+(13*8)(r3)
+	stfd	fp14,_UC_FREGS+(14*8)(r3)
+	stfd	fp15,_UC_FREGS+(15*8)(r3)
+	stfd	fp16,_UC_FREGS+(16*8)(r3)
+	stfd	fp17,_UC_FREGS+(17*8)(r3)
+	stfd	fp18,_UC_FREGS+(18*8)(r3)
+	stfd	fp19,_UC_FREGS+(19*8)(r3)
+	stfd	fp20,_UC_FREGS+(20*8)(r3)
+	stfd	fp21,_UC_FREGS+(21*8)(r3)
+	stfd	fp22,_UC_FREGS+(22*8)(r3)
+	stfd	fp23,_UC_FREGS+(23*8)(r3)
+	stfd	fp24,_UC_FREGS+(24*8)(r3)
+	stfd	fp25,_UC_FREGS+(25*8)(r3)
+	stfd	fp26,_UC_FREGS+(26*8)(r3)
+	stfd	fp27,_UC_FREGS+(27*8)(r3)
+	stfd	fp28,_UC_FREGS+(28*8)(r3)
+	stfd	fp29,_UC_FREGS+(29*8)(r3)
+	mffs	fp0
+	stfd	fp30,_UC_FREGS+(30*8)(r3)
+	stfd	fp31,_UC_FREGS+(31*8)(r3)
+	stfd	fp0,_UC_FREGS+(32*8)(r3)
+
+# ifdef PIC
+	mflr    r8
+#  define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
+	SETUP_GOT_ACCESS(r7,got_label)
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
+#  ifdef SHARED
+	lwz     r7,_rtld_global_ro@got(r7)
+	mtlr    r8
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
+#  else
+	lwz     r7,_dl_hwcap@got(r7)
+	mtlr    r8
+	lwz     r7,LOWORD(r7)
+#  endif
+# else
+	lis	r7,(_dl_hwcap+LOWORD)@ha
+	lwz     r7,(_dl_hwcap+LOWORD)@l(r7)
+# endif
+
+# ifdef __CONTEXT_ENABLE_VRS
+	andis.	r6,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+
+	la	r10,(_UC_VREGS)(r3)
+	la	r9,(_UC_VREGS+16)(r3)
+
+/*	beq	L(no_vec)*/
+	beq	2f
+/* address of the combined VSCR/VSAVE quadword.  */
+	la	r8,(_UC_VREGS+512)(r3)
+
+/* Save the vector registers */
+	stvx  v0,0,r10
+	stvx  v1,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+/* We need to get the Vector Status and Control Register early to avoid
+   store order problems later with the VSAVE register that shares the
+   same quadword.  */
+	mfvscr	v0
+
+	stvx  v2,0,r10
+	stvx  v3,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx	v0,0,r8
+
+	stvx  v4,0,r10
+	stvx  v5,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v6,0,r10
+	stvx  v7,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v8,0,r10
+	stvx  v9,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v10,0,r10
+	stvx  v11,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v12,0,r10
+	stvx  v13,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v14,0,r10
+	stvx  v15,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v16,0,r10
+	stvx  v17,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v18,0,r10
+	stvx  v19,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v20,0,r10
+	stvx  v21,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v22,0,r10
+	stvx  v23,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v24,0,r10
+	stvx  v25,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v26,0,r10
+	stvx  v27,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	stvx  v28,0,r10
+	stvx  v29,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	mfvscr	v0
+	stvx  v30,0,r10
+	stvx  v31,0,r9
+ 	stw	r0,0(r8)
+
+2: /*L(no_vec):*/
+# endif /* __CONTEXT_ENABLE_VRS */
+#endif /* __CONTEXT_ENABLE_FPRS */
+
+#ifdef __CONTEXT_ENABLE_E500
+	getcontext_e500
+#endif
+
+/* Restore ucontext (parm1) from stack.  */
+	lwz	r12,_FRAME_PARM_SAVE1(r1)
+	lwz	r4,_FRAME_PARM_SAVE2(r1)
+	addi	r4,r4,_UC_SIGMASK
+	stw	r3,_UC_REGS_PTR(r12)
+	addi	r5,r12,_UC_SIGMASK
+	li	r3,SIG_SETMASK
+	bl	__sigprocmask@local
+	cmpwi	r3,0
+	bne	3f	/* L(error_exit) */
+
+	/*
+	 * If the new ucontext refers to the point where we were interrupted
+	 * by a signal, we have to use the rt_sigreturn system call to
+	 * return to the context so we get both LR and CTR restored.
+	 *
+	 * Otherwise, the context we are restoring is either just after
+	 * a procedure call (getcontext/swapcontext) or at the beginning
+	 * of a procedure call (makecontext), so we don't need to restore
+	 * r0, xer, ctr.  We don't restore r2 since it will be used as
+	 * the TLS pointer.
+	 */
+	lwz	r4,_FRAME_PARM_SAVE2(r1)
+	lwz	r31,_UC_REGS_PTR(r4)
+	lwz	r0,_UC_GREGS+(PT_MSR*4)(r31)
+	cmpwi	r0,0
+	bne	4f	/* L(do_sigret) */
+
+#ifdef __CONTEXT_ENABLE_FPRS
+# ifdef __CONTEXT_ENABLE_VRS
+
+#  ifdef PIC
+	mflr    r8
+	SETUP_GOT_ACCESS(r7,got_label)
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
+	mtlr    r8
+#   ifdef SHARED
+	lwz     r7,_rtld_global_ro@got(r7)
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+LOWORD(r7)
+#   else
+	lwz     r7,_dl_hwcap@got(r7)
+	lwz     r7,LOWORD(r7)
+#   endif
+#  else
+	lis	r7,(_dl_hwcap+LOWORD)@ha
+	lwz     r7,(_dl_hwcap+LOWORD)@l(r7)
+#  endif
+	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+	la	r10,(_UC_VREGS)(r31)
+	beq	6f	/* L(has_no_vec) */
+
+	lwz   r0,(32*16)(r10)
+	li    r9,(32*16)
+	cmpwi r0,0
+	mtspr VRSAVE,r0
+	beq	6f	/* L(has_no_vec) */
+
+	lvx   v19,r9,r10
+	la    r9,(16)(r10)
+
+	lvx   v0,0,r10
+	lvx   v1,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	mtvscr  v19
+	lvx   v2,0,r10
+	lvx   v3,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v4,0,r10
+	lvx   v5,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v6,0,r10
+	lvx   v7,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v8,0,r10
+	lvx   v9,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v10,0,r10
+	lvx   v11,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v12,0,r10
+	lvx   v13,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v14,0,r10
+	lvx   v15,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v16,0,r10
+	lvx   v17,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v18,0,r10
+	lvx   v19,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v20,0,r10
+	lvx   v21,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v22,0,r10
+	lvx   v23,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v24,0,r10
+	lvx   v25,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v26,0,r10
+	lvx   v27,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v28,0,r10
+	lvx   v29,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v30,0,r10
+	lvx   v31,0,r9
+	addi  r10,r10,32
+	addi  r9,r9,32
+
+	lvx   v10,0,r10
+	lvx   v11,0,r9
+
+6: /* L(has_no_vec): */
+# endif /* __CONTEXT_ENABLE_VRS */
+	/* Restore the floating-point registers */
+	lfd	fp31,_UC_FREGS+(32*8)(r31)
+	lfd	fp0,_UC_FREGS+(0*8)(r31)
+# ifdef _ARCH_PWR6
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf	0xff,fp31,1,0
+# else
+	.machine push
+	.machine "power6"
+	/* Availability of DFP indicates a 64-bit FPSCR.  */
+	andi.	r6,r7,PPC_FEATURE_HAS_DFP
+	beq	7f
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf	0xff,fp31,1,0
+	b	8f
+	/* Continue to operate on the FPSCR as if it were 32-bits.  */
+7:	mtfsf	0xff,fp31
+8:	.machine pop
+#endif /* _ARCH_PWR6 */
+	lfd	fp1,_UC_FREGS+(1*8)(r31)
+	lfd	fp2,_UC_FREGS+(2*8)(r31)
+	lfd	fp3,_UC_FREGS+(3*8)(r31)
+	lfd	fp4,_UC_FREGS+(4*8)(r31)
+	lfd	fp5,_UC_FREGS+(5*8)(r31)
+	lfd	fp6,_UC_FREGS+(6*8)(r31)
+	lfd	fp7,_UC_FREGS+(7*8)(r31)
+	lfd	fp8,_UC_FREGS+(8*8)(r31)
+	lfd	fp9,_UC_FREGS+(9*8)(r31)
+	lfd	fp10,_UC_FREGS+(10*8)(r31)
+	lfd	fp11,_UC_FREGS+(11*8)(r31)
+	lfd	fp12,_UC_FREGS+(12*8)(r31)
+	lfd	fp13,_UC_FREGS+(13*8)(r31)
+	lfd	fp14,_UC_FREGS+(14*8)(r31)
+	lfd	fp15,_UC_FREGS+(15*8)(r31)
+	lfd	fp16,_UC_FREGS+(16*8)(r31)
+	lfd	fp17,_UC_FREGS+(17*8)(r31)
+	lfd	fp18,_UC_FREGS+(18*8)(r31)
+	lfd	fp19,_UC_FREGS+(19*8)(r31)
+	lfd	fp20,_UC_FREGS+(20*8)(r31)
+	lfd	fp21,_UC_FREGS+(21*8)(r31)
+	lfd	fp22,_UC_FREGS+(22*8)(r31)
+	lfd	fp23,_UC_FREGS+(23*8)(r31)
+	lfd	fp24,_UC_FREGS+(24*8)(r31)
+	lfd	fp25,_UC_FREGS+(25*8)(r31)
+	lfd	fp26,_UC_FREGS+(26*8)(r31)
+	lfd	fp27,_UC_FREGS+(27*8)(r31)
+	lfd	fp28,_UC_FREGS+(28*8)(r31)
+	lfd	fp29,_UC_FREGS+(29*8)(r31)
+	lfd	fp30,_UC_FREGS+(30*8)(r31)
+	lfd	fp31,_UC_FREGS+(31*8)(r31)
+#endif /* __CONTEXT_ENABLE_FPRS */
+
+#ifdef __CONTEXT_ENABLE_E500
+	setcontext_e500
+#endif
+
+	/* Restore LR and CCR, and set CTR to the NIP value */
+	lwz	r3,_UC_GREGS+(PT_LNK*4)(r31)
+	lwz	r4,_UC_GREGS+(PT_NIP*4)(r31)
+	lwz	r5,_UC_GREGS+(PT_CCR*4)(r31)
+	mtlr	r3
+	mtctr	r4
+	mtcr	r5
+
+	/* Restore the general registers */
+	lwz	r3,_UC_GREGS+(PT_R3*4)(r31)
+	lwz	r4,_UC_GREGS+(PT_R4*4)(r31)
+	lwz	r5,_UC_GREGS+(PT_R5*4)(r31)
+	lwz	r6,_UC_GREGS+(PT_R6*4)(r31)
+	lwz	r7,_UC_GREGS+(PT_R7*4)(r31)
+	lwz	r8,_UC_GREGS+(PT_R8*4)(r31)
+	lwz	r9,_UC_GREGS+(PT_R9*4)(r31)
+	lwz	r10,_UC_GREGS+(PT_R10*4)(r31)
+	lwz	r11,_UC_GREGS+(PT_R11*4)(r31)
+	lwz	r12,_UC_GREGS+(PT_R12*4)(r31)
+	lwz	r13,_UC_GREGS+(PT_R13*4)(r31)
+	lwz	r14,_UC_GREGS+(PT_R14*4)(r31)
+	lwz	r15,_UC_GREGS+(PT_R15*4)(r31)
+	lwz	r16,_UC_GREGS+(PT_R16*4)(r31)
+	lwz	r17,_UC_GREGS+(PT_R17*4)(r31)
+	lwz	r18,_UC_GREGS+(PT_R18*4)(r31)
+	lwz	r19,_UC_GREGS+(PT_R19*4)(r31)
+	lwz	r20,_UC_GREGS+(PT_R20*4)(r31)
+	lwz	r21,_UC_GREGS+(PT_R21*4)(r31)
+	lwz	r22,_UC_GREGS+(PT_R22*4)(r31)
+	lwz	r23,_UC_GREGS+(PT_R23*4)(r31)
+	lwz	r24,_UC_GREGS+(PT_R24*4)(r31)
+	lwz	r25,_UC_GREGS+(PT_R25*4)(r31)
+	lwz	r26,_UC_GREGS+(PT_R26*4)(r31)
+	lwz	r27,_UC_GREGS+(PT_R27*4)(r31)
+	lwz	r28,_UC_GREGS+(PT_R28*4)(r31)
+	lwz	r29,_UC_GREGS+(PT_R29*4)(r31)
+	lwz	r30,_UC_GREGS+(PT_R30*4)(r31)
+	lwz	r1,_UC_GREGS+(PT_R1*4)(r31)
+	lwz	r31,_UC_GREGS+(PT_R31*4)(r31)
+
+	bctr
+
+3:/*L(error_exit):*/
+	lwz	r0,_FRAME_LR_SAVE+16(r1)
+	addi	r1,r1,16
+	mtlr	r0
+	blr
+
+4:/*L(do_sigret):*/
+	addi	r1,r4,-0xd0
+	li	r0,SYS_ify(rt_sigreturn)
+	sc
+	/* NOTREACHED */
+
+END(__CONTEXT_FUNC_NAME)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
new file mode 100644
index 0000000000..491b560c6c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
@@ -0,0 +1,78 @@
+/* Save current context and jump to a new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+
+#define __CONTEXT_FUNC_NAME __swapcontext
+#define __CONTEXT_ENABLE_FPRS 1
+#define __CONTEXT_ENABLE_VRS 1
+
+/* Size of ucontext in GLIBC_2.3.4 and later.  */
+#define _UC_SIZE_2_3_4	1184
+
+	.section ".text";
+ENTRY (__swapcontext)
+	li	r5,_UC_SIZE_2_3_4;
+	DO_CALL (SYS_ify (swapcontext));
+	bso-	cr0,1f
+/* the kernel does not set the return code for the success case */
+	li	r3,0
+	blr
+1:
+	b	__syscall_error@local
+END(__swapcontext)
+
+versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+
+	compat_text_section
+
+# undef __CONTEXT_FUNC_NAME
+# define __CONTEXT_FUNC_NAME __novec_swapcontext
+# undef __CONTEXT_ENABLE_VRS
+
+# include "swapcontext-common.S"
+
+	.previous
+
+compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3)
+
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
+
+# define _ERRNO_H	1
+# include <bits/errno.h>
+
+	compat_text_section
+ENTRY (__swapcontext_stub)
+	li	r3,ENOSYS
+	b	__syscall_error@local
+END (__swapcontext_stub)
+	.previous
+
+compat_symbol (libc, __swapcontext_stub, swapcontext, GLIBC_2_1)
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
new file mode 100644
index 0000000000..931374776a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
@@ -0,0 +1,10 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+chown		-	chown		i:sii	__chown		chown@@GLIBC_2.1
+lchown		-	lchown		i:sii	__lchown	lchown@@GLIBC_2.0 chown@GLIBC_2.0
+
+# Due to 64bit alignment there is a dummy second parameter
+readahead	-	readahead	i:iiiii	__readahead	readahead
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
new file mode 100644
index 0000000000..35d3f0508c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
@@ -0,0 +1,118 @@
+/* Cancellable system call stubs.  Linux/PowerPC version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+  .section ".text";							\
+  ENTRY (name)								\
+    SINGLE_THREAD_P;							\
+    bne- .Lpseudo_cancel;						\
+  .type __##syscall_name##_nocancel,@function;				\
+  .globl __##syscall_name##_nocancel;					\
+  __##syscall_name##_nocancel:						\
+    DO_CALL (SYS_ify (syscall_name));					\
+    PSEUDO_RET;								\
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	\
+  .Lpseudo_cancel:							\
+    stwu 1,-48(1);							\
+    cfi_adjust_cfa_offset (48);						\
+    mflr 9;								\
+    stw 9,52(1);							\
+    cfi_offset (lr, 4);							\
+    DOCARGS_##args;	/* save syscall args around CENABLE.  */	\
+    CENABLE;								\
+    stw 3,16(1);	/* store CENABLE return value (MASK).  */	\
+    UNDOCARGS_##args;	/* restore syscall args.  */			\
+    DO_CALL (SYS_ify (syscall_name));					\
+    mfcr 0;		/* save CR/R3 around CDISABLE.  */		\
+    stw 3,8(1);								\
+    stw 0,12(1);							\
+    lwz 3,16(1);	/* pass MASK to CDISABLE.  */			\
+    CDISABLE;								\
+    lwz 4,52(1);							\
+    lwz 0,12(1);	/* restore CR/R3. */				\
+    lwz 3,8(1);								\
+    mtlr 4;								\
+    mtcr 0;								\
+    addi 1,1,48;
+
+# define DOCARGS_0
+# define UNDOCARGS_0
+
+# define DOCARGS_1	stw 3,20(1); DOCARGS_0
+# define UNDOCARGS_1	lwz 3,20(1); UNDOCARGS_0
+
+# define DOCARGS_2	stw 4,24(1); DOCARGS_1
+# define UNDOCARGS_2	lwz 4,24(1); UNDOCARGS_1
+
+# define DOCARGS_3	stw 5,28(1); DOCARGS_2
+# define UNDOCARGS_3	lwz 5,28(1); UNDOCARGS_2
+
+# define DOCARGS_4	stw 6,32(1); DOCARGS_3
+# define UNDOCARGS_4	lwz 6,32(1); UNDOCARGS_3
+
+# define DOCARGS_5	stw 7,36(1); DOCARGS_4
+# define UNDOCARGS_5	lwz 7,36(1); UNDOCARGS_4
+
+# define DOCARGS_6	stw 8,40(1); DOCARGS_5
+# define UNDOCARGS_6	lwz 8,40(1); UNDOCARGS_5
+
+# if IS_IN (libpthread)
+#  define CENABLE	bl __pthread_enable_asynccancel@local
+#  define CDISABLE	bl __pthread_disable_asynccancel@local
+# elif IS_IN (libc)
+#  define CENABLE	bl __libc_enable_asynccancel@local
+#  define CDISABLE	bl __libc_disable_asynccancel@local
+# elif IS_IN (librt)
+#  define CENABLE	bl __librt_enable_asynccancel@local
+#  define CDISABLE	bl __librt_disable_asynccancel@local
+# else
+#  error Unsupported library
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P						\
+  lwz 10,MULTIPLE_THREADS_OFFSET(2);					\
+  cmpwi 10,0
+# 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/powerpc/powerpc32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
new file mode 100644
index 0000000000..a88f164961
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
@@ -0,0 +1,234 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_POWERPC_SYSDEP_H
+#define _LINUX_POWERPC_SYSDEP_H 1
+
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/powerpc/sysdep.h>
+#include <tls.h>
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifndef __ASSEMBLER__
+
+# include <errno.h>
+
+/* Define a macro which expands inline into the wrapper code for a VDSO
+   call. This use is for internal calls that do not need to handle errors
+   normally. It will never touch errno.
+   On powerpc a system call basically clobbers the same registers like a
+   function call, with the exception of LR (which is needed for the
+   "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal
+   an error return status).  */
+# define INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, nr, type, args...)	      \
+  ({									      \
+    register void *r0  __asm__ ("r0");					      \
+    register long int r3  __asm__ ("r3");				      \
+    register long int r4  __asm__ ("r4");				      \
+    register long int r5  __asm__ ("r5");				      \
+    register long int r6  __asm__ ("r6");				      \
+    register long int r7  __asm__ ("r7");				      \
+    register long int r8  __asm__ ("r8");				      \
+    register long int r9  __asm__ ("r9");				      \
+    register long int r10 __asm__ ("r10");				      \
+    register long int r11 __asm__ ("r11");				      \
+    register long int r12 __asm__ ("r12");				      \
+    register type rval  __asm__ ("r3");					      \
+    LOADARGS_##nr (funcptr, args);					      \
+    __asm__ __volatile__						      \
+      ("mtctr %0\n\t"							      \
+       "bctrl\n\t"							      \
+       "mfcr %0"							      \
+       : "+r" (r0), "+r" (r3), "+r" (r4), "+r" (r5),  "+r" (r6),  "+r" (r7),  \
+	 "+r" (r8), "+r" (r9), "+r" (r10), "+r" (r11), "+r" (r12)	      \
+       : : "cr0", "ctr", "lr", "memory");				      \
+    err = (long int) r0;						      \
+    __asm__ __volatile__ ("" : "=r" (rval) : "r" (r3), "r" (r4));	      \
+    rval;								      \
+  })
+
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
+  INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, nr, long int, args)
+
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)				\
+  ({									\
+    INTERNAL_SYSCALL_DECL (sc_err);					\
+    long int sc_ret = INTERNAL_SYSCALL (name, sc_err, nr, args);	\
+    if (INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err))			\
+      {									\
+	__set_errno (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err));		\
+	sc_ret = -1L;							\
+      }									\
+    sc_ret;								\
+  })
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call. This use is for internal calls that do not need to handle errors
+   normally. It will never touch errno.
+   On powerpc a system call basically clobbers the same registers like a
+   function call, with the exception of LR (which is needed for the
+   "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal
+   an error return status).  */
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) long int err __attribute__ ((unused))
+
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL_NCS(name, err, nr, args...)			\
+  ({									\
+    register long int r0  __asm__ ("r0");				\
+    register long int r3  __asm__ ("r3");				\
+    register long int r4  __asm__ ("r4");				\
+    register long int r5  __asm__ ("r5");				\
+    register long int r6  __asm__ ("r6");				\
+    register long int r7  __asm__ ("r7");				\
+    register long int r8  __asm__ ("r8");				\
+    register long int r9  __asm__ ("r9");				\
+    register long int r10 __asm__ ("r10");				\
+    register long int r11 __asm__ ("r11");				\
+    register long int r12 __asm__ ("r12");				\
+    LOADARGS_##nr(name, args);						\
+    ABORT_TRANSACTION;							\
+    __asm__ __volatile__						\
+      ("sc   \n\t"							\
+       "mfcr %0"							\
+       : "=&r" (r0),							\
+	 "=&r" (r3), "=&r" (r4), "=&r" (r5),  "=&r" (r6),  "=&r" (r7),	\
+	 "=&r" (r8), "=&r" (r9), "=&r" (r10), "=&r" (r11), "=&r" (r12)	\
+       : ASM_INPUT_##nr							\
+       : "cr0", "ctr", "memory");					\
+    err = r0;								\
+    (int) r3;								\
+  })
+# define INTERNAL_SYSCALL(name, err, nr, args...) \
+  INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((void) (val), __builtin_expect ((err) & (1 << 28), 0))
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)     (val)
+
+# define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, type, nr, args...)  \
+  ({									      \
+    type sc_ret = ENOSYS;						      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      sc_ret = 								      \
+        INTERNAL_VSYSCALL_CALL_TYPE (vdsop, err, nr, type, ##args);	      \
+    else								      \
+      err = 1 << 28;							      \
+    sc_ret;								      \
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETRES_VSYSCALL	1
+# define HAVE_CLOCK_GETTIME_VSYSCALL	1
+# define HAVE_GETCPU_VSYSCALL		1
+
+
+# define LOADARGS_0(name, dummy)					      \
+	r0 = name
+# define LOADARGS_1(name, __arg1) \
+	long int arg1 = (long int) (__arg1);	\
+  LOADARGS_0(name, 0);					   \
+	extern void __illegally_sized_syscall_arg1 (void); \
+	if (__builtin_classify_type (__arg1) != 5 && sizeof (__arg1) > 4) \
+	  __illegally_sized_syscall_arg1 (); \
+	r3 = arg1
+# define LOADARGS_2(name, __arg1, __arg2) \
+	long int arg2 = (long int) (__arg2); \
+	LOADARGS_1(name, __arg1); \
+	extern void __illegally_sized_syscall_arg2 (void); \
+	if (__builtin_classify_type (__arg2) != 5 && sizeof (__arg2) > 4) \
+	  __illegally_sized_syscall_arg2 (); \
+	r4 = arg2
+# define LOADARGS_3(name, __arg1, __arg2, __arg3) \
+	long int arg3 = (long int) (__arg3); \
+	LOADARGS_2(name, __arg1, __arg2); \
+	extern void __illegally_sized_syscall_arg3 (void); \
+	if (__builtin_classify_type (__arg3) != 5 && sizeof (__arg3) > 4) \
+	  __illegally_sized_syscall_arg3 (); \
+	r5 = arg3
+# define LOADARGS_4(name, __arg1, __arg2, __arg3, __arg4) \
+	long int arg4 = (long int) (__arg4); \
+	LOADARGS_3(name, __arg1, __arg2, __arg3); \
+	extern void __illegally_sized_syscall_arg4 (void); \
+	if (__builtin_classify_type (__arg4) != 5 && sizeof (__arg4) > 4) \
+	  __illegally_sized_syscall_arg4 (); \
+	r6 = arg4
+# define LOADARGS_5(name, __arg1, __arg2, __arg3, __arg4, __arg5) \
+	long int arg5 = (long int) (__arg5); \
+	LOADARGS_4(name, __arg1, __arg2, __arg3, __arg4); \
+	extern void __illegally_sized_syscall_arg5 (void); \
+	if (__builtin_classify_type (__arg5) != 5 && sizeof (__arg5) > 4) \
+	  __illegally_sized_syscall_arg5 (); \
+	r7 = arg5
+# define LOADARGS_6(name, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \
+	long int arg6 = (long int) (__arg6); \
+	LOADARGS_5(name, __arg1, __arg2, __arg3, __arg4, __arg5); \
+	extern void __illegally_sized_syscall_arg6 (void); \
+	if (__builtin_classify_type (__arg6) != 5 && sizeof (__arg6) > 4) \
+	  __illegally_sized_syscall_arg6 (); \
+	r8 = arg6
+
+# define ASM_INPUT_0 "0" (r0)
+# define ASM_INPUT_1 ASM_INPUT_0, "1" (r3)
+# define ASM_INPUT_2 ASM_INPUT_1, "2" (r4)
+# define ASM_INPUT_3 ASM_INPUT_2, "3" (r5)
+# define ASM_INPUT_4 ASM_INPUT_3, "4" (r6)
+# define ASM_INPUT_5 ASM_INPUT_4, "5" (r7)
+# define ASM_INPUT_6 ASM_INPUT_5, "6" (r8)
+
+#endif /* __ASSEMBLER__ */
+
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+	lwz	tmpreg,POINTER_GUARD(r2); \
+	xor	reg,tmpreg,reg
+#  define PTR_MANGLE2(reg, tmpreg) \
+	xor	reg,tmpreg,reg
+#  define PTR_MANGLE3(destreg, reg, tmpreg) \
+	lwz	tmpreg,POINTER_GUARD(r2); \
+	xor	destreg,tmpreg,reg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+#  define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg)
+#  define PTR_DEMANGLE3(destreg, reg, tmpreg) PTR_MANGLE3 (destreg, 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/powerpc/powerpc32/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
new file mode 100644
index 0000000000..293761f260
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
@@ -0,0 +1,26 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+-- Offsets in ucontext_t.
+#define ucontext(member)	offsetof (ucontext_t, member)
+_UC_LINK		ucontext (uc_link)
+_UC_STACK_SP		ucontext (uc_stack.ss_sp)
+_UC_STACK_SIZE		ucontext (uc_stack.ss_size)
+_UC_REGS_PTR		ucontext (uc_mcontext.uc_regs)
+_UC_SIGMASK		ucontext (uc_sigmask)
+_UC_REG_SPACE		ucontext (uc_reg_space)
+
+-- Offsets in mcontext_t.
+#define mcontext(member)	offsetof (mcontext_t, member)
+_UC_GREGS		mcontext (gregs)
+_UC_FREGS		mcontext (fpregs)
+_UC_VREGS		mcontext (vrregs)
+_UC_VREGS		mcontext (vrregs)
+_UC_VSCR		mcontext (vrregs.vscr)
+_UC_VRSAVE		mcontext (vrregs.vrsave)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
new file mode 100644
index 0000000000..d1529769fe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	DO_CALL (SYS_ify (vfork))
+
+	PSEUDO_RET
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies
new file mode 100644
index 0000000000..76a32ce7b5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc64/970/fpu
+powerpc/powerpc64/970
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies
new file mode 100644
index 0000000000..8d91c80097
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies
@@ -0,0 +1 @@
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
new file mode 100644
index 0000000000..a8e88b89db
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
@@ -0,0 +1,43 @@
+libc {
+  GLIBC_2.2 {
+    # functions used in other libraries
+
+    # g*
+    glob64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64; setrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+  }
+  GLIBC_2.3.4 {
+    getcontext;
+    setcontext;
+    swapcontext;
+  }
+  GLIBC_2.17 {
+    __ppc_get_timebase_freq;
+  }
+}
+
+librt {
+  GLIBC_2.3.3 {
+    # Changed timer_t.
+    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_settime;
+  }
+}
+
+libpthread {
+  GLIBC_2.3.4 {
+    longjmp; siglongjmp;
+  }
+  GLIBC_2.6 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S
new file mode 100644
index 0000000000..0941dd22a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S
@@ -0,0 +1,68 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+
+	.section .rodata.str1.8,"aMS",@progbits,1
+	.align 3
+.LC0:
+	.string "longjmp causes uninitialized stack frame"
+	.section .toc,"aw"
+.LC1:
+	.tc .LC0[TC],.LC0
+	.text
+
+#define __longjmp ____longjmp_chk
+
+#define CHECK_SP(reg) \
+	cmpld	reg, r1;				\
+	bge+	.Lok;					\
+	mflr	r0;					\
+	std	r0,FRAME_LR_SAVE(r1);			\
+	mr	r31,r3;					\
+	mr	r30,r4;					\
+	stdu	r1,-FRAME_MIN_SIZE-32(r1);		\
+	cfi_remember_state;				\
+	cfi_adjust_cfa_offset (FRAME_MIN_SIZE+32);	\
+	cfi_offset (lr, FRAME_LR_SAVE);			\
+	li	r3,0;					\
+	addi	r4,r1,FRAME_MIN_SIZE;			\
+	li	r0,__NR_sigaltstack;			\
+	sc;						\
+	/* Without working sigaltstack we cannot perform the test.  */ \
+	bso	.Lok2;					\
+	lwz	r0,FRAME_MIN_SIZE+8(r1);		\
+	andi.	r4,r0,1;				\
+	beq	.Lfail;					\
+	ld	r0,FRAME_MIN_SIZE+16(r1);		\
+	ld	r4,FRAME_MIN_SIZE(r1);			\
+	add	r4,r4,r0;				\
+	sub	r3,r3,reg;				\
+	cmpld	r3,r0;					\
+	bge+	.Lok2;					\
+.Lfail:							\
+	ld	r3,.LC1@toc(2);				\
+	bl	HIDDEN_JUMPTARGET (__fortify_fail);	\
+	nop;						\
+.Lok2:							\
+	mr	r3,r31;					\
+	mr	r4,r30;					\
+	cfi_restore_state;				\
+.Lok:
+
+#include <__longjmp-common.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies
new file mode 100644
index 0000000000..39b19e9c1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc64/a2/fpu
+powerpc/powerpc64/a2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
new file mode 100644
index 0000000000..733f452b5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
@@ -0,0 +1,43 @@
+/* brk system call for Linux.  PowerPC64 version.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+	.comm	__curbrk,8,8
+	.section	".toc","aw"
+.LC__curbrk:
+	.tc __curbrk[TC],__curbrk
+	.section ".text"
+ENTRY (__brk)
+	CALL_MCOUNT 1
+
+	std	r3,-8(r1)
+	DO_CALL(SYS_ify(brk))
+	ld	r6,-8(r1)
+	ld	r5,.LC__curbrk@toc(r2)
+	std     r3,0(r5)
+	cmpld   r6,r3
+	li	r3,0
+	blelr+
+	li      r3,ENOMEM
+	TAIL_CALL_SYSCALL_ERROR
+END (__brk)
+
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/c++-types.data
new file mode 100644
index 0000000000..23c11dc41b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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:m
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies
new file mode 100644
index 0000000000..583d4084a4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc64/cell/fpu
+powerpc/powerpc64/cell
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies
new file mode 100644
index 0000000000..b6720ecda5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/cell/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
new file mode 100644
index 0000000000..9e5bfd2d03
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
@@ -0,0 +1,119 @@
+/* Wrapper around clone system call.  PowerPC64 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 <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM	0x00000100
+#define CLONE_THREAD	0x00010000
+
+/* This is the only really unusual system call in PPC linux, but not
+   because of any weirdness in the system call itself; because of
+   all the freaky stuff we have to do to make the call useful.  */
+
+/* int [r3] clone(int (*fn)(void *arg) [r3], void *child_stack [r4],
+                  int flags [r5], void *arg [r6], void *parent_tid [r7],
+                  void *tls [r8], void *child_tid [r9]); */
+
+ENTRY (__clone)
+	CALL_MCOUNT 7
+
+	/* Check for child_stack == NULL || fn == NULL.  */
+	cmpdi	cr0,r4,0
+	cmpdi	cr1,r3,0
+	cror	cr0*4+eq,cr1*4+eq,cr0*4+eq
+	beq-	cr0,L(badargs)
+
+	/* Save some regs in the "red zone".  */
+	std	r29,-24(r1)
+	std	r30,-16(r1)
+	std	r31,-8(r1)
+	cfi_offset(r29,-24)
+	cfi_offset(r30,-16)
+	cfi_offset(r31,-8)
+
+	/* Set up stack frame for child.  */
+	clrrdi	r4,r4,4
+	li	r0,0
+	stdu	r0,-FRAME_MIN_SIZE_PARM(r4)
+
+	/* Save fn, args, stack across syscall.  */
+	mr	r30,r3			/* Function in r30.  */
+	mr	r29,r5			/* Flags in r29.  */
+	mr	r31,r6			/* Argument in r31.  */
+
+	/* 'flags' argument is first parameter to clone syscall.
+	   Second is the stack pointer, already in r4.  */
+	mr	r3,r5
+	/* Move the parent_tid, child_tid and tls arguments. */
+	mr	r5,r7
+	mr	r6,r8
+	mr	r7,r9
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
+	/* Do the call.  */
+	DO_CALL(SYS_ify(clone))
+
+	/* Check for child process.  */
+	cmpdi	cr1,r3,0
+	crandc	cr1*4+eq,cr1*4+eq,cr0*4+so
+	bne-	cr1,L(parent)		/* The '-' is to minimise the race.  */
+
+	std	r2,FRAME_TOC_SAVE(r1)
+	/* Call procedure.  */
+	PPC64_LOAD_FUNCPTR r30
+	mr	r3,r31
+	bctrl
+	ld	r2,FRAME_TOC_SAVE(r1)
+	/* Call _exit with result from procedure.  */
+#ifdef SHARED
+	b	JUMPTARGET(__GI__exit)
+#else
+	bl	JUMPTARGET(_exit)
+	/* We won't ever get here but provide a nop so that the linker
+	   will insert a toc adjusting stub if necessary.  */
+	nop
+#endif
+
+L(badargs):
+	cfi_startproc
+	li	r3,EINVAL
+	TAIL_CALL_SYSCALL_ERROR
+
+L(parent):
+	/* Parent.  Restore registers & return.  */
+	cfi_offset(r29,-24)
+	cfi_offset(r30,-16)
+	cfi_offset(r31,-8)
+	ld	r29,-24(r1)
+	ld	r30,-16(r1)
+	ld	r31,-8(r1)
+	cfi_restore(r29)
+	cfi_restore(r30)
+	cfi_restore(r31)
+
+	PSEUDO_RET
+
+END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
new file mode 100644
index 0000000000..4e7fcf1d97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
@@ -0,0 +1,233 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/.
+
+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
+
+# Define default-abi according to compiler flags.
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the PowerPC64 ELFv2 ABI" >&5
+$as_echo_n "checking whether the compiler is using the PowerPC64 ELFv2 ABI... " >&6; }
+if ${libc_cv_ppc64_elfv2_abi+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if _CALL_ELF == 2
+                      yes
+                     #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  libc_cv_ppc64_elfv2_abi=yes
+else
+  libc_cv_ppc64_elfv2_abi=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_elfv2_abi" >&5
+$as_echo "$libc_cv_ppc64_elfv2_abi" >&6; }
+if test $libc_cv_ppc64_elfv2_abi = yes; then
+  config_vars="$config_vars
+default-abi = 64-v2"
+  # For shlib-versions.
+  $as_echo "#define HAVE_ELFV2_ABI 1" >>confdefs.h
+
+else
+  config_vars="$config_vars
+default-abi = 64-v1"
+  # Compiler that do not support ELFv2 ABI does not define _CALL_ELF
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler defines _CALL_ELF" >&5
+$as_echo_n "checking whether the compiler defines _CALL_ELF... " >&6; }
+if ${libc_cv_ppc64_def_call_elf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef _CALL_ELF
+                         yes
+                       #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  libc_cv_ppc64_def_call_elf=yes
+else
+  libc_cv_ppc64_def_call_elf=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_def_call_elf" >&5
+$as_echo "$libc_cv_ppc64_def_call_elf" >&6; }
+  if test $libc_cv_ppc64_def_call_elf = no; then
+    libc_extra_cppflags="$libc_extra_cppflags -D_CALL_ELF=1"
+  fi
+fi
+# Set minimum kernel version for ppc64le.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the machine type to set minimum kernel version" >&5
+$as_echo_n "checking the machine type to set minimum kernel version... " >&6; }
+if ${libc_cv_ppc64_le+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+                      yes
+                     #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  arch_minimum_kernel=3.10.0
+else
+  libc_cv_ppc64_le=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_le" >&5
+$as_echo "$libc_cv_ppc64_le" >&6; }
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
new file mode 100644
index 0000000000..f9cba6e15d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
@@ -0,0 +1,36 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
+
+# Define default-abi according to compiler flags.
+AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
+  [libc_cv_ppc64_elfv2_abi],
+  [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2
+                      yes
+                     #endif
+  ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)])
+if test $libc_cv_ppc64_elfv2_abi = yes; then
+  LIBC_CONFIG_VAR([default-abi], [64-v2])
+  # For shlib-versions.
+  AC_DEFINE(HAVE_ELFV2_ABI)
+else
+  LIBC_CONFIG_VAR([default-abi], [64-v1])
+  # Compiler that do not support ELFv2 ABI does not define _CALL_ELF
+  AC_CACHE_CHECK([whether the compiler defines _CALL_ELF],
+    [libc_cv_ppc64_def_call_elf],
+    [AC_EGREP_CPP(yes,[#ifdef _CALL_ELF
+                         yes
+                       #endif
+    ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
+  if test $libc_cv_ppc64_def_call_elf = no; then
+    libc_extra_cppflags="$libc_extra_cppflags -D_CALL_ELF=1"
+  fi
+fi
+# Set minimum kernel version for ppc64le.
+AC_CACHE_CHECK([the machine type to set minimum kernel version],
+  [libc_cv_ppc64_le],
+  [AC_EGREP_CPP(yes,[#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+                      yes
+                     #endif
+  ], arch_minimum_kernel=3.10.0, libc_cv_ppc64_le=no)])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h
new file mode 100644
index 0000000000..44eb95c693
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h
@@ -0,0 +1,24 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define _DL_CACHE_DEFAULT_ID	0x503
+
+#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/powerpc/powerpc64/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c
new file mode 100644
index 0000000000..85ae8a2752
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <sysdep-cancel.h>	/* Must come before <fcntl.h>.  */
+#include <fcntl.h>
+#include <stdarg.h>
+
+#include <sys/syscall.h>
+
+
+#ifndef NO_CANCELLATION
+int
+__fcntl_nocancel (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  return INLINE_SYSCALL (fcntl, 3, fd, cmd, arg);
+}
+#endif
+
+
+int
+__libc_fcntl (int fd, int cmd, ...)
+{
+  va_list ap;
+  void *arg;
+
+  va_start (ap, cmd);
+  arg = va_arg (ap, void *);
+  va_end (ap);
+
+  if (cmd >= F_GETLK64 && cmd <= F_SETLKW64)
+    cmd -= F_GETLK64 - F_GETLK;
+
+  if (cmd != F_SETLKW)
+    return INLINE_SYSCALL (fcntl, 3, fd, cmd, arg);
+
+  return SYSCALL_CANCEL (fcntl, fd, cmd, arg);
+}
+libc_hidden_def (__libc_fcntl)
+
+weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
+weak_alias (__libc_fcntl, fcntl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
new file mode 100644
index 0000000000..494d4931af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
@@ -0,0 +1,35 @@
+/* Procedure definition for FE_MASK_ENV for Linux/ppc64.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fenv.h>
+#include <errno.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <sys/prctl.h>
+
+const fenv_t *
+__fe_mask_env (void)
+{
+#if defined PR_SET_FPEXC && defined PR_FP_EXC_DISABLED
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_DISABLED);
+#else
+  __set_errno (ENOSYS);
+#endif
+  return FE_DFL_ENV;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
new file mode 100644
index 0000000000..dc2252b936
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
@@ -0,0 +1,39 @@
+/* Procedure definition for FE_NOMASK_ENV for Linux/ppc64.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fenv_libc.h>
+#include <errno.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <sys/prctl.h>
+#include <shlib-compat.h>
+
+const fenv_t *
+__fe_nomask_env_priv (void)
+{
+#if defined PR_SET_FPEXC && defined PR_FP_EXC_PRECISE
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
+#else
+  __set_errno (ENOSYS);
+#endif
+  return FE_ENABLED_ENV;
+}
+#if SHLIB_COMPAT (libm, GLIBC_2_3, GLIBC_2_19)
+compat_symbol (libm, __fe_nomask_env_priv, __fe_nomask_env, GLIBC_2_3);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
new file mode 100644
index 0000000000..49e7a5f272
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
@@ -0,0 +1,383 @@
+/* Save current context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include <asm/errno.h>
+#include "ucontext_i.h"
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
+ENTRY(__novec_getcontext)
+	CALL_MCOUNT 1
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
+  std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
+  mflr  r0
+  std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
+  std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+  std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
+  std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
+  std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
+  std  r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r3)
+  std  r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r3)
+  std  r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r3)
+  std  r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r3)
+  std  r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r3)
+  std  r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r3)
+  std  r13,(SIGCONTEXT_GP_REGS+(PT_R13*8))(r3)
+  std  r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r3)
+  std  r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r3)
+  std  r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r3)
+  std  r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r3)
+  std  r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r3)
+  std  r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r3)
+  std  r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r3)
+  std  r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r3)
+  std  r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r3)
+  std  r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r3)
+  std  r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r3)
+  std  r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r3)
+  std  r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r3)
+  std  r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r3)
+  std  r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r3)
+  std  r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r3)
+  std  r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r3)
+  std  r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r3)
+  mfctr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CTR*8))(r3)
+  mfxer  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r3)
+  mfcr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r3)
+
+  /* Set the return value of swapcontext to "success".  R3 is the only
+     register whose value is not preserved in the saved context.  */
+  li   r0,0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r3)
+
+  /* Zero fill fields that can't be set in user state or are unused.  */
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(34*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_SOFTE*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(40*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(41*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(42*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_RESULT*8))(r3)
+
+  /* Set the PT_REGS pointer to the address of sigcontext's gp_regs
+     field.  Struct pt_regs and elf_gregset_t are the same thing.
+     We kept the regs field for backwards compatibility with
+     libraries built before we extended sigcontext.  */
+  addi r0,r3,SIGCONTEXT_GP_REGS
+  std  r0,SIGCONTEXT_PT_REGS(r3)
+
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r3)
+  stfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r3)
+  stfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r3)
+  stfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r3)
+  stfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r3)
+  stfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r3)
+  stfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r3)
+  stfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r3)
+  stfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r3)
+  stfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r3)
+  stfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r3)
+  stfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r3)
+  stfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r3)
+  stfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r3)
+  stfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r3)
+  stfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r3)
+  stfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r3)
+  stfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r3)
+  stfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r3)
+  stfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r3)
+  stfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r3)
+  stfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r3)
+  stfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r3)
+  stfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r3)
+  stfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r3)
+  stfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r3)
+  stfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r3)
+  stfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r3)
+  stfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r3)
+  stfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r3)
+  mffs  fp0
+  stfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r3)
+  stfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r3)
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3)
+
+  addi  r5,r3,UCONTEXT_SIGMASK
+  li  r4,0
+  li  r3,SIG_BLOCK
+  bl  JUMPTARGET(__sigprocmask)
+  nop
+
+  ld    r0,128+FRAME_LR_SAVE(r1)
+  addi  r1,r1,128
+  mtlr  r0
+  blr
+PSEUDO_END(__novec_getcontext)
+
+compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3)
+
+#endif
+
+	.section	".toc","aw"
+.LC__dl_hwcap:
+#ifdef SHARED
+	.tc _rtld_global_ro[TC],_rtld_global_ro
+#else
+	.tc _dl_hwcap[TC],_dl_hwcap
+#endif
+	.section ".text"
+
+	.machine	"altivec"
+ENTRY(__getcontext)
+	CALL_MCOUNT 1
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
+  std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
+  mflr  r0
+  std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
+  std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+  std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
+  std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
+  std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
+  std  r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r3)
+  std  r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r3)
+  std  r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r3)
+  std  r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r3)
+  std  r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r3)
+  std  r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r3)
+  std  r13,(SIGCONTEXT_GP_REGS+(PT_R13*8))(r3)
+  std  r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r3)
+  std  r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r3)
+  std  r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r3)
+  std  r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r3)
+  std  r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r3)
+  std  r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r3)
+  std  r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r3)
+  std  r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r3)
+  std  r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r3)
+  std  r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r3)
+  std  r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r3)
+  std  r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r3)
+  std  r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r3)
+  std  r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r3)
+  std  r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r3)
+  std  r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r3)
+  std  r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r3)
+  std  r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r3)
+  mfctr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CTR*8))(r3)
+  mfxer  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r3)
+  mfcr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r3)
+
+  /* Set the return value of swapcontext to "success".  R3 is the only
+     register whose value is not preserved in the saved context.  */
+  li   r0,0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r3)
+
+  /* Zero fill fields that can't be set in user state or are unused.  */
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(34*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_SOFTE*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(40*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(41*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(42*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_RESULT*8))(r3)
+
+  /* Set the PT_REGS pointer to the address of sigcontext's gp_regs
+     field.  Struct pt_regs and elf_gregset_t are the same thing.
+     We kept the regs field for backwards compatibility with
+     libraries built before we extended sigcontext.  */
+  addi r0,r3,SIGCONTEXT_GP_REGS
+  std  r0,SIGCONTEXT_PT_REGS(r3)
+
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r3)
+  stfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r3)
+  stfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r3)
+  stfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r3)
+  stfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r3)
+  stfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r3)
+  stfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r3)
+  stfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r3)
+  stfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r3)
+  stfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r3)
+  stfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r3)
+  stfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r3)
+  stfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r3)
+  stfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r3)
+  stfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r3)
+  stfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r3)
+  stfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r3)
+  stfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r3)
+  stfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r3)
+  stfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r3)
+  stfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r3)
+  stfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r3)
+  stfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r3)
+  stfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r3)
+  stfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r3)
+  stfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r3)
+  stfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r3)
+  stfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r3)
+  stfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r3)
+  stfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r3)
+  mffs  fp0
+  stfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r3)
+  stfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r3)
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3)
+
+  ld    r5,.LC__dl_hwcap@toc(r2)
+# ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+# else
+  ld    r5,0(r5) /* Load extern _dl_hwcap.  */
+# endif
+  la    r10,(SIGCONTEXT_V_RESERVE+8)(r3)
+  la    r9,(SIGCONTEXT_V_RESERVE+24)(r3)
+
+  andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+
+  clrrdi  r10,r10,4
+  beq   L(has_no_vec)
+  clrrdi  r9,r9,4
+  mr    r5,r10	/* Capture *v_regs value in r5.  */
+
+  stvx  v0,0,r10
+  stvx  v1,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v2,0,r10
+  stvx  v3,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v4,0,r10
+  stvx  v5,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v6,0,r10
+  stvx  v7,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v8,0,r10
+  stvx  v9,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v10,0,r10
+  stvx  v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v12,0,r10
+  stvx  v13,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v14,0,r10
+  stvx  v15,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v16,0,r10
+  stvx  v17,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v18,0,r10
+  stvx  v19,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v20,0,r10
+  stvx  v21,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v22,0,r10
+  stvx  v23,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v24,0,r10
+  stvx  v25,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v26,0,r10
+  stvx  v27,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v28,0,r10
+  stvx  v29,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v30,0,r10
+  stvx  v31,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  mfvscr  v0
+  mfspr r0,VRSAVE
+  stvx  v0,0,r10
+  stw   r0,0(9)
+
+L(has_no_vec):
+/*
+   Store either a NULL or a quadword aligned pointer to the Vector register
+   array into *v_regs.
+*/
+  std   r5,(SIGCONTEXT_V_REGS_PTR)(r3)
+
+  addi  r5,r3,UCONTEXT_SIGMASK
+  li  r4,0
+  li  r3,SIG_BLOCK
+  bl  JUMPTARGET(__sigprocmask)
+  nop
+
+  ld    r0,128+FRAME_LR_SAVE(r1)
+  addi  r1,r1,128
+  mtlr  r0
+  blr
+PSEUDO_END(__getcontext)
+
+versioned_symbol (libc, __getcontext, getcontext, GLIBC_2_3_4)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h
new file mode 100644
index 0000000000..df9798b72e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h
@@ -0,0 +1,21 @@
+/* Definition of `struct stat' used in the kernel.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define STAT_IS_KERNEL_STAT 1
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist
new file mode 100644
index 0000000000..ef6159baa8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist
@@ -0,0 +1,13 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __libc_stack_end D 0x8
+GLIBC_2.17 __tls_get_addr F
+GLIBC_2.17 _dl_mcount F
+GLIBC_2.17 _r_debug D 0x28
+GLIBC_2.17 calloc F
+GLIBC_2.17 free F
+GLIBC_2.17 malloc F
+GLIBC_2.17 realloc F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 __tls_get_addr_opt F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist
new file mode 100644
index 0000000000..2c3b74cc20
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist
@@ -0,0 +1,14 @@
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 __tls_get_addr_opt F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __libc_stack_end D 0x8
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.3 _dl_mcount F
+GLIBC_2.3 _r_debug D 0x28
+GLIBC_2.3 calloc F
+GLIBC_2.3 free F
+GLIBC_2.3 malloc F
+GLIBC_2.3 realloc F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
new file mode 100644
index 0000000000..4d7d076410
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
@@ -0,0 +1,80 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+#if _CALL_ELF != 2
+
+static __always_inline bool
+_dl_ppc64_is_opd_sym (const struct link_map *l, const ElfW(Sym) *sym)
+{
+  return (ELFW(ST_TYPE) (sym->st_info) == STT_FUNC
+	  && l->l_addr + sym->st_value >= (ElfW(Addr)) l->l_ld
+	  && l->l_addr + sym->st_value < l->l_map_end
+	  && sym->st_size != 0);
+}
+
+static __always_inline bool
+_dl_ppc64_addr_sym_match (const struct link_map *l, const ElfW(Sym) *sym,
+			  const ElfW(Sym) *matchsym, ElfW(Addr) addr)
+{
+  ElfW(Addr) value = l->l_addr + sym->st_value;
+  if (_dl_ppc64_is_opd_sym (l, sym))
+    {
+      if (addr < value || addr >= value + 24)
+	{
+	  value = *(ElfW(Addr) *) value;
+	  if (addr < value || addr >= value + sym->st_size)
+	    return false;
+	}
+    }
+  else if (sym->st_shndx == SHN_UNDEF || sym->st_size == 0)
+    {
+      if (addr != value)
+	return false;
+    }
+  else if (addr < value || addr >= value + sym->st_size)
+    return false;
+
+  if (matchsym == NULL)
+    return true;
+
+  ElfW(Addr) matchvalue = l->l_addr + matchsym->st_value;
+  if (_dl_ppc64_is_opd_sym (l, matchsym)
+      && (addr < matchvalue || addr > matchvalue + 24))
+    matchvalue = *(ElfW(Addr) *) matchvalue;
+
+  return matchvalue < value;
+}
+
+/* If this is a function symbol defined past the end of our dynamic
+   section, then it must be a function descriptor.  Allow these symbols
+   to match their associated function code range as well as the
+   descriptor addresses.  */
+#undef DL_ADDR_SYM_MATCH
+#define DL_ADDR_SYM_MATCH(L, SYM, MATCHSYM, ADDR) \
+  _dl_ppc64_addr_sym_match (L, SYM, MATCHSYM, ADDR)
+
+#endif
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist
new file mode 100644
index 0000000000..5e54974368
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..40f6e08b75
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist
new file mode 100644
index 0000000000..21330fc8d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 gai_cancel F
+GLIBC_2.17 gai_error F
+GLIBC_2.17 gai_suspend F
+GLIBC_2.17 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist
new file mode 100644
index 0000000000..9036592d30
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 gai_cancel F
+GLIBC_2.3 gai_error F
+GLIBC_2.3 gai_suspend F
+GLIBC_2.3 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
new file mode 100644
index 0000000000..443d89f663
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
@@ -0,0 +1,2193 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _Exit F
+GLIBC_2.17 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.17 _IO_adjust_column F
+GLIBC_2.17 _IO_adjust_wcolumn F
+GLIBC_2.17 _IO_default_doallocate F
+GLIBC_2.17 _IO_default_finish F
+GLIBC_2.17 _IO_default_pbackfail F
+GLIBC_2.17 _IO_default_uflow F
+GLIBC_2.17 _IO_default_xsgetn F
+GLIBC_2.17 _IO_default_xsputn F
+GLIBC_2.17 _IO_do_write F
+GLIBC_2.17 _IO_doallocbuf F
+GLIBC_2.17 _IO_fclose F
+GLIBC_2.17 _IO_fdopen F
+GLIBC_2.17 _IO_feof F
+GLIBC_2.17 _IO_ferror F
+GLIBC_2.17 _IO_fflush F
+GLIBC_2.17 _IO_fgetpos F
+GLIBC_2.17 _IO_fgetpos64 F
+GLIBC_2.17 _IO_fgets F
+GLIBC_2.17 _IO_file_attach F
+GLIBC_2.17 _IO_file_close F
+GLIBC_2.17 _IO_file_close_it F
+GLIBC_2.17 _IO_file_doallocate F
+GLIBC_2.17 _IO_file_finish F
+GLIBC_2.17 _IO_file_fopen F
+GLIBC_2.17 _IO_file_init F
+GLIBC_2.17 _IO_file_jumps D 0xa8
+GLIBC_2.17 _IO_file_open F
+GLIBC_2.17 _IO_file_overflow F
+GLIBC_2.17 _IO_file_read F
+GLIBC_2.17 _IO_file_seek F
+GLIBC_2.17 _IO_file_seekoff F
+GLIBC_2.17 _IO_file_setbuf F
+GLIBC_2.17 _IO_file_stat F
+GLIBC_2.17 _IO_file_sync F
+GLIBC_2.17 _IO_file_underflow F
+GLIBC_2.17 _IO_file_write F
+GLIBC_2.17 _IO_file_xsputn F
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_flush_all F
+GLIBC_2.17 _IO_flush_all_linebuffered F
+GLIBC_2.17 _IO_fopen F
+GLIBC_2.17 _IO_fprintf F
+GLIBC_2.17 _IO_fputs F
+GLIBC_2.17 _IO_fread F
+GLIBC_2.17 _IO_free_backup_area F
+GLIBC_2.17 _IO_free_wbackup_area F
+GLIBC_2.17 _IO_fsetpos F
+GLIBC_2.17 _IO_fsetpos64 F
+GLIBC_2.17 _IO_ftell F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 _IO_fwrite F
+GLIBC_2.17 _IO_getc F
+GLIBC_2.17 _IO_getline F
+GLIBC_2.17 _IO_getline_info F
+GLIBC_2.17 _IO_gets F
+GLIBC_2.17 _IO_init F
+GLIBC_2.17 _IO_init_marker F
+GLIBC_2.17 _IO_init_wmarker F
+GLIBC_2.17 _IO_iter_begin F
+GLIBC_2.17 _IO_iter_end F
+GLIBC_2.17 _IO_iter_file F
+GLIBC_2.17 _IO_iter_next F
+GLIBC_2.17 _IO_least_wmarker F
+GLIBC_2.17 _IO_link_in F
+GLIBC_2.17 _IO_list_all D 0x8
+GLIBC_2.17 _IO_list_lock F
+GLIBC_2.17 _IO_list_resetlock F
+GLIBC_2.17 _IO_list_unlock F
+GLIBC_2.17 _IO_marker_delta F
+GLIBC_2.17 _IO_marker_difference F
+GLIBC_2.17 _IO_padn F
+GLIBC_2.17 _IO_peekc_locked F
+GLIBC_2.17 _IO_popen F
+GLIBC_2.17 _IO_printf F
+GLIBC_2.17 _IO_proc_close F
+GLIBC_2.17 _IO_proc_open F
+GLIBC_2.17 _IO_putc F
+GLIBC_2.17 _IO_puts F
+GLIBC_2.17 _IO_remove_marker F
+GLIBC_2.17 _IO_seekmark F
+GLIBC_2.17 _IO_seekoff F
+GLIBC_2.17 _IO_seekpos F
+GLIBC_2.17 _IO_seekwmark F
+GLIBC_2.17 _IO_setb F
+GLIBC_2.17 _IO_setbuffer F
+GLIBC_2.17 _IO_setvbuf F
+GLIBC_2.17 _IO_sgetn F
+GLIBC_2.17 _IO_sprintf F
+GLIBC_2.17 _IO_sputbackc F
+GLIBC_2.17 _IO_sputbackwc F
+GLIBC_2.17 _IO_sscanf F
+GLIBC_2.17 _IO_str_init_readonly F
+GLIBC_2.17 _IO_str_init_static F
+GLIBC_2.17 _IO_str_overflow F
+GLIBC_2.17 _IO_str_pbackfail F
+GLIBC_2.17 _IO_str_seekoff F
+GLIBC_2.17 _IO_str_underflow F
+GLIBC_2.17 _IO_sungetc F
+GLIBC_2.17 _IO_sungetwc F
+GLIBC_2.17 _IO_switch_to_get_mode F
+GLIBC_2.17 _IO_switch_to_main_wget_area F
+GLIBC_2.17 _IO_switch_to_wbackup_area F
+GLIBC_2.17 _IO_switch_to_wget_mode F
+GLIBC_2.17 _IO_un_link F
+GLIBC_2.17 _IO_ungetc F
+GLIBC_2.17 _IO_unsave_markers F
+GLIBC_2.17 _IO_unsave_wmarkers F
+GLIBC_2.17 _IO_vfprintf F
+GLIBC_2.17 _IO_vfscanf F
+GLIBC_2.17 _IO_vsprintf F
+GLIBC_2.17 _IO_wdefault_doallocate F
+GLIBC_2.17 _IO_wdefault_finish F
+GLIBC_2.17 _IO_wdefault_pbackfail F
+GLIBC_2.17 _IO_wdefault_uflow F
+GLIBC_2.17 _IO_wdefault_xsgetn F
+GLIBC_2.17 _IO_wdefault_xsputn F
+GLIBC_2.17 _IO_wdo_write F
+GLIBC_2.17 _IO_wdoallocbuf F
+GLIBC_2.17 _IO_wfile_jumps D 0xa8
+GLIBC_2.17 _IO_wfile_overflow F
+GLIBC_2.17 _IO_wfile_seekoff F
+GLIBC_2.17 _IO_wfile_sync F
+GLIBC_2.17 _IO_wfile_underflow F
+GLIBC_2.17 _IO_wfile_xsputn F
+GLIBC_2.17 _IO_wmarker_delta F
+GLIBC_2.17 _IO_wsetb F
+GLIBC_2.17 __adjtimex F
+GLIBC_2.17 __after_morecore_hook D 0x8
+GLIBC_2.17 __argz_count F
+GLIBC_2.17 __argz_next F
+GLIBC_2.17 __argz_stringify F
+GLIBC_2.17 __asprintf F
+GLIBC_2.17 __asprintf_chk F
+GLIBC_2.17 __assert F
+GLIBC_2.17 __assert_fail F
+GLIBC_2.17 __assert_perror_fail F
+GLIBC_2.17 __backtrace F
+GLIBC_2.17 __backtrace_symbols F
+GLIBC_2.17 __backtrace_symbols_fd F
+GLIBC_2.17 __bsd_getpgrp F
+GLIBC_2.17 __bzero F
+GLIBC_2.17 __check_rhosts_file D 0x4
+GLIBC_2.17 __chk_fail F
+GLIBC_2.17 __clone F
+GLIBC_2.17 __close F
+GLIBC_2.17 __cmsg_nxthdr F
+GLIBC_2.17 __confstr_chk F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __ctype_b_loc F
+GLIBC_2.17 __ctype_get_mb_cur_max F
+GLIBC_2.17 __ctype_tolower_loc F
+GLIBC_2.17 __ctype_toupper_loc F
+GLIBC_2.17 __curbrk D 0x8
+GLIBC_2.17 __cxa_at_quick_exit F
+GLIBC_2.17 __cxa_atexit F
+GLIBC_2.17 __cxa_finalize F
+GLIBC_2.17 __cyg_profile_func_enter F
+GLIBC_2.17 __cyg_profile_func_exit F
+GLIBC_2.17 __daylight D 0x4
+GLIBC_2.17 __dcgettext F
+GLIBC_2.17 __default_morecore F
+GLIBC_2.17 __dgettext F
+GLIBC_2.17 __dprintf_chk F
+GLIBC_2.17 __dup2 F
+GLIBC_2.17 __duplocale F
+GLIBC_2.17 __endmntent F
+GLIBC_2.17 __environ D 0x8
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fbufsize F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fdelt_chk F
+GLIBC_2.17 __fdelt_warn F
+GLIBC_2.17 __ffs F
+GLIBC_2.17 __fgets_chk F
+GLIBC_2.17 __fgets_unlocked_chk F
+GLIBC_2.17 __fgetws_chk F
+GLIBC_2.17 __fgetws_unlocked_chk F
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __flbf F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __fpending F
+GLIBC_2.17 __fprintf_chk F
+GLIBC_2.17 __fpu_control D 0x4
+GLIBC_2.17 __fpurge F
+GLIBC_2.17 __fread_chk F
+GLIBC_2.17 __fread_unlocked_chk F
+GLIBC_2.17 __freadable F
+GLIBC_2.17 __freading F
+GLIBC_2.17 __free_hook D 0x8
+GLIBC_2.17 __freelocale F
+GLIBC_2.17 __fsetlocking F
+GLIBC_2.17 __fwprintf_chk F
+GLIBC_2.17 __fwritable F
+GLIBC_2.17 __fwriting F
+GLIBC_2.17 __fxstat F
+GLIBC_2.17 __fxstat64 F
+GLIBC_2.17 __fxstatat F
+GLIBC_2.17 __fxstatat64 F
+GLIBC_2.17 __getauxval F
+GLIBC_2.17 __getcwd_chk F
+GLIBC_2.17 __getdelim F
+GLIBC_2.17 __getdomainname_chk F
+GLIBC_2.17 __getgroups_chk F
+GLIBC_2.17 __gethostname_chk F
+GLIBC_2.17 __getlogin_r_chk F
+GLIBC_2.17 __getmntent_r F
+GLIBC_2.17 __getpagesize F
+GLIBC_2.17 __getpgid F
+GLIBC_2.17 __getpid F
+GLIBC_2.17 __gets_chk F
+GLIBC_2.17 __gettimeofday F
+GLIBC_2.17 __getwd_chk F
+GLIBC_2.17 __gmtime_r F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __isalnum_l F
+GLIBC_2.17 __isalpha_l F
+GLIBC_2.17 __isascii_l F
+GLIBC_2.17 __isblank_l F
+GLIBC_2.17 __iscntrl_l F
+GLIBC_2.17 __isctype F
+GLIBC_2.17 __isdigit_l F
+GLIBC_2.17 __isgraph_l F
+GLIBC_2.17 __isinf F
+GLIBC_2.17 __isinff F
+GLIBC_2.17 __isinfl F
+GLIBC_2.17 __islower_l F
+GLIBC_2.17 __isnan F
+GLIBC_2.17 __isnanf F
+GLIBC_2.17 __isnanl F
+GLIBC_2.17 __isoc99_fscanf F
+GLIBC_2.17 __isoc99_fwscanf F
+GLIBC_2.17 __isoc99_scanf F
+GLIBC_2.17 __isoc99_sscanf F
+GLIBC_2.17 __isoc99_swscanf F
+GLIBC_2.17 __isoc99_vfscanf F
+GLIBC_2.17 __isoc99_vfwscanf F
+GLIBC_2.17 __isoc99_vscanf F
+GLIBC_2.17 __isoc99_vsscanf F
+GLIBC_2.17 __isoc99_vswscanf F
+GLIBC_2.17 __isoc99_vwscanf F
+GLIBC_2.17 __isoc99_wscanf F
+GLIBC_2.17 __isprint_l F
+GLIBC_2.17 __ispunct_l F
+GLIBC_2.17 __isspace_l F
+GLIBC_2.17 __isupper_l F
+GLIBC_2.17 __iswalnum_l F
+GLIBC_2.17 __iswalpha_l F
+GLIBC_2.17 __iswblank_l F
+GLIBC_2.17 __iswcntrl_l F
+GLIBC_2.17 __iswctype F
+GLIBC_2.17 __iswctype_l F
+GLIBC_2.17 __iswdigit_l F
+GLIBC_2.17 __iswgraph_l F
+GLIBC_2.17 __iswlower_l F
+GLIBC_2.17 __iswprint_l F
+GLIBC_2.17 __iswpunct_l F
+GLIBC_2.17 __iswspace_l F
+GLIBC_2.17 __iswupper_l F
+GLIBC_2.17 __iswxdigit_l F
+GLIBC_2.17 __isxdigit_l F
+GLIBC_2.17 __ivaliduser F
+GLIBC_2.17 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_gendes_LOCAL D 0x8
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_calloc F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __libc_free F
+GLIBC_2.17 __libc_freeres F
+GLIBC_2.17 __libc_init_first F
+GLIBC_2.17 __libc_mallinfo F
+GLIBC_2.17 __libc_malloc F
+GLIBC_2.17 __libc_mallopt F
+GLIBC_2.17 __libc_memalign F
+GLIBC_2.17 __libc_pvalloc F
+GLIBC_2.17 __libc_realloc F
+GLIBC_2.17 __libc_sa_len F
+GLIBC_2.17 __libc_start_main F
+GLIBC_2.17 __libc_valloc F
+GLIBC_2.17 __longjmp_chk F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __lxstat F
+GLIBC_2.17 __lxstat64 F
+GLIBC_2.17 __malloc_hook D 0x8
+GLIBC_2.17 __malloc_initialize_hook D 0x8
+GLIBC_2.17 __mbrlen F
+GLIBC_2.17 __mbrtowc F
+GLIBC_2.17 __mbsnrtowcs_chk F
+GLIBC_2.17 __mbsrtowcs_chk F
+GLIBC_2.17 __mbstowcs_chk F
+GLIBC_2.17 __memalign_hook D 0x8
+GLIBC_2.17 __memcpy_chk F
+GLIBC_2.17 __memmove_chk F
+GLIBC_2.17 __mempcpy F
+GLIBC_2.17 __mempcpy_chk F
+GLIBC_2.17 __mempcpy_small F
+GLIBC_2.17 __memset_chk F
+GLIBC_2.17 __monstartup F
+GLIBC_2.17 __morecore D 0x8
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __newlocale F
+GLIBC_2.17 __nl_langinfo_l F
+GLIBC_2.17 __nldbl__IO_fprintf F
+GLIBC_2.17 __nldbl__IO_printf F
+GLIBC_2.17 __nldbl__IO_sprintf F
+GLIBC_2.17 __nldbl__IO_sscanf F
+GLIBC_2.17 __nldbl__IO_vfprintf F
+GLIBC_2.17 __nldbl__IO_vfscanf F
+GLIBC_2.17 __nldbl__IO_vsprintf F
+GLIBC_2.17 __nldbl___asprintf F
+GLIBC_2.17 __nldbl___asprintf_chk F
+GLIBC_2.17 __nldbl___dprintf_chk F
+GLIBC_2.17 __nldbl___fprintf_chk F
+GLIBC_2.17 __nldbl___fwprintf_chk F
+GLIBC_2.17 __nldbl___isoc99_fscanf F
+GLIBC_2.17 __nldbl___isoc99_fwscanf F
+GLIBC_2.17 __nldbl___isoc99_scanf F
+GLIBC_2.17 __nldbl___isoc99_sscanf F
+GLIBC_2.17 __nldbl___isoc99_swscanf F
+GLIBC_2.17 __nldbl___isoc99_vfscanf F
+GLIBC_2.17 __nldbl___isoc99_vfwscanf F
+GLIBC_2.17 __nldbl___isoc99_vscanf F
+GLIBC_2.17 __nldbl___isoc99_vsscanf F
+GLIBC_2.17 __nldbl___isoc99_vswscanf F
+GLIBC_2.17 __nldbl___isoc99_vwscanf F
+GLIBC_2.17 __nldbl___isoc99_wscanf F
+GLIBC_2.17 __nldbl___obstack_printf_chk F
+GLIBC_2.17 __nldbl___obstack_vprintf_chk F
+GLIBC_2.17 __nldbl___printf_chk F
+GLIBC_2.17 __nldbl___printf_fp F
+GLIBC_2.17 __nldbl___snprintf_chk F
+GLIBC_2.17 __nldbl___sprintf_chk F
+GLIBC_2.17 __nldbl___strfmon_l F
+GLIBC_2.17 __nldbl___swprintf_chk F
+GLIBC_2.17 __nldbl___syslog_chk F
+GLIBC_2.17 __nldbl___vasprintf_chk F
+GLIBC_2.17 __nldbl___vdprintf_chk F
+GLIBC_2.17 __nldbl___vfprintf_chk F
+GLIBC_2.17 __nldbl___vfscanf F
+GLIBC_2.17 __nldbl___vfwprintf_chk F
+GLIBC_2.17 __nldbl___vprintf_chk F
+GLIBC_2.17 __nldbl___vsnprintf F
+GLIBC_2.17 __nldbl___vsnprintf_chk F
+GLIBC_2.17 __nldbl___vsprintf_chk F
+GLIBC_2.17 __nldbl___vsscanf F
+GLIBC_2.17 __nldbl___vstrfmon F
+GLIBC_2.17 __nldbl___vstrfmon_l F
+GLIBC_2.17 __nldbl___vswprintf_chk F
+GLIBC_2.17 __nldbl___vsyslog_chk F
+GLIBC_2.17 __nldbl___vwprintf_chk F
+GLIBC_2.17 __nldbl___wprintf_chk F
+GLIBC_2.17 __nldbl_asprintf F
+GLIBC_2.17 __nldbl_dprintf F
+GLIBC_2.17 __nldbl_fprintf F
+GLIBC_2.17 __nldbl_fscanf F
+GLIBC_2.17 __nldbl_fwprintf F
+GLIBC_2.17 __nldbl_fwscanf F
+GLIBC_2.17 __nldbl_obstack_printf F
+GLIBC_2.17 __nldbl_obstack_vprintf F
+GLIBC_2.17 __nldbl_printf F
+GLIBC_2.17 __nldbl_printf_size F
+GLIBC_2.17 __nldbl_scanf F
+GLIBC_2.17 __nldbl_snprintf F
+GLIBC_2.17 __nldbl_sprintf F
+GLIBC_2.17 __nldbl_sscanf F
+GLIBC_2.17 __nldbl_strfmon F
+GLIBC_2.17 __nldbl_strfmon_l F
+GLIBC_2.17 __nldbl_swprintf F
+GLIBC_2.17 __nldbl_swscanf F
+GLIBC_2.17 __nldbl_syslog F
+GLIBC_2.17 __nldbl_vasprintf F
+GLIBC_2.17 __nldbl_vdprintf F
+GLIBC_2.17 __nldbl_vfprintf F
+GLIBC_2.17 __nldbl_vfscanf F
+GLIBC_2.17 __nldbl_vfwprintf F
+GLIBC_2.17 __nldbl_vfwscanf F
+GLIBC_2.17 __nldbl_vprintf F
+GLIBC_2.17 __nldbl_vscanf F
+GLIBC_2.17 __nldbl_vsnprintf F
+GLIBC_2.17 __nldbl_vsprintf F
+GLIBC_2.17 __nldbl_vsscanf F
+GLIBC_2.17 __nldbl_vswprintf F
+GLIBC_2.17 __nldbl_vswscanf F
+GLIBC_2.17 __nldbl_vsyslog F
+GLIBC_2.17 __nldbl_vwprintf F
+GLIBC_2.17 __nldbl_vwscanf F
+GLIBC_2.17 __nldbl_wprintf F
+GLIBC_2.17 __nldbl_wscanf F
+GLIBC_2.17 __nss_configure_lookup F
+GLIBC_2.17 __nss_database_lookup F
+GLIBC_2.17 __nss_group_lookup F
+GLIBC_2.17 __nss_hostname_digits_dots F
+GLIBC_2.17 __nss_hosts_lookup F
+GLIBC_2.17 __nss_next F
+GLIBC_2.17 __nss_passwd_lookup F
+GLIBC_2.17 __obstack_printf_chk F
+GLIBC_2.17 __obstack_vprintf_chk F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __open64_2 F
+GLIBC_2.17 __open_2 F
+GLIBC_2.17 __openat64_2 F
+GLIBC_2.17 __openat_2 F
+GLIBC_2.17 __overflow F
+GLIBC_2.17 __pipe F
+GLIBC_2.17 __poll F
+GLIBC_2.17 __poll_chk F
+GLIBC_2.17 __posix_getopt F
+GLIBC_2.17 __ppc_get_timebase_freq F
+GLIBC_2.17 __ppoll_chk F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pread64_chk F
+GLIBC_2.17 __pread_chk F
+GLIBC_2.17 __printf_chk F
+GLIBC_2.17 __printf_fp F
+GLIBC_2.17 __profile_frequency F
+GLIBC_2.17 __progname D 0x8
+GLIBC_2.17 __progname_full D 0x8
+GLIBC_2.17 __ptsname_r_chk F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __rawmemchr F
+GLIBC_2.17 __rcmd_errstr D 0x8
+GLIBC_2.17 __read F
+GLIBC_2.17 __read_chk F
+GLIBC_2.17 __readlink_chk F
+GLIBC_2.17 __readlinkat_chk F
+GLIBC_2.17 __realloc_hook D 0x8
+GLIBC_2.17 __realpath_chk F
+GLIBC_2.17 __recv_chk F
+GLIBC_2.17 __recvfrom_chk F
+GLIBC_2.17 __register_atfork F
+GLIBC_2.17 __res_init F
+GLIBC_2.17 __res_nclose F
+GLIBC_2.17 __res_ninit F
+GLIBC_2.17 __res_randomid F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __rpc_thread_createerr F
+GLIBC_2.17 __rpc_thread_svc_fdset F
+GLIBC_2.17 __rpc_thread_svc_max_pollfd F
+GLIBC_2.17 __rpc_thread_svc_pollfd F
+GLIBC_2.17 __sbrk F
+GLIBC_2.17 __sched_cpualloc F
+GLIBC_2.17 __sched_cpucount F
+GLIBC_2.17 __sched_cpufree F
+GLIBC_2.17 __sched_get_priority_max F
+GLIBC_2.17 __sched_get_priority_min F
+GLIBC_2.17 __sched_getparam F
+GLIBC_2.17 __sched_getscheduler F
+GLIBC_2.17 __sched_setscheduler F
+GLIBC_2.17 __sched_yield F
+GLIBC_2.17 __select F
+GLIBC_2.17 __send F
+GLIBC_2.17 __setmntent F
+GLIBC_2.17 __setpgid F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __sigaddset F
+GLIBC_2.17 __sigdelset F
+GLIBC_2.17 __sigismember F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sigpause F
+GLIBC_2.17 __sigsetjmp F
+GLIBC_2.17 __sigsuspend F
+GLIBC_2.17 __snprintf_chk F
+GLIBC_2.17 __sprintf_chk F
+GLIBC_2.17 __stack_chk_fail F
+GLIBC_2.17 __statfs F
+GLIBC_2.17 __stpcpy F
+GLIBC_2.17 __stpcpy_chk F
+GLIBC_2.17 __stpcpy_small F
+GLIBC_2.17 __stpncpy F
+GLIBC_2.17 __stpncpy_chk F
+GLIBC_2.17 __strcasecmp F
+GLIBC_2.17 __strcasecmp_l F
+GLIBC_2.17 __strcasestr F
+GLIBC_2.17 __strcat_chk F
+GLIBC_2.17 __strcoll_l F
+GLIBC_2.17 __strcpy_chk F
+GLIBC_2.17 __strcpy_small F
+GLIBC_2.17 __strcspn_c1 F
+GLIBC_2.17 __strcspn_c2 F
+GLIBC_2.17 __strcspn_c3 F
+GLIBC_2.17 __strdup F
+GLIBC_2.17 __strerror_r F
+GLIBC_2.17 __strfmon_l F
+GLIBC_2.17 __strftime_l F
+GLIBC_2.17 __strncasecmp_l F
+GLIBC_2.17 __strncat_chk F
+GLIBC_2.17 __strncpy_chk F
+GLIBC_2.17 __strndup F
+GLIBC_2.17 __strpbrk_c2 F
+GLIBC_2.17 __strpbrk_c3 F
+GLIBC_2.17 __strsep_1c F
+GLIBC_2.17 __strsep_2c F
+GLIBC_2.17 __strsep_3c F
+GLIBC_2.17 __strsep_g F
+GLIBC_2.17 __strspn_c1 F
+GLIBC_2.17 __strspn_c2 F
+GLIBC_2.17 __strspn_c3 F
+GLIBC_2.17 __strtod_internal F
+GLIBC_2.17 __strtod_l F
+GLIBC_2.17 __strtof_internal F
+GLIBC_2.17 __strtof_l F
+GLIBC_2.17 __strtok_r F
+GLIBC_2.17 __strtok_r_1c F
+GLIBC_2.17 __strtol_internal F
+GLIBC_2.17 __strtol_l F
+GLIBC_2.17 __strtold_internal F
+GLIBC_2.17 __strtold_l F
+GLIBC_2.17 __strtoll_internal F
+GLIBC_2.17 __strtoll_l F
+GLIBC_2.17 __strtoul_internal F
+GLIBC_2.17 __strtoul_l F
+GLIBC_2.17 __strtoull_internal F
+GLIBC_2.17 __strtoull_l F
+GLIBC_2.17 __strverscmp F
+GLIBC_2.17 __strxfrm_l F
+GLIBC_2.17 __swprintf_chk F
+GLIBC_2.17 __sysconf F
+GLIBC_2.17 __sysctl F
+GLIBC_2.17 __syslog_chk F
+GLIBC_2.17 __sysv_signal F
+GLIBC_2.17 __timezone D 0x8
+GLIBC_2.17 __toascii_l F
+GLIBC_2.17 __tolower_l F
+GLIBC_2.17 __toupper_l F
+GLIBC_2.17 __towctrans F
+GLIBC_2.17 __towctrans_l F
+GLIBC_2.17 __towlower_l F
+GLIBC_2.17 __towupper_l F
+GLIBC_2.17 __ttyname_r_chk F
+GLIBC_2.17 __tzname D 0x10
+GLIBC_2.17 __uflow F
+GLIBC_2.17 __underflow F
+GLIBC_2.17 __uselocale F
+GLIBC_2.17 __vasprintf_chk F
+GLIBC_2.17 __vdprintf_chk F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __vfprintf_chk F
+GLIBC_2.17 __vfscanf F
+GLIBC_2.17 __vfwprintf_chk F
+GLIBC_2.17 __vprintf_chk F
+GLIBC_2.17 __vsnprintf F
+GLIBC_2.17 __vsnprintf_chk F
+GLIBC_2.17 __vsprintf_chk F
+GLIBC_2.17 __vsscanf F
+GLIBC_2.17 __vswprintf_chk F
+GLIBC_2.17 __vsyslog_chk F
+GLIBC_2.17 __vwprintf_chk F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __waitpid F
+GLIBC_2.17 __wcpcpy_chk F
+GLIBC_2.17 __wcpncpy_chk F
+GLIBC_2.17 __wcrtomb_chk F
+GLIBC_2.17 __wcscasecmp_l F
+GLIBC_2.17 __wcscat_chk F
+GLIBC_2.17 __wcscoll_l F
+GLIBC_2.17 __wcscpy_chk F
+GLIBC_2.17 __wcsftime_l F
+GLIBC_2.17 __wcsncasecmp_l F
+GLIBC_2.17 __wcsncat_chk F
+GLIBC_2.17 __wcsncpy_chk F
+GLIBC_2.17 __wcsnrtombs_chk F
+GLIBC_2.17 __wcsrtombs_chk F
+GLIBC_2.17 __wcstod_internal F
+GLIBC_2.17 __wcstod_l F
+GLIBC_2.17 __wcstof_internal F
+GLIBC_2.17 __wcstof_l F
+GLIBC_2.17 __wcstol_internal F
+GLIBC_2.17 __wcstol_l F
+GLIBC_2.17 __wcstold_internal F
+GLIBC_2.17 __wcstold_l F
+GLIBC_2.17 __wcstoll_internal F
+GLIBC_2.17 __wcstoll_l F
+GLIBC_2.17 __wcstombs_chk F
+GLIBC_2.17 __wcstoul_internal F
+GLIBC_2.17 __wcstoul_l F
+GLIBC_2.17 __wcstoull_internal F
+GLIBC_2.17 __wcstoull_l F
+GLIBC_2.17 __wcsxfrm_l F
+GLIBC_2.17 __wctomb_chk F
+GLIBC_2.17 __wctrans_l F
+GLIBC_2.17 __wctype_l F
+GLIBC_2.17 __wmemcpy_chk F
+GLIBC_2.17 __wmemmove_chk F
+GLIBC_2.17 __wmempcpy_chk F
+GLIBC_2.17 __wmemset_chk F
+GLIBC_2.17 __woverflow F
+GLIBC_2.17 __wprintf_chk F
+GLIBC_2.17 __write F
+GLIBC_2.17 __wuflow F
+GLIBC_2.17 __wunderflow F
+GLIBC_2.17 __xmknod F
+GLIBC_2.17 __xmknodat F
+GLIBC_2.17 __xpg_basename F
+GLIBC_2.17 __xpg_sigpause F
+GLIBC_2.17 __xpg_strerror_r F
+GLIBC_2.17 __xstat F
+GLIBC_2.17 __xstat64 F
+GLIBC_2.17 _authenticate F
+GLIBC_2.17 _dl_mcount_wrapper F
+GLIBC_2.17 _dl_mcount_wrapper_check F
+GLIBC_2.17 _environ D 0x8
+GLIBC_2.17 _exit F
+GLIBC_2.17 _flushlbf F
+GLIBC_2.17 _libc_intl_domainname D 0x5
+GLIBC_2.17 _longjmp F
+GLIBC_2.17 _mcleanup F
+GLIBC_2.17 _mcount F
+GLIBC_2.17 _nl_default_dirname D 0x12
+GLIBC_2.17 _nl_domain_bindings D 0x8
+GLIBC_2.17 _nl_msg_cat_cntr D 0x4
+GLIBC_2.17 _null_auth D 0x18
+GLIBC_2.17 _obstack_allocated_p F
+GLIBC_2.17 _obstack_begin F
+GLIBC_2.17 _obstack_begin_1 F
+GLIBC_2.17 _obstack_free F
+GLIBC_2.17 _obstack_memory_used F
+GLIBC_2.17 _obstack_newchunk F
+GLIBC_2.17 _res D 0x238
+GLIBC_2.17 _res_hconf D 0x48
+GLIBC_2.17 _rpc_dtablesize F
+GLIBC_2.17 _seterr_reply F
+GLIBC_2.17 _setjmp F
+GLIBC_2.17 _sys_errlist D 0x438
+GLIBC_2.17 _sys_nerr D 0x4
+GLIBC_2.17 _sys_siglist D 0x208
+GLIBC_2.17 _tolower F
+GLIBC_2.17 _toupper F
+GLIBC_2.17 a64l F
+GLIBC_2.17 abort F
+GLIBC_2.17 abs F
+GLIBC_2.17 accept F
+GLIBC_2.17 accept4 F
+GLIBC_2.17 access F
+GLIBC_2.17 acct F
+GLIBC_2.17 addmntent F
+GLIBC_2.17 addseverity F
+GLIBC_2.17 adjtime F
+GLIBC_2.17 adjtimex F
+GLIBC_2.17 advance F
+GLIBC_2.17 alarm F
+GLIBC_2.17 aligned_alloc F
+GLIBC_2.17 alphasort F
+GLIBC_2.17 alphasort64 F
+GLIBC_2.17 argp_err_exit_status D 0x4
+GLIBC_2.17 argp_error F
+GLIBC_2.17 argp_failure F
+GLIBC_2.17 argp_help F
+GLIBC_2.17 argp_parse F
+GLIBC_2.17 argp_program_bug_address D 0x8
+GLIBC_2.17 argp_program_version D 0x8
+GLIBC_2.17 argp_program_version_hook D 0x8
+GLIBC_2.17 argp_state_help F
+GLIBC_2.17 argp_usage F
+GLIBC_2.17 argz_add F
+GLIBC_2.17 argz_add_sep F
+GLIBC_2.17 argz_append F
+GLIBC_2.17 argz_count F
+GLIBC_2.17 argz_create F
+GLIBC_2.17 argz_create_sep F
+GLIBC_2.17 argz_delete F
+GLIBC_2.17 argz_extract F
+GLIBC_2.17 argz_insert F
+GLIBC_2.17 argz_next F
+GLIBC_2.17 argz_replace F
+GLIBC_2.17 argz_stringify F
+GLIBC_2.17 asctime F
+GLIBC_2.17 asctime_r F
+GLIBC_2.17 asprintf F
+GLIBC_2.17 atof F
+GLIBC_2.17 atoi F
+GLIBC_2.17 atol F
+GLIBC_2.17 atoll F
+GLIBC_2.17 authdes_create F
+GLIBC_2.17 authdes_getucred F
+GLIBC_2.17 authdes_pk_create F
+GLIBC_2.17 authnone_create F
+GLIBC_2.17 authunix_create F
+GLIBC_2.17 authunix_create_default F
+GLIBC_2.17 backtrace F
+GLIBC_2.17 backtrace_symbols F
+GLIBC_2.17 backtrace_symbols_fd F
+GLIBC_2.17 basename F
+GLIBC_2.17 bcmp F
+GLIBC_2.17 bcopy F
+GLIBC_2.17 bdflush F
+GLIBC_2.17 bind F
+GLIBC_2.17 bind_textdomain_codeset F
+GLIBC_2.17 bindresvport F
+GLIBC_2.17 bindtextdomain F
+GLIBC_2.17 brk F
+GLIBC_2.17 bsd_signal F
+GLIBC_2.17 bsearch F
+GLIBC_2.17 btowc F
+GLIBC_2.17 bzero F
+GLIBC_2.17 c16rtomb F
+GLIBC_2.17 c32rtomb F
+GLIBC_2.17 calloc F
+GLIBC_2.17 callrpc F
+GLIBC_2.17 canonicalize_file_name F
+GLIBC_2.17 capget F
+GLIBC_2.17 capset F
+GLIBC_2.17 catclose F
+GLIBC_2.17 catgets F
+GLIBC_2.17 catopen F
+GLIBC_2.17 cbc_crypt F
+GLIBC_2.17 cfgetispeed F
+GLIBC_2.17 cfgetospeed F
+GLIBC_2.17 cfmakeraw F
+GLIBC_2.17 cfree F
+GLIBC_2.17 cfsetispeed F
+GLIBC_2.17 cfsetospeed F
+GLIBC_2.17 cfsetspeed F
+GLIBC_2.17 chdir F
+GLIBC_2.17 chflags F
+GLIBC_2.17 chmod F
+GLIBC_2.17 chown F
+GLIBC_2.17 chroot F
+GLIBC_2.17 clearenv F
+GLIBC_2.17 clearerr F
+GLIBC_2.17 clearerr_unlocked F
+GLIBC_2.17 clnt_broadcast F
+GLIBC_2.17 clnt_create F
+GLIBC_2.17 clnt_pcreateerror F
+GLIBC_2.17 clnt_perrno F
+GLIBC_2.17 clnt_perror F
+GLIBC_2.17 clnt_spcreateerror F
+GLIBC_2.17 clnt_sperrno F
+GLIBC_2.17 clnt_sperror F
+GLIBC_2.17 clntraw_create F
+GLIBC_2.17 clnttcp_create F
+GLIBC_2.17 clntudp_bufcreate F
+GLIBC_2.17 clntudp_create F
+GLIBC_2.17 clntunix_create F
+GLIBC_2.17 clock F
+GLIBC_2.17 clock_adjtime F
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 clone F
+GLIBC_2.17 close F
+GLIBC_2.17 closedir F
+GLIBC_2.17 closelog F
+GLIBC_2.17 confstr F
+GLIBC_2.17 connect F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 creat F
+GLIBC_2.17 creat64 F
+GLIBC_2.17 create_module F
+GLIBC_2.17 ctermid F
+GLIBC_2.17 ctime F
+GLIBC_2.17 ctime_r F
+GLIBC_2.17 cuserid F
+GLIBC_2.17 daemon F
+GLIBC_2.17 daylight D 0x4
+GLIBC_2.17 dcgettext F
+GLIBC_2.17 dcngettext F
+GLIBC_2.17 delete_module F
+GLIBC_2.17 des_setparity F
+GLIBC_2.17 dgettext F
+GLIBC_2.17 difftime F
+GLIBC_2.17 dirfd F
+GLIBC_2.17 dirname F
+GLIBC_2.17 div F
+GLIBC_2.17 dl_iterate_phdr F
+GLIBC_2.17 dngettext F
+GLIBC_2.17 dprintf F
+GLIBC_2.17 drand48 F
+GLIBC_2.17 drand48_r F
+GLIBC_2.17 dup F
+GLIBC_2.17 dup2 F
+GLIBC_2.17 dup3 F
+GLIBC_2.17 duplocale F
+GLIBC_2.17 dysize F
+GLIBC_2.17 eaccess F
+GLIBC_2.17 ecb_crypt F
+GLIBC_2.17 ecvt F
+GLIBC_2.17 ecvt_r F
+GLIBC_2.17 endaliasent F
+GLIBC_2.17 endfsent F
+GLIBC_2.17 endgrent F
+GLIBC_2.17 endhostent F
+GLIBC_2.17 endmntent F
+GLIBC_2.17 endnetent F
+GLIBC_2.17 endnetgrent F
+GLIBC_2.17 endprotoent F
+GLIBC_2.17 endpwent F
+GLIBC_2.17 endrpcent F
+GLIBC_2.17 endservent F
+GLIBC_2.17 endsgent F
+GLIBC_2.17 endspent F
+GLIBC_2.17 endttyent F
+GLIBC_2.17 endusershell F
+GLIBC_2.17 endutent F
+GLIBC_2.17 endutxent F
+GLIBC_2.17 environ D 0x8
+GLIBC_2.17 envz_add F
+GLIBC_2.17 envz_entry F
+GLIBC_2.17 envz_get F
+GLIBC_2.17 envz_merge F
+GLIBC_2.17 envz_remove F
+GLIBC_2.17 envz_strip F
+GLIBC_2.17 epoll_create F
+GLIBC_2.17 epoll_create1 F
+GLIBC_2.17 epoll_ctl F
+GLIBC_2.17 epoll_pwait F
+GLIBC_2.17 epoll_wait F
+GLIBC_2.17 erand48 F
+GLIBC_2.17 erand48_r F
+GLIBC_2.17 err F
+GLIBC_2.17 error F
+GLIBC_2.17 error_at_line F
+GLIBC_2.17 error_message_count D 0x4
+GLIBC_2.17 error_one_per_line D 0x4
+GLIBC_2.17 error_print_progname D 0x8
+GLIBC_2.17 errx F
+GLIBC_2.17 ether_aton F
+GLIBC_2.17 ether_aton_r F
+GLIBC_2.17 ether_hostton F
+GLIBC_2.17 ether_line F
+GLIBC_2.17 ether_ntoa F
+GLIBC_2.17 ether_ntoa_r F
+GLIBC_2.17 ether_ntohost F
+GLIBC_2.17 euidaccess F
+GLIBC_2.17 eventfd F
+GLIBC_2.17 eventfd_read F
+GLIBC_2.17 eventfd_write F
+GLIBC_2.17 execl F
+GLIBC_2.17 execle F
+GLIBC_2.17 execlp F
+GLIBC_2.17 execv F
+GLIBC_2.17 execve F
+GLIBC_2.17 execvp F
+GLIBC_2.17 execvpe F
+GLIBC_2.17 exit F
+GLIBC_2.17 faccessat F
+GLIBC_2.17 fallocate F
+GLIBC_2.17 fallocate64 F
+GLIBC_2.17 fanotify_init F
+GLIBC_2.17 fanotify_mark F
+GLIBC_2.17 fattach F
+GLIBC_2.17 fchdir F
+GLIBC_2.17 fchflags F
+GLIBC_2.17 fchmod F
+GLIBC_2.17 fchmodat F
+GLIBC_2.17 fchown F
+GLIBC_2.17 fchownat F
+GLIBC_2.17 fclose F
+GLIBC_2.17 fcloseall F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 fcvt F
+GLIBC_2.17 fcvt_r F
+GLIBC_2.17 fdatasync F
+GLIBC_2.17 fdetach F
+GLIBC_2.17 fdopen F
+GLIBC_2.17 fdopendir F
+GLIBC_2.17 feof F
+GLIBC_2.17 feof_unlocked F
+GLIBC_2.17 ferror F
+GLIBC_2.17 ferror_unlocked F
+GLIBC_2.17 fexecve F
+GLIBC_2.17 fflush F
+GLIBC_2.17 fflush_unlocked F
+GLIBC_2.17 ffs F
+GLIBC_2.17 ffsl F
+GLIBC_2.17 ffsll F
+GLIBC_2.17 fgetc F
+GLIBC_2.17 fgetc_unlocked F
+GLIBC_2.17 fgetgrent F
+GLIBC_2.17 fgetgrent_r F
+GLIBC_2.17 fgetpos F
+GLIBC_2.17 fgetpos64 F
+GLIBC_2.17 fgetpwent F
+GLIBC_2.17 fgetpwent_r F
+GLIBC_2.17 fgets F
+GLIBC_2.17 fgets_unlocked F
+GLIBC_2.17 fgetsgent F
+GLIBC_2.17 fgetsgent_r F
+GLIBC_2.17 fgetspent F
+GLIBC_2.17 fgetspent_r F
+GLIBC_2.17 fgetwc F
+GLIBC_2.17 fgetwc_unlocked F
+GLIBC_2.17 fgetws F
+GLIBC_2.17 fgetws_unlocked F
+GLIBC_2.17 fgetxattr F
+GLIBC_2.17 fileno F
+GLIBC_2.17 fileno_unlocked F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 flistxattr F
+GLIBC_2.17 flock F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fmemopen F
+GLIBC_2.17 fmtmsg F
+GLIBC_2.17 fnmatch F
+GLIBC_2.17 fopen F
+GLIBC_2.17 fopen64 F
+GLIBC_2.17 fopencookie F
+GLIBC_2.17 fork F
+GLIBC_2.17 fpathconf F
+GLIBC_2.17 fprintf F
+GLIBC_2.17 fputc F
+GLIBC_2.17 fputc_unlocked F
+GLIBC_2.17 fputs F
+GLIBC_2.17 fputs_unlocked F
+GLIBC_2.17 fputwc F
+GLIBC_2.17 fputwc_unlocked F
+GLIBC_2.17 fputws F
+GLIBC_2.17 fputws_unlocked F
+GLIBC_2.17 fread F
+GLIBC_2.17 fread_unlocked F
+GLIBC_2.17 free F
+GLIBC_2.17 freeaddrinfo F
+GLIBC_2.17 freeifaddrs F
+GLIBC_2.17 freelocale F
+GLIBC_2.17 fremovexattr F
+GLIBC_2.17 freopen F
+GLIBC_2.17 freopen64 F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 fscanf F
+GLIBC_2.17 fseek F
+GLIBC_2.17 fseeko F
+GLIBC_2.17 fseeko64 F
+GLIBC_2.17 fsetpos F
+GLIBC_2.17 fsetpos64 F
+GLIBC_2.17 fsetxattr F
+GLIBC_2.17 fstatfs F
+GLIBC_2.17 fstatfs64 F
+GLIBC_2.17 fstatvfs F
+GLIBC_2.17 fstatvfs64 F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftell F
+GLIBC_2.17 ftello F
+GLIBC_2.17 ftello64 F
+GLIBC_2.17 ftime F
+GLIBC_2.17 ftok F
+GLIBC_2.17 ftruncate F
+GLIBC_2.17 ftruncate64 F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 fts_children F
+GLIBC_2.17 fts_close F
+GLIBC_2.17 fts_open F
+GLIBC_2.17 fts_read F
+GLIBC_2.17 fts_set F
+GLIBC_2.17 ftw F
+GLIBC_2.17 ftw64 F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 futimens F
+GLIBC_2.17 futimes F
+GLIBC_2.17 futimesat F
+GLIBC_2.17 fwide F
+GLIBC_2.17 fwprintf F
+GLIBC_2.17 fwrite F
+GLIBC_2.17 fwrite_unlocked F
+GLIBC_2.17 fwscanf F
+GLIBC_2.17 gai_strerror F
+GLIBC_2.17 gcvt F
+GLIBC_2.17 get_avphys_pages F
+GLIBC_2.17 get_current_dir_name F
+GLIBC_2.17 get_kernel_syms F
+GLIBC_2.17 get_myaddress F
+GLIBC_2.17 get_nprocs F
+GLIBC_2.17 get_nprocs_conf F
+GLIBC_2.17 get_phys_pages F
+GLIBC_2.17 getaddrinfo F
+GLIBC_2.17 getaliasbyname F
+GLIBC_2.17 getaliasbyname_r F
+GLIBC_2.17 getaliasent F
+GLIBC_2.17 getaliasent_r F
+GLIBC_2.17 getauxval F
+GLIBC_2.17 getc F
+GLIBC_2.17 getc_unlocked F
+GLIBC_2.17 getchar F
+GLIBC_2.17 getchar_unlocked F
+GLIBC_2.17 getcontext F
+GLIBC_2.17 getcwd F
+GLIBC_2.17 getdate F
+GLIBC_2.17 getdate_err D 0x4
+GLIBC_2.17 getdate_r F
+GLIBC_2.17 getdelim F
+GLIBC_2.17 getdirentries F
+GLIBC_2.17 getdirentries64 F
+GLIBC_2.17 getdomainname F
+GLIBC_2.17 getdtablesize F
+GLIBC_2.17 getegid F
+GLIBC_2.17 getenv F
+GLIBC_2.17 geteuid F
+GLIBC_2.17 getfsent F
+GLIBC_2.17 getfsfile F
+GLIBC_2.17 getfsspec F
+GLIBC_2.17 getgid F
+GLIBC_2.17 getgrent F
+GLIBC_2.17 getgrent_r F
+GLIBC_2.17 getgrgid F
+GLIBC_2.17 getgrgid_r F
+GLIBC_2.17 getgrnam F
+GLIBC_2.17 getgrnam_r F
+GLIBC_2.17 getgrouplist F
+GLIBC_2.17 getgroups F
+GLIBC_2.17 gethostbyaddr F
+GLIBC_2.17 gethostbyaddr_r F
+GLIBC_2.17 gethostbyname F
+GLIBC_2.17 gethostbyname2 F
+GLIBC_2.17 gethostbyname2_r F
+GLIBC_2.17 gethostbyname_r F
+GLIBC_2.17 gethostent F
+GLIBC_2.17 gethostent_r F
+GLIBC_2.17 gethostid F
+GLIBC_2.17 gethostname F
+GLIBC_2.17 getifaddrs F
+GLIBC_2.17 getipv4sourcefilter F
+GLIBC_2.17 getitimer F
+GLIBC_2.17 getline F
+GLIBC_2.17 getloadavg F
+GLIBC_2.17 getlogin F
+GLIBC_2.17 getlogin_r F
+GLIBC_2.17 getmntent F
+GLIBC_2.17 getmntent_r F
+GLIBC_2.17 getmsg F
+GLIBC_2.17 getnameinfo F
+GLIBC_2.17 getnetbyaddr F
+GLIBC_2.17 getnetbyaddr_r F
+GLIBC_2.17 getnetbyname F
+GLIBC_2.17 getnetbyname_r F
+GLIBC_2.17 getnetent F
+GLIBC_2.17 getnetent_r F
+GLIBC_2.17 getnetgrent F
+GLIBC_2.17 getnetgrent_r F
+GLIBC_2.17 getnetname F
+GLIBC_2.17 getopt F
+GLIBC_2.17 getopt_long F
+GLIBC_2.17 getopt_long_only F
+GLIBC_2.17 getpagesize F
+GLIBC_2.17 getpass F
+GLIBC_2.17 getpeername F
+GLIBC_2.17 getpgid F
+GLIBC_2.17 getpgrp F
+GLIBC_2.17 getpid F
+GLIBC_2.17 getpmsg F
+GLIBC_2.17 getppid F
+GLIBC_2.17 getpriority F
+GLIBC_2.17 getprotobyname F
+GLIBC_2.17 getprotobyname_r F
+GLIBC_2.17 getprotobynumber F
+GLIBC_2.17 getprotobynumber_r F
+GLIBC_2.17 getprotoent F
+GLIBC_2.17 getprotoent_r F
+GLIBC_2.17 getpt F
+GLIBC_2.17 getpublickey F
+GLIBC_2.17 getpw F
+GLIBC_2.17 getpwent F
+GLIBC_2.17 getpwent_r F
+GLIBC_2.17 getpwnam F
+GLIBC_2.17 getpwnam_r F
+GLIBC_2.17 getpwuid F
+GLIBC_2.17 getpwuid_r F
+GLIBC_2.17 getresgid F
+GLIBC_2.17 getresuid F
+GLIBC_2.17 getrlimit F
+GLIBC_2.17 getrlimit64 F
+GLIBC_2.17 getrpcbyname F
+GLIBC_2.17 getrpcbyname_r F
+GLIBC_2.17 getrpcbynumber F
+GLIBC_2.17 getrpcbynumber_r F
+GLIBC_2.17 getrpcent F
+GLIBC_2.17 getrpcent_r F
+GLIBC_2.17 getrpcport F
+GLIBC_2.17 getrusage F
+GLIBC_2.17 gets F
+GLIBC_2.17 getsecretkey F
+GLIBC_2.17 getservbyname F
+GLIBC_2.17 getservbyname_r F
+GLIBC_2.17 getservbyport F
+GLIBC_2.17 getservbyport_r F
+GLIBC_2.17 getservent F
+GLIBC_2.17 getservent_r F
+GLIBC_2.17 getsgent F
+GLIBC_2.17 getsgent_r F
+GLIBC_2.17 getsgnam F
+GLIBC_2.17 getsgnam_r F
+GLIBC_2.17 getsid F
+GLIBC_2.17 getsockname F
+GLIBC_2.17 getsockopt F
+GLIBC_2.17 getsourcefilter F
+GLIBC_2.17 getspent F
+GLIBC_2.17 getspent_r F
+GLIBC_2.17 getspnam F
+GLIBC_2.17 getspnam_r F
+GLIBC_2.17 getsubopt F
+GLIBC_2.17 gettext F
+GLIBC_2.17 gettimeofday F
+GLIBC_2.17 getttyent F
+GLIBC_2.17 getttynam F
+GLIBC_2.17 getuid F
+GLIBC_2.17 getusershell F
+GLIBC_2.17 getutent F
+GLIBC_2.17 getutent_r F
+GLIBC_2.17 getutid F
+GLIBC_2.17 getutid_r F
+GLIBC_2.17 getutline F
+GLIBC_2.17 getutline_r F
+GLIBC_2.17 getutmp F
+GLIBC_2.17 getutmpx F
+GLIBC_2.17 getutxent F
+GLIBC_2.17 getutxid F
+GLIBC_2.17 getutxline F
+GLIBC_2.17 getw F
+GLIBC_2.17 getwc F
+GLIBC_2.17 getwc_unlocked F
+GLIBC_2.17 getwchar F
+GLIBC_2.17 getwchar_unlocked F
+GLIBC_2.17 getwd F
+GLIBC_2.17 getxattr F
+GLIBC_2.17 glob F
+GLIBC_2.17 glob64 F
+GLIBC_2.17 glob_pattern_p F
+GLIBC_2.17 globfree F
+GLIBC_2.17 globfree64 F
+GLIBC_2.17 gmtime F
+GLIBC_2.17 gmtime_r F
+GLIBC_2.17 gnu_dev_major F
+GLIBC_2.17 gnu_dev_makedev F
+GLIBC_2.17 gnu_dev_minor F
+GLIBC_2.17 gnu_get_libc_release F
+GLIBC_2.17 gnu_get_libc_version F
+GLIBC_2.17 grantpt F
+GLIBC_2.17 group_member F
+GLIBC_2.17 gsignal F
+GLIBC_2.17 gtty F
+GLIBC_2.17 h_errlist D 0x28
+GLIBC_2.17 h_nerr D 0x4
+GLIBC_2.17 hasmntopt F
+GLIBC_2.17 hcreate F
+GLIBC_2.17 hcreate_r F
+GLIBC_2.17 hdestroy F
+GLIBC_2.17 hdestroy_r F
+GLIBC_2.17 herror F
+GLIBC_2.17 host2netname F
+GLIBC_2.17 hsearch F
+GLIBC_2.17 hsearch_r F
+GLIBC_2.17 hstrerror F
+GLIBC_2.17 htonl F
+GLIBC_2.17 htons F
+GLIBC_2.17 iconv F
+GLIBC_2.17 iconv_close F
+GLIBC_2.17 iconv_open F
+GLIBC_2.17 if_freenameindex F
+GLIBC_2.17 if_indextoname F
+GLIBC_2.17 if_nameindex F
+GLIBC_2.17 if_nametoindex F
+GLIBC_2.17 imaxabs F
+GLIBC_2.17 imaxdiv F
+GLIBC_2.17 in6addr_any D 0x10
+GLIBC_2.17 in6addr_loopback D 0x10
+GLIBC_2.17 index F
+GLIBC_2.17 inet6_opt_append F
+GLIBC_2.17 inet6_opt_find F
+GLIBC_2.17 inet6_opt_finish F
+GLIBC_2.17 inet6_opt_get_val F
+GLIBC_2.17 inet6_opt_init F
+GLIBC_2.17 inet6_opt_next F
+GLIBC_2.17 inet6_opt_set_val F
+GLIBC_2.17 inet6_option_alloc F
+GLIBC_2.17 inet6_option_append F
+GLIBC_2.17 inet6_option_find F
+GLIBC_2.17 inet6_option_init F
+GLIBC_2.17 inet6_option_next F
+GLIBC_2.17 inet6_option_space F
+GLIBC_2.17 inet6_rth_add F
+GLIBC_2.17 inet6_rth_getaddr F
+GLIBC_2.17 inet6_rth_init F
+GLIBC_2.17 inet6_rth_reverse F
+GLIBC_2.17 inet6_rth_segments F
+GLIBC_2.17 inet6_rth_space F
+GLIBC_2.17 inet_addr F
+GLIBC_2.17 inet_aton F
+GLIBC_2.17 inet_lnaof F
+GLIBC_2.17 inet_makeaddr F
+GLIBC_2.17 inet_netof F
+GLIBC_2.17 inet_network F
+GLIBC_2.17 inet_nsap_addr F
+GLIBC_2.17 inet_nsap_ntoa F
+GLIBC_2.17 inet_ntoa F
+GLIBC_2.17 inet_ntop F
+GLIBC_2.17 inet_pton F
+GLIBC_2.17 init_module F
+GLIBC_2.17 initgroups F
+GLIBC_2.17 initstate F
+GLIBC_2.17 initstate_r F
+GLIBC_2.17 innetgr F
+GLIBC_2.17 inotify_add_watch F
+GLIBC_2.17 inotify_init F
+GLIBC_2.17 inotify_init1 F
+GLIBC_2.17 inotify_rm_watch F
+GLIBC_2.17 insque F
+GLIBC_2.17 ioctl F
+GLIBC_2.17 iruserok F
+GLIBC_2.17 iruserok_af F
+GLIBC_2.17 isalnum F
+GLIBC_2.17 isalnum_l F
+GLIBC_2.17 isalpha F
+GLIBC_2.17 isalpha_l F
+GLIBC_2.17 isascii F
+GLIBC_2.17 isastream F
+GLIBC_2.17 isatty F
+GLIBC_2.17 isblank F
+GLIBC_2.17 isblank_l F
+GLIBC_2.17 iscntrl F
+GLIBC_2.17 iscntrl_l F
+GLIBC_2.17 isctype F
+GLIBC_2.17 isdigit F
+GLIBC_2.17 isdigit_l F
+GLIBC_2.17 isfdtype F
+GLIBC_2.17 isgraph F
+GLIBC_2.17 isgraph_l F
+GLIBC_2.17 isinf F
+GLIBC_2.17 isinff F
+GLIBC_2.17 isinfl F
+GLIBC_2.17 islower F
+GLIBC_2.17 islower_l F
+GLIBC_2.17 isnan F
+GLIBC_2.17 isnanf F
+GLIBC_2.17 isnanl F
+GLIBC_2.17 isprint F
+GLIBC_2.17 isprint_l F
+GLIBC_2.17 ispunct F
+GLIBC_2.17 ispunct_l F
+GLIBC_2.17 isspace F
+GLIBC_2.17 isspace_l F
+GLIBC_2.17 isupper F
+GLIBC_2.17 isupper_l F
+GLIBC_2.17 iswalnum F
+GLIBC_2.17 iswalnum_l F
+GLIBC_2.17 iswalpha F
+GLIBC_2.17 iswalpha_l F
+GLIBC_2.17 iswblank F
+GLIBC_2.17 iswblank_l F
+GLIBC_2.17 iswcntrl F
+GLIBC_2.17 iswcntrl_l F
+GLIBC_2.17 iswctype F
+GLIBC_2.17 iswctype_l F
+GLIBC_2.17 iswdigit F
+GLIBC_2.17 iswdigit_l F
+GLIBC_2.17 iswgraph F
+GLIBC_2.17 iswgraph_l F
+GLIBC_2.17 iswlower F
+GLIBC_2.17 iswlower_l F
+GLIBC_2.17 iswprint F
+GLIBC_2.17 iswprint_l F
+GLIBC_2.17 iswpunct F
+GLIBC_2.17 iswpunct_l F
+GLIBC_2.17 iswspace F
+GLIBC_2.17 iswspace_l F
+GLIBC_2.17 iswupper F
+GLIBC_2.17 iswupper_l F
+GLIBC_2.17 iswxdigit F
+GLIBC_2.17 iswxdigit_l F
+GLIBC_2.17 isxdigit F
+GLIBC_2.17 isxdigit_l F
+GLIBC_2.17 jrand48 F
+GLIBC_2.17 jrand48_r F
+GLIBC_2.17 key_decryptsession F
+GLIBC_2.17 key_decryptsession_pk F
+GLIBC_2.17 key_encryptsession F
+GLIBC_2.17 key_encryptsession_pk F
+GLIBC_2.17 key_gendes F
+GLIBC_2.17 key_get_conv F
+GLIBC_2.17 key_secretkey_is_set F
+GLIBC_2.17 key_setnet F
+GLIBC_2.17 key_setsecret F
+GLIBC_2.17 kill F
+GLIBC_2.17 killpg F
+GLIBC_2.17 klogctl F
+GLIBC_2.17 l64a F
+GLIBC_2.17 labs F
+GLIBC_2.17 lchmod F
+GLIBC_2.17 lchown F
+GLIBC_2.17 lckpwdf F
+GLIBC_2.17 lcong48 F
+GLIBC_2.17 lcong48_r F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 ldiv F
+GLIBC_2.17 lfind F
+GLIBC_2.17 lgetxattr F
+GLIBC_2.17 link F
+GLIBC_2.17 linkat F
+GLIBC_2.17 listen F
+GLIBC_2.17 listxattr F
+GLIBC_2.17 llabs F
+GLIBC_2.17 lldiv F
+GLIBC_2.17 llistxattr F
+GLIBC_2.17 llseek F
+GLIBC_2.17 loc1 D 0x8
+GLIBC_2.17 loc2 D 0x8
+GLIBC_2.17 localeconv F
+GLIBC_2.17 localtime F
+GLIBC_2.17 localtime_r F
+GLIBC_2.17 lockf F
+GLIBC_2.17 lockf64 F
+GLIBC_2.17 locs D 0x8
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lrand48 F
+GLIBC_2.17 lrand48_r F
+GLIBC_2.17 lremovexattr F
+GLIBC_2.17 lsearch F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 lsetxattr F
+GLIBC_2.17 lutimes F
+GLIBC_2.17 madvise F
+GLIBC_2.17 makecontext F
+GLIBC_2.17 mallinfo F
+GLIBC_2.17 malloc F
+GLIBC_2.17 malloc_get_state F
+GLIBC_2.17 malloc_info F
+GLIBC_2.17 malloc_set_state F
+GLIBC_2.17 malloc_stats F
+GLIBC_2.17 malloc_trim F
+GLIBC_2.17 malloc_usable_size F
+GLIBC_2.17 mallopt F
+GLIBC_2.17 mallwatch D 0x8
+GLIBC_2.17 mblen F
+GLIBC_2.17 mbrlen F
+GLIBC_2.17 mbrtoc16 F
+GLIBC_2.17 mbrtoc32 F
+GLIBC_2.17 mbrtowc F
+GLIBC_2.17 mbsinit F
+GLIBC_2.17 mbsnrtowcs F
+GLIBC_2.17 mbsrtowcs F
+GLIBC_2.17 mbstowcs F
+GLIBC_2.17 mbtowc F
+GLIBC_2.17 mcheck F
+GLIBC_2.17 mcheck_check_all F
+GLIBC_2.17 mcheck_pedantic F
+GLIBC_2.17 memalign F
+GLIBC_2.17 memccpy F
+GLIBC_2.17 memchr F
+GLIBC_2.17 memcmp F
+GLIBC_2.17 memcpy F
+GLIBC_2.17 memfrob F
+GLIBC_2.17 memmem F
+GLIBC_2.17 memmove F
+GLIBC_2.17 mempcpy F
+GLIBC_2.17 memrchr F
+GLIBC_2.17 memset F
+GLIBC_2.17 mincore F
+GLIBC_2.17 mkdir F
+GLIBC_2.17 mkdirat F
+GLIBC_2.17 mkdtemp F
+GLIBC_2.17 mkfifo F
+GLIBC_2.17 mkfifoat F
+GLIBC_2.17 mkostemp F
+GLIBC_2.17 mkostemp64 F
+GLIBC_2.17 mkostemps F
+GLIBC_2.17 mkostemps64 F
+GLIBC_2.17 mkstemp F
+GLIBC_2.17 mkstemp64 F
+GLIBC_2.17 mkstemps F
+GLIBC_2.17 mkstemps64 F
+GLIBC_2.17 mktemp F
+GLIBC_2.17 mktime F
+GLIBC_2.17 mlock F
+GLIBC_2.17 mlockall F
+GLIBC_2.17 mmap F
+GLIBC_2.17 mmap64 F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 moncontrol F
+GLIBC_2.17 monstartup F
+GLIBC_2.17 mount F
+GLIBC_2.17 mprobe F
+GLIBC_2.17 mprotect F
+GLIBC_2.17 mrand48 F
+GLIBC_2.17 mrand48_r F
+GLIBC_2.17 mremap F
+GLIBC_2.17 msgctl F
+GLIBC_2.17 msgget F
+GLIBC_2.17 msgrcv F
+GLIBC_2.17 msgsnd F
+GLIBC_2.17 msync F
+GLIBC_2.17 mtrace F
+GLIBC_2.17 munlock F
+GLIBC_2.17 munlockall F
+GLIBC_2.17 munmap F
+GLIBC_2.17 muntrace F
+GLIBC_2.17 name_to_handle_at F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 netname2host F
+GLIBC_2.17 netname2user F
+GLIBC_2.17 newlocale F
+GLIBC_2.17 nfsservctl F
+GLIBC_2.17 nftw F
+GLIBC_2.17 nftw64 F
+GLIBC_2.17 ngettext F
+GLIBC_2.17 nice F
+GLIBC_2.17 nl_langinfo F
+GLIBC_2.17 nl_langinfo_l F
+GLIBC_2.17 nrand48 F
+GLIBC_2.17 nrand48_r F
+GLIBC_2.17 ntohl F
+GLIBC_2.17 ntohs F
+GLIBC_2.17 ntp_adjtime F
+GLIBC_2.17 ntp_gettime F
+GLIBC_2.17 ntp_gettimex F
+GLIBC_2.17 obstack_alloc_failed_handler D 0x8
+GLIBC_2.17 obstack_exit_failure D 0x4
+GLIBC_2.17 obstack_free F
+GLIBC_2.17 obstack_printf F
+GLIBC_2.17 obstack_vprintf F
+GLIBC_2.17 on_exit F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 open_by_handle_at F
+GLIBC_2.17 open_memstream F
+GLIBC_2.17 open_wmemstream F
+GLIBC_2.17 openat F
+GLIBC_2.17 openat64 F
+GLIBC_2.17 opendir F
+GLIBC_2.17 openlog F
+GLIBC_2.17 optarg D 0x8
+GLIBC_2.17 opterr D 0x4
+GLIBC_2.17 optind D 0x4
+GLIBC_2.17 optopt D 0x4
+GLIBC_2.17 parse_printf_format F
+GLIBC_2.17 passwd2des F
+GLIBC_2.17 pathconf F
+GLIBC_2.17 pause F
+GLIBC_2.17 pclose F
+GLIBC_2.17 perror F
+GLIBC_2.17 personality F
+GLIBC_2.17 pipe F
+GLIBC_2.17 pipe2 F
+GLIBC_2.17 pivot_root F
+GLIBC_2.17 pmap_getmaps F
+GLIBC_2.17 pmap_getport F
+GLIBC_2.17 pmap_rmtcall F
+GLIBC_2.17 pmap_set F
+GLIBC_2.17 pmap_unset F
+GLIBC_2.17 poll F
+GLIBC_2.17 popen F
+GLIBC_2.17 posix_fadvise F
+GLIBC_2.17 posix_fadvise64 F
+GLIBC_2.17 posix_fallocate F
+GLIBC_2.17 posix_fallocate64 F
+GLIBC_2.17 posix_madvise F
+GLIBC_2.17 posix_memalign F
+GLIBC_2.17 posix_openpt F
+GLIBC_2.17 posix_spawn F
+GLIBC_2.17 posix_spawn_file_actions_addclose F
+GLIBC_2.17 posix_spawn_file_actions_adddup2 F
+GLIBC_2.17 posix_spawn_file_actions_addopen F
+GLIBC_2.17 posix_spawn_file_actions_destroy F
+GLIBC_2.17 posix_spawn_file_actions_init F
+GLIBC_2.17 posix_spawnattr_destroy F
+GLIBC_2.17 posix_spawnattr_getflags F
+GLIBC_2.17 posix_spawnattr_getpgroup F
+GLIBC_2.17 posix_spawnattr_getschedparam F
+GLIBC_2.17 posix_spawnattr_getschedpolicy F
+GLIBC_2.17 posix_spawnattr_getsigdefault F
+GLIBC_2.17 posix_spawnattr_getsigmask F
+GLIBC_2.17 posix_spawnattr_init F
+GLIBC_2.17 posix_spawnattr_setflags F
+GLIBC_2.17 posix_spawnattr_setpgroup F
+GLIBC_2.17 posix_spawnattr_setschedparam F
+GLIBC_2.17 posix_spawnattr_setschedpolicy F
+GLIBC_2.17 posix_spawnattr_setsigdefault F
+GLIBC_2.17 posix_spawnattr_setsigmask F
+GLIBC_2.17 posix_spawnp F
+GLIBC_2.17 ppoll F
+GLIBC_2.17 prctl F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 preadv F
+GLIBC_2.17 preadv64 F
+GLIBC_2.17 printf F
+GLIBC_2.17 printf_size F
+GLIBC_2.17 printf_size_info F
+GLIBC_2.17 prlimit F
+GLIBC_2.17 prlimit64 F
+GLIBC_2.17 process_vm_readv F
+GLIBC_2.17 process_vm_writev F
+GLIBC_2.17 profil F
+GLIBC_2.17 program_invocation_name D 0x8
+GLIBC_2.17 program_invocation_short_name D 0x8
+GLIBC_2.17 pselect F
+GLIBC_2.17 psiginfo F
+GLIBC_2.17 psignal F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 ptrace F
+GLIBC_2.17 ptsname F
+GLIBC_2.17 ptsname_r F
+GLIBC_2.17 putc F
+GLIBC_2.17 putc_unlocked F
+GLIBC_2.17 putchar F
+GLIBC_2.17 putchar_unlocked F
+GLIBC_2.17 putenv F
+GLIBC_2.17 putgrent F
+GLIBC_2.17 putmsg F
+GLIBC_2.17 putpmsg F
+GLIBC_2.17 putpwent F
+GLIBC_2.17 puts F
+GLIBC_2.17 putsgent F
+GLIBC_2.17 putspent F
+GLIBC_2.17 pututline F
+GLIBC_2.17 pututxline F
+GLIBC_2.17 putw F
+GLIBC_2.17 putwc F
+GLIBC_2.17 putwc_unlocked F
+GLIBC_2.17 putwchar F
+GLIBC_2.17 putwchar_unlocked F
+GLIBC_2.17 pvalloc F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 pwritev F
+GLIBC_2.17 pwritev64 F
+GLIBC_2.17 qecvt F
+GLIBC_2.17 qecvt_r F
+GLIBC_2.17 qfcvt F
+GLIBC_2.17 qfcvt_r F
+GLIBC_2.17 qgcvt F
+GLIBC_2.17 qsort F
+GLIBC_2.17 qsort_r F
+GLIBC_2.17 query_module F
+GLIBC_2.17 quick_exit F
+GLIBC_2.17 quotactl F
+GLIBC_2.17 raise F
+GLIBC_2.17 rand F
+GLIBC_2.17 rand_r F
+GLIBC_2.17 random F
+GLIBC_2.17 random_r F
+GLIBC_2.17 rawmemchr F
+GLIBC_2.17 rcmd F
+GLIBC_2.17 rcmd_af F
+GLIBC_2.17 re_comp F
+GLIBC_2.17 re_compile_fastmap F
+GLIBC_2.17 re_compile_pattern F
+GLIBC_2.17 re_exec F
+GLIBC_2.17 re_match F
+GLIBC_2.17 re_match_2 F
+GLIBC_2.17 re_search F
+GLIBC_2.17 re_search_2 F
+GLIBC_2.17 re_set_registers F
+GLIBC_2.17 re_set_syntax F
+GLIBC_2.17 re_syntax_options D 0x8
+GLIBC_2.17 read F
+GLIBC_2.17 readahead F
+GLIBC_2.17 readdir F
+GLIBC_2.17 readdir64 F
+GLIBC_2.17 readdir64_r F
+GLIBC_2.17 readdir_r F
+GLIBC_2.17 readlink F
+GLIBC_2.17 readlinkat F
+GLIBC_2.17 readv F
+GLIBC_2.17 realloc F
+GLIBC_2.17 realpath F
+GLIBC_2.17 reboot F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmmsg F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 regcomp F
+GLIBC_2.17 regerror F
+GLIBC_2.17 regexec F
+GLIBC_2.17 regfree F
+GLIBC_2.17 register_printf_function F
+GLIBC_2.17 register_printf_modifier F
+GLIBC_2.17 register_printf_specifier F
+GLIBC_2.17 register_printf_type F
+GLIBC_2.17 registerrpc F
+GLIBC_2.17 remap_file_pages F
+GLIBC_2.17 remove F
+GLIBC_2.17 removexattr F
+GLIBC_2.17 remque F
+GLIBC_2.17 rename F
+GLIBC_2.17 renameat F
+GLIBC_2.17 revoke F
+GLIBC_2.17 rewind F
+GLIBC_2.17 rewinddir F
+GLIBC_2.17 rexec F
+GLIBC_2.17 rexec_af F
+GLIBC_2.17 rexecoptions D 0x4
+GLIBC_2.17 rindex F
+GLIBC_2.17 rmdir F
+GLIBC_2.17 rpc_createerr D 0x20
+GLIBC_2.17 rpmatch F
+GLIBC_2.17 rresvport F
+GLIBC_2.17 rresvport_af F
+GLIBC_2.17 rtime F
+GLIBC_2.17 ruserok F
+GLIBC_2.17 ruserok_af F
+GLIBC_2.17 ruserpass F
+GLIBC_2.17 sbrk F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 scandir F
+GLIBC_2.17 scandir64 F
+GLIBC_2.17 scandirat F
+GLIBC_2.17 scandirat64 F
+GLIBC_2.17 scanf F
+GLIBC_2.17 sched_get_priority_max F
+GLIBC_2.17 sched_get_priority_min F
+GLIBC_2.17 sched_getaffinity F
+GLIBC_2.17 sched_getcpu F
+GLIBC_2.17 sched_getparam F
+GLIBC_2.17 sched_getscheduler F
+GLIBC_2.17 sched_rr_get_interval F
+GLIBC_2.17 sched_setaffinity F
+GLIBC_2.17 sched_setparam F
+GLIBC_2.17 sched_setscheduler F
+GLIBC_2.17 sched_yield F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.17 seed48 F
+GLIBC_2.17 seed48_r F
+GLIBC_2.17 seekdir F
+GLIBC_2.17 select F
+GLIBC_2.17 semctl F
+GLIBC_2.17 semget F
+GLIBC_2.17 semop F
+GLIBC_2.17 semtimedop F
+GLIBC_2.17 send F
+GLIBC_2.17 sendfile F
+GLIBC_2.17 sendfile64 F
+GLIBC_2.17 sendmmsg F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 setaliasent F
+GLIBC_2.17 setbuf F
+GLIBC_2.17 setbuffer F
+GLIBC_2.17 setcontext F
+GLIBC_2.17 setdomainname F
+GLIBC_2.17 setegid F
+GLIBC_2.17 setenv F
+GLIBC_2.17 seteuid F
+GLIBC_2.17 setfsent F
+GLIBC_2.17 setfsgid F
+GLIBC_2.17 setfsuid F
+GLIBC_2.17 setgid F
+GLIBC_2.17 setgrent F
+GLIBC_2.17 setgroups F
+GLIBC_2.17 sethostent F
+GLIBC_2.17 sethostid F
+GLIBC_2.17 sethostname F
+GLIBC_2.17 setipv4sourcefilter F
+GLIBC_2.17 setitimer F
+GLIBC_2.17 setjmp F
+GLIBC_2.17 setlinebuf F
+GLIBC_2.17 setlocale F
+GLIBC_2.17 setlogin F
+GLIBC_2.17 setlogmask F
+GLIBC_2.17 setmntent F
+GLIBC_2.17 setnetent F
+GLIBC_2.17 setnetgrent F
+GLIBC_2.17 setns F
+GLIBC_2.17 setpgid F
+GLIBC_2.17 setpgrp F
+GLIBC_2.17 setpriority F
+GLIBC_2.17 setprotoent F
+GLIBC_2.17 setpwent F
+GLIBC_2.17 setregid F
+GLIBC_2.17 setresgid F
+GLIBC_2.17 setresuid F
+GLIBC_2.17 setreuid F
+GLIBC_2.17 setrlimit F
+GLIBC_2.17 setrlimit64 F
+GLIBC_2.17 setrpcent F
+GLIBC_2.17 setservent F
+GLIBC_2.17 setsgent F
+GLIBC_2.17 setsid F
+GLIBC_2.17 setsockopt F
+GLIBC_2.17 setsourcefilter F
+GLIBC_2.17 setspent F
+GLIBC_2.17 setstate F
+GLIBC_2.17 setstate_r F
+GLIBC_2.17 settimeofday F
+GLIBC_2.17 setttyent F
+GLIBC_2.17 setuid F
+GLIBC_2.17 setusershell F
+GLIBC_2.17 setutent F
+GLIBC_2.17 setutxent F
+GLIBC_2.17 setvbuf F
+GLIBC_2.17 setxattr F
+GLIBC_2.17 sgetsgent F
+GLIBC_2.17 sgetsgent_r F
+GLIBC_2.17 sgetspent F
+GLIBC_2.17 sgetspent_r F
+GLIBC_2.17 shmat F
+GLIBC_2.17 shmctl F
+GLIBC_2.17 shmdt F
+GLIBC_2.17 shmget F
+GLIBC_2.17 shutdown F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 sigaddset F
+GLIBC_2.17 sigaltstack F
+GLIBC_2.17 sigandset F
+GLIBC_2.17 sigblock F
+GLIBC_2.17 sigdelset F
+GLIBC_2.17 sigemptyset F
+GLIBC_2.17 sigfillset F
+GLIBC_2.17 siggetmask F
+GLIBC_2.17 sighold F
+GLIBC_2.17 sigignore F
+GLIBC_2.17 siginterrupt F
+GLIBC_2.17 sigisemptyset F
+GLIBC_2.17 sigismember F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 signal F
+GLIBC_2.17 signalfd F
+GLIBC_2.17 sigorset F
+GLIBC_2.17 sigpause F
+GLIBC_2.17 sigpending F
+GLIBC_2.17 sigprocmask F
+GLIBC_2.17 sigqueue F
+GLIBC_2.17 sigrelse F
+GLIBC_2.17 sigreturn F
+GLIBC_2.17 sigset F
+GLIBC_2.17 sigsetmask F
+GLIBC_2.17 sigstack F
+GLIBC_2.17 sigsuspend F
+GLIBC_2.17 sigtimedwait F
+GLIBC_2.17 sigvec F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 sigwaitinfo F
+GLIBC_2.17 sleep F
+GLIBC_2.17 snprintf F
+GLIBC_2.17 sockatmark F
+GLIBC_2.17 socket F
+GLIBC_2.17 socketpair F
+GLIBC_2.17 splice F
+GLIBC_2.17 sprintf F
+GLIBC_2.17 sprofil F
+GLIBC_2.17 srand F
+GLIBC_2.17 srand48 F
+GLIBC_2.17 srand48_r F
+GLIBC_2.17 srandom F
+GLIBC_2.17 srandom_r F
+GLIBC_2.17 sscanf F
+GLIBC_2.17 ssignal F
+GLIBC_2.17 sstk F
+GLIBC_2.17 statfs F
+GLIBC_2.17 statfs64 F
+GLIBC_2.17 statvfs F
+GLIBC_2.17 statvfs64 F
+GLIBC_2.17 stderr D 0x8
+GLIBC_2.17 stdin D 0x8
+GLIBC_2.17 stdout D 0x8
+GLIBC_2.17 step F
+GLIBC_2.17 stime F
+GLIBC_2.17 stpcpy F
+GLIBC_2.17 stpncpy F
+GLIBC_2.17 strcasecmp F
+GLIBC_2.17 strcasecmp_l F
+GLIBC_2.17 strcasestr F
+GLIBC_2.17 strcat F
+GLIBC_2.17 strchr F
+GLIBC_2.17 strchrnul F
+GLIBC_2.17 strcmp F
+GLIBC_2.17 strcoll F
+GLIBC_2.17 strcoll_l F
+GLIBC_2.17 strcpy F
+GLIBC_2.17 strcspn F
+GLIBC_2.17 strdup F
+GLIBC_2.17 strerror F
+GLIBC_2.17 strerror_l F
+GLIBC_2.17 strerror_r F
+GLIBC_2.17 strfmon F
+GLIBC_2.17 strfmon_l F
+GLIBC_2.17 strfry F
+GLIBC_2.17 strftime F
+GLIBC_2.17 strftime_l F
+GLIBC_2.17 strlen F
+GLIBC_2.17 strncasecmp F
+GLIBC_2.17 strncasecmp_l F
+GLIBC_2.17 strncat F
+GLIBC_2.17 strncmp F
+GLIBC_2.17 strncpy F
+GLIBC_2.17 strndup F
+GLIBC_2.17 strnlen F
+GLIBC_2.17 strpbrk F
+GLIBC_2.17 strptime F
+GLIBC_2.17 strptime_l F
+GLIBC_2.17 strrchr F
+GLIBC_2.17 strsep F
+GLIBC_2.17 strsignal F
+GLIBC_2.17 strspn F
+GLIBC_2.17 strstr F
+GLIBC_2.17 strtod F
+GLIBC_2.17 strtod_l F
+GLIBC_2.17 strtof F
+GLIBC_2.17 strtof_l F
+GLIBC_2.17 strtoimax F
+GLIBC_2.17 strtok F
+GLIBC_2.17 strtok_r F
+GLIBC_2.17 strtol F
+GLIBC_2.17 strtol_l F
+GLIBC_2.17 strtold F
+GLIBC_2.17 strtold_l F
+GLIBC_2.17 strtoll F
+GLIBC_2.17 strtoll_l F
+GLIBC_2.17 strtoq F
+GLIBC_2.17 strtoul F
+GLIBC_2.17 strtoul_l F
+GLIBC_2.17 strtoull F
+GLIBC_2.17 strtoull_l F
+GLIBC_2.17 strtoumax F
+GLIBC_2.17 strtouq F
+GLIBC_2.17 strverscmp F
+GLIBC_2.17 strxfrm F
+GLIBC_2.17 strxfrm_l F
+GLIBC_2.17 stty F
+GLIBC_2.17 svc_exit F
+GLIBC_2.17 svc_fdset D 0x80
+GLIBC_2.17 svc_getreq F
+GLIBC_2.17 svc_getreq_common F
+GLIBC_2.17 svc_getreq_poll F
+GLIBC_2.17 svc_getreqset F
+GLIBC_2.17 svc_max_pollfd D 0x4
+GLIBC_2.17 svc_pollfd D 0x8
+GLIBC_2.17 svc_register F
+GLIBC_2.17 svc_run F
+GLIBC_2.17 svc_sendreply F
+GLIBC_2.17 svc_unregister F
+GLIBC_2.17 svcauthdes_stats D 0x18
+GLIBC_2.17 svcerr_auth F
+GLIBC_2.17 svcerr_decode F
+GLIBC_2.17 svcerr_noproc F
+GLIBC_2.17 svcerr_noprog F
+GLIBC_2.17 svcerr_progvers F
+GLIBC_2.17 svcerr_systemerr F
+GLIBC_2.17 svcerr_weakauth F
+GLIBC_2.17 svcfd_create F
+GLIBC_2.17 svcraw_create F
+GLIBC_2.17 svctcp_create F
+GLIBC_2.17 svcudp_bufcreate F
+GLIBC_2.17 svcudp_create F
+GLIBC_2.17 svcudp_enablecache F
+GLIBC_2.17 svcunix_create F
+GLIBC_2.17 svcunixfd_create F
+GLIBC_2.17 swab F
+GLIBC_2.17 swapcontext F
+GLIBC_2.17 swapoff F
+GLIBC_2.17 swapon F
+GLIBC_2.17 swprintf F
+GLIBC_2.17 swscanf F
+GLIBC_2.17 symlink F
+GLIBC_2.17 symlinkat F
+GLIBC_2.17 sync F
+GLIBC_2.17 sync_file_range F
+GLIBC_2.17 syncfs F
+GLIBC_2.17 sys_errlist D 0x438
+GLIBC_2.17 sys_nerr D 0x4
+GLIBC_2.17 sys_sigabbrev D 0x208
+GLIBC_2.17 sys_siglist D 0x208
+GLIBC_2.17 syscall F
+GLIBC_2.17 sysconf F
+GLIBC_2.17 sysctl F
+GLIBC_2.17 sysinfo F
+GLIBC_2.17 syslog F
+GLIBC_2.17 system F
+GLIBC_2.17 sysv_signal F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 tcflow F
+GLIBC_2.17 tcflush F
+GLIBC_2.17 tcgetattr F
+GLIBC_2.17 tcgetpgrp F
+GLIBC_2.17 tcgetsid F
+GLIBC_2.17 tcsendbreak F
+GLIBC_2.17 tcsetattr F
+GLIBC_2.17 tcsetpgrp F
+GLIBC_2.17 tdelete F
+GLIBC_2.17 tdestroy F
+GLIBC_2.17 tee F
+GLIBC_2.17 telldir F
+GLIBC_2.17 tempnam F
+GLIBC_2.17 textdomain F
+GLIBC_2.17 tfind F
+GLIBC_2.17 time F
+GLIBC_2.17 timegm F
+GLIBC_2.17 timelocal F
+GLIBC_2.17 timerfd_create F
+GLIBC_2.17 timerfd_gettime F
+GLIBC_2.17 timerfd_settime F
+GLIBC_2.17 times F
+GLIBC_2.17 timespec_get F
+GLIBC_2.17 timezone D 0x8
+GLIBC_2.17 tmpfile F
+GLIBC_2.17 tmpfile64 F
+GLIBC_2.17 tmpnam F
+GLIBC_2.17 tmpnam_r F
+GLIBC_2.17 toascii F
+GLIBC_2.17 tolower F
+GLIBC_2.17 tolower_l F
+GLIBC_2.17 toupper F
+GLIBC_2.17 toupper_l F
+GLIBC_2.17 towctrans F
+GLIBC_2.17 towctrans_l F
+GLIBC_2.17 towlower F
+GLIBC_2.17 towlower_l F
+GLIBC_2.17 towupper F
+GLIBC_2.17 towupper_l F
+GLIBC_2.17 tr_break F
+GLIBC_2.17 truncate F
+GLIBC_2.17 truncate64 F
+GLIBC_2.17 tsearch F
+GLIBC_2.17 ttyname F
+GLIBC_2.17 ttyname_r F
+GLIBC_2.17 ttyslot F
+GLIBC_2.17 twalk F
+GLIBC_2.17 tzname D 0x10
+GLIBC_2.17 tzset F
+GLIBC_2.17 ualarm F
+GLIBC_2.17 ulckpwdf F
+GLIBC_2.17 ulimit F
+GLIBC_2.17 umask F
+GLIBC_2.17 umount F
+GLIBC_2.17 umount2 F
+GLIBC_2.17 uname F
+GLIBC_2.17 ungetc F
+GLIBC_2.17 ungetwc F
+GLIBC_2.17 unlink F
+GLIBC_2.17 unlinkat F
+GLIBC_2.17 unlockpt F
+GLIBC_2.17 unsetenv F
+GLIBC_2.17 unshare F
+GLIBC_2.17 updwtmp F
+GLIBC_2.17 updwtmpx F
+GLIBC_2.17 uselib F
+GLIBC_2.17 uselocale F
+GLIBC_2.17 user2netname F
+GLIBC_2.17 usleep F
+GLIBC_2.17 ustat F
+GLIBC_2.17 utime F
+GLIBC_2.17 utimensat F
+GLIBC_2.17 utimes F
+GLIBC_2.17 utmpname F
+GLIBC_2.17 utmpxname F
+GLIBC_2.17 valloc F
+GLIBC_2.17 vasprintf F
+GLIBC_2.17 vdprintf F
+GLIBC_2.17 verr F
+GLIBC_2.17 verrx F
+GLIBC_2.17 versionsort F
+GLIBC_2.17 versionsort64 F
+GLIBC_2.17 vfork F
+GLIBC_2.17 vfprintf F
+GLIBC_2.17 vfscanf F
+GLIBC_2.17 vfwprintf F
+GLIBC_2.17 vfwscanf F
+GLIBC_2.17 vhangup F
+GLIBC_2.17 vlimit F
+GLIBC_2.17 vmsplice F
+GLIBC_2.17 vprintf F
+GLIBC_2.17 vscanf F
+GLIBC_2.17 vsnprintf F
+GLIBC_2.17 vsprintf F
+GLIBC_2.17 vsscanf F
+GLIBC_2.17 vswprintf F
+GLIBC_2.17 vswscanf F
+GLIBC_2.17 vsyslog F
+GLIBC_2.17 vtimes F
+GLIBC_2.17 vwarn F
+GLIBC_2.17 vwarnx F
+GLIBC_2.17 vwprintf F
+GLIBC_2.17 vwscanf F
+GLIBC_2.17 wait F
+GLIBC_2.17 wait3 F
+GLIBC_2.17 wait4 F
+GLIBC_2.17 waitid F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 warn F
+GLIBC_2.17 warnx F
+GLIBC_2.17 wcpcpy F
+GLIBC_2.17 wcpncpy F
+GLIBC_2.17 wcrtomb F
+GLIBC_2.17 wcscasecmp F
+GLIBC_2.17 wcscasecmp_l F
+GLIBC_2.17 wcscat F
+GLIBC_2.17 wcschr F
+GLIBC_2.17 wcschrnul F
+GLIBC_2.17 wcscmp F
+GLIBC_2.17 wcscoll F
+GLIBC_2.17 wcscoll_l F
+GLIBC_2.17 wcscpy F
+GLIBC_2.17 wcscspn F
+GLIBC_2.17 wcsdup F
+GLIBC_2.17 wcsftime F
+GLIBC_2.17 wcsftime_l F
+GLIBC_2.17 wcslen F
+GLIBC_2.17 wcsncasecmp F
+GLIBC_2.17 wcsncasecmp_l F
+GLIBC_2.17 wcsncat F
+GLIBC_2.17 wcsncmp F
+GLIBC_2.17 wcsncpy F
+GLIBC_2.17 wcsnlen F
+GLIBC_2.17 wcsnrtombs F
+GLIBC_2.17 wcspbrk F
+GLIBC_2.17 wcsrchr F
+GLIBC_2.17 wcsrtombs F
+GLIBC_2.17 wcsspn F
+GLIBC_2.17 wcsstr F
+GLIBC_2.17 wcstod F
+GLIBC_2.17 wcstod_l F
+GLIBC_2.17 wcstof F
+GLIBC_2.17 wcstof_l F
+GLIBC_2.17 wcstoimax F
+GLIBC_2.17 wcstok F
+GLIBC_2.17 wcstol F
+GLIBC_2.17 wcstol_l F
+GLIBC_2.17 wcstold F
+GLIBC_2.17 wcstold_l F
+GLIBC_2.17 wcstoll F
+GLIBC_2.17 wcstoll_l F
+GLIBC_2.17 wcstombs F
+GLIBC_2.17 wcstoq F
+GLIBC_2.17 wcstoul F
+GLIBC_2.17 wcstoul_l F
+GLIBC_2.17 wcstoull F
+GLIBC_2.17 wcstoull_l F
+GLIBC_2.17 wcstoumax F
+GLIBC_2.17 wcstouq F
+GLIBC_2.17 wcswcs F
+GLIBC_2.17 wcswidth F
+GLIBC_2.17 wcsxfrm F
+GLIBC_2.17 wcsxfrm_l F
+GLIBC_2.17 wctob F
+GLIBC_2.17 wctomb F
+GLIBC_2.17 wctrans F
+GLIBC_2.17 wctrans_l F
+GLIBC_2.17 wctype F
+GLIBC_2.17 wctype_l F
+GLIBC_2.17 wcwidth F
+GLIBC_2.17 wmemchr F
+GLIBC_2.17 wmemcmp F
+GLIBC_2.17 wmemcpy F
+GLIBC_2.17 wmemmove F
+GLIBC_2.17 wmempcpy F
+GLIBC_2.17 wmemset F
+GLIBC_2.17 wordexp F
+GLIBC_2.17 wordfree F
+GLIBC_2.17 wprintf F
+GLIBC_2.17 write F
+GLIBC_2.17 writev F
+GLIBC_2.17 wscanf F
+GLIBC_2.17 xdecrypt F
+GLIBC_2.17 xdr_accepted_reply F
+GLIBC_2.17 xdr_array F
+GLIBC_2.17 xdr_authdes_cred F
+GLIBC_2.17 xdr_authdes_verf F
+GLIBC_2.17 xdr_authunix_parms F
+GLIBC_2.17 xdr_bool F
+GLIBC_2.17 xdr_bytes F
+GLIBC_2.17 xdr_callhdr F
+GLIBC_2.17 xdr_callmsg F
+GLIBC_2.17 xdr_char F
+GLIBC_2.17 xdr_cryptkeyarg F
+GLIBC_2.17 xdr_cryptkeyarg2 F
+GLIBC_2.17 xdr_cryptkeyres F
+GLIBC_2.17 xdr_des_block F
+GLIBC_2.17 xdr_double F
+GLIBC_2.17 xdr_enum F
+GLIBC_2.17 xdr_float F
+GLIBC_2.17 xdr_free F
+GLIBC_2.17 xdr_getcredres F
+GLIBC_2.17 xdr_hyper F
+GLIBC_2.17 xdr_int F
+GLIBC_2.17 xdr_int16_t F
+GLIBC_2.17 xdr_int32_t F
+GLIBC_2.17 xdr_int64_t F
+GLIBC_2.17 xdr_int8_t F
+GLIBC_2.17 xdr_key_netstarg F
+GLIBC_2.17 xdr_key_netstres F
+GLIBC_2.17 xdr_keybuf F
+GLIBC_2.17 xdr_keystatus F
+GLIBC_2.17 xdr_long F
+GLIBC_2.17 xdr_longlong_t F
+GLIBC_2.17 xdr_netnamestr F
+GLIBC_2.17 xdr_netobj F
+GLIBC_2.17 xdr_opaque F
+GLIBC_2.17 xdr_opaque_auth F
+GLIBC_2.17 xdr_pmap F
+GLIBC_2.17 xdr_pmaplist F
+GLIBC_2.17 xdr_pointer F
+GLIBC_2.17 xdr_quad_t F
+GLIBC_2.17 xdr_reference F
+GLIBC_2.17 xdr_rejected_reply F
+GLIBC_2.17 xdr_replymsg F
+GLIBC_2.17 xdr_rmtcall_args F
+GLIBC_2.17 xdr_rmtcallres F
+GLIBC_2.17 xdr_short F
+GLIBC_2.17 xdr_sizeof F
+GLIBC_2.17 xdr_string F
+GLIBC_2.17 xdr_u_char F
+GLIBC_2.17 xdr_u_hyper F
+GLIBC_2.17 xdr_u_int F
+GLIBC_2.17 xdr_u_long F
+GLIBC_2.17 xdr_u_longlong_t F
+GLIBC_2.17 xdr_u_quad_t F
+GLIBC_2.17 xdr_u_short F
+GLIBC_2.17 xdr_uint16_t F
+GLIBC_2.17 xdr_uint32_t F
+GLIBC_2.17 xdr_uint64_t F
+GLIBC_2.17 xdr_uint8_t F
+GLIBC_2.17 xdr_union F
+GLIBC_2.17 xdr_unixcred F
+GLIBC_2.17 xdr_vector F
+GLIBC_2.17 xdr_void F
+GLIBC_2.17 xdr_wrapstring F
+GLIBC_2.17 xdrmem_create F
+GLIBC_2.17 xdrrec_create F
+GLIBC_2.17 xdrrec_endofrecord F
+GLIBC_2.17 xdrrec_eof F
+GLIBC_2.17 xdrrec_skiprecord F
+GLIBC_2.17 xdrstdio_create F
+GLIBC_2.17 xencrypt F
+GLIBC_2.17 xprt_register F
+GLIBC_2.17 xprt_unregister F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
new file mode 100644
index 0000000000..5eb056baf5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
@@ -0,0 +1,2327 @@
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ppc_get_timebase_freq F
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 _Exit F
+GLIBC_2.3 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.3 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.3 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.3 _IO_adjust_column F
+GLIBC_2.3 _IO_adjust_wcolumn F
+GLIBC_2.3 _IO_default_doallocate F
+GLIBC_2.3 _IO_default_finish F
+GLIBC_2.3 _IO_default_pbackfail F
+GLIBC_2.3 _IO_default_uflow F
+GLIBC_2.3 _IO_default_xsgetn F
+GLIBC_2.3 _IO_default_xsputn F
+GLIBC_2.3 _IO_do_write F
+GLIBC_2.3 _IO_doallocbuf F
+GLIBC_2.3 _IO_fclose F
+GLIBC_2.3 _IO_fdopen F
+GLIBC_2.3 _IO_feof F
+GLIBC_2.3 _IO_ferror F
+GLIBC_2.3 _IO_fflush F
+GLIBC_2.3 _IO_fgetpos F
+GLIBC_2.3 _IO_fgetpos64 F
+GLIBC_2.3 _IO_fgets F
+GLIBC_2.3 _IO_file_attach F
+GLIBC_2.3 _IO_file_close F
+GLIBC_2.3 _IO_file_close_it F
+GLIBC_2.3 _IO_file_doallocate F
+GLIBC_2.3 _IO_file_finish F
+GLIBC_2.3 _IO_file_fopen F
+GLIBC_2.3 _IO_file_init F
+GLIBC_2.3 _IO_file_jumps D 0xa8
+GLIBC_2.3 _IO_file_open F
+GLIBC_2.3 _IO_file_overflow F
+GLIBC_2.3 _IO_file_read F
+GLIBC_2.3 _IO_file_seek F
+GLIBC_2.3 _IO_file_seekoff F
+GLIBC_2.3 _IO_file_setbuf F
+GLIBC_2.3 _IO_file_stat F
+GLIBC_2.3 _IO_file_sync F
+GLIBC_2.3 _IO_file_underflow F
+GLIBC_2.3 _IO_file_write F
+GLIBC_2.3 _IO_file_xsputn F
+GLIBC_2.3 _IO_flockfile F
+GLIBC_2.3 _IO_flush_all F
+GLIBC_2.3 _IO_flush_all_linebuffered F
+GLIBC_2.3 _IO_fopen F
+GLIBC_2.3 _IO_fprintf F
+GLIBC_2.3 _IO_fputs F
+GLIBC_2.3 _IO_fread F
+GLIBC_2.3 _IO_free_backup_area F
+GLIBC_2.3 _IO_free_wbackup_area F
+GLIBC_2.3 _IO_fsetpos F
+GLIBC_2.3 _IO_fsetpos64 F
+GLIBC_2.3 _IO_ftell F
+GLIBC_2.3 _IO_ftrylockfile F
+GLIBC_2.3 _IO_funlockfile F
+GLIBC_2.3 _IO_fwrite F
+GLIBC_2.3 _IO_getc F
+GLIBC_2.3 _IO_getline F
+GLIBC_2.3 _IO_getline_info F
+GLIBC_2.3 _IO_gets F
+GLIBC_2.3 _IO_init F
+GLIBC_2.3 _IO_init_marker F
+GLIBC_2.3 _IO_init_wmarker F
+GLIBC_2.3 _IO_iter_begin F
+GLIBC_2.3 _IO_iter_end F
+GLIBC_2.3 _IO_iter_file F
+GLIBC_2.3 _IO_iter_next F
+GLIBC_2.3 _IO_least_wmarker F
+GLIBC_2.3 _IO_link_in F
+GLIBC_2.3 _IO_list_all D 0x8
+GLIBC_2.3 _IO_list_lock F
+GLIBC_2.3 _IO_list_resetlock F
+GLIBC_2.3 _IO_list_unlock F
+GLIBC_2.3 _IO_marker_delta F
+GLIBC_2.3 _IO_marker_difference F
+GLIBC_2.3 _IO_padn F
+GLIBC_2.3 _IO_peekc_locked F
+GLIBC_2.3 _IO_popen F
+GLIBC_2.3 _IO_printf F
+GLIBC_2.3 _IO_proc_close F
+GLIBC_2.3 _IO_proc_open F
+GLIBC_2.3 _IO_putc F
+GLIBC_2.3 _IO_puts F
+GLIBC_2.3 _IO_remove_marker F
+GLIBC_2.3 _IO_seekmark F
+GLIBC_2.3 _IO_seekoff F
+GLIBC_2.3 _IO_seekpos F
+GLIBC_2.3 _IO_seekwmark F
+GLIBC_2.3 _IO_setb F
+GLIBC_2.3 _IO_setbuffer F
+GLIBC_2.3 _IO_setvbuf F
+GLIBC_2.3 _IO_sgetn F
+GLIBC_2.3 _IO_sprintf F
+GLIBC_2.3 _IO_sputbackc F
+GLIBC_2.3 _IO_sputbackwc F
+GLIBC_2.3 _IO_sscanf F
+GLIBC_2.3 _IO_str_init_readonly F
+GLIBC_2.3 _IO_str_init_static F
+GLIBC_2.3 _IO_str_overflow F
+GLIBC_2.3 _IO_str_pbackfail F
+GLIBC_2.3 _IO_str_seekoff F
+GLIBC_2.3 _IO_str_underflow F
+GLIBC_2.3 _IO_sungetc F
+GLIBC_2.3 _IO_sungetwc F
+GLIBC_2.3 _IO_switch_to_get_mode F
+GLIBC_2.3 _IO_switch_to_main_wget_area F
+GLIBC_2.3 _IO_switch_to_wbackup_area F
+GLIBC_2.3 _IO_switch_to_wget_mode F
+GLIBC_2.3 _IO_un_link F
+GLIBC_2.3 _IO_ungetc F
+GLIBC_2.3 _IO_unsave_markers F
+GLIBC_2.3 _IO_unsave_wmarkers F
+GLIBC_2.3 _IO_vfprintf F
+GLIBC_2.3 _IO_vfscanf F
+GLIBC_2.3 _IO_vsprintf F
+GLIBC_2.3 _IO_wdefault_doallocate F
+GLIBC_2.3 _IO_wdefault_finish F
+GLIBC_2.3 _IO_wdefault_pbackfail F
+GLIBC_2.3 _IO_wdefault_uflow F
+GLIBC_2.3 _IO_wdefault_xsgetn F
+GLIBC_2.3 _IO_wdefault_xsputn F
+GLIBC_2.3 _IO_wdo_write F
+GLIBC_2.3 _IO_wdoallocbuf F
+GLIBC_2.3 _IO_wfile_jumps D 0xa8
+GLIBC_2.3 _IO_wfile_overflow F
+GLIBC_2.3 _IO_wfile_seekoff F
+GLIBC_2.3 _IO_wfile_sync F
+GLIBC_2.3 _IO_wfile_underflow F
+GLIBC_2.3 _IO_wfile_xsputn F
+GLIBC_2.3 _IO_wmarker_delta F
+GLIBC_2.3 _IO_wsetb F
+GLIBC_2.3 __adjtimex F
+GLIBC_2.3 __after_morecore_hook D 0x8
+GLIBC_2.3 __argz_count F
+GLIBC_2.3 __argz_next F
+GLIBC_2.3 __argz_stringify F
+GLIBC_2.3 __asprintf F
+GLIBC_2.3 __assert F
+GLIBC_2.3 __assert_fail F
+GLIBC_2.3 __assert_perror_fail F
+GLIBC_2.3 __backtrace F
+GLIBC_2.3 __backtrace_symbols F
+GLIBC_2.3 __backtrace_symbols_fd F
+GLIBC_2.3 __bsd_getpgrp F
+GLIBC_2.3 __bzero F
+GLIBC_2.3 __check_rhosts_file D 0x4
+GLIBC_2.3 __clone F
+GLIBC_2.3 __close F
+GLIBC_2.3 __cmsg_nxthdr F
+GLIBC_2.3 __connect F
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_get_mb_cur_max F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __curbrk D 0x8
+GLIBC_2.3 __cxa_atexit F
+GLIBC_2.3 __cxa_finalize F
+GLIBC_2.3 __cyg_profile_func_enter F
+GLIBC_2.3 __cyg_profile_func_exit F
+GLIBC_2.3 __daylight D 0x4
+GLIBC_2.3 __dcgettext F
+GLIBC_2.3 __default_morecore F
+GLIBC_2.3 __dgettext F
+GLIBC_2.3 __dup2 F
+GLIBC_2.3 __duplocale F
+GLIBC_2.3 __endmntent F
+GLIBC_2.3 __environ D 0x8
+GLIBC_2.3 __errno_location F
+GLIBC_2.3 __fbufsize F
+GLIBC_2.3 __fcntl F
+GLIBC_2.3 __ffs F
+GLIBC_2.3 __finite F
+GLIBC_2.3 __finitef F
+GLIBC_2.3 __finitel F
+GLIBC_2.3 __flbf F
+GLIBC_2.3 __fork F
+GLIBC_2.3 __fpending F
+GLIBC_2.3 __fpu_control D 0x4
+GLIBC_2.3 __fpurge F
+GLIBC_2.3 __freadable F
+GLIBC_2.3 __freading F
+GLIBC_2.3 __free_hook D 0x8
+GLIBC_2.3 __freelocale F
+GLIBC_2.3 __fsetlocking F
+GLIBC_2.3 __fwritable F
+GLIBC_2.3 __fwriting F
+GLIBC_2.3 __fxstat F
+GLIBC_2.3 __fxstat64 F
+GLIBC_2.3 __getdelim F
+GLIBC_2.3 __getmntent_r F
+GLIBC_2.3 __getpagesize F
+GLIBC_2.3 __getpgid F
+GLIBC_2.3 __getpid F
+GLIBC_2.3 __gettimeofday F
+GLIBC_2.3 __gmtime_r F
+GLIBC_2.3 __h_errno_location F
+GLIBC_2.3 __isalnum_l F
+GLIBC_2.3 __isalpha_l F
+GLIBC_2.3 __isascii_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 __isinf F
+GLIBC_2.3 __isinff F
+GLIBC_2.3 __isinfl F
+GLIBC_2.3 __islower_l F
+GLIBC_2.3 __isnan F
+GLIBC_2.3 __isnanf F
+GLIBC_2.3 __isnanl 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 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 __ivaliduser F
+GLIBC_2.3 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.3 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.3 __key_gendes_LOCAL D 0x8
+GLIBC_2.3 __libc_allocate_rtsig F
+GLIBC_2.3 __libc_calloc F
+GLIBC_2.3 __libc_current_sigrtmax F
+GLIBC_2.3 __libc_current_sigrtmin F
+GLIBC_2.3 __libc_free F
+GLIBC_2.3 __libc_freeres F
+GLIBC_2.3 __libc_init_first F
+GLIBC_2.3 __libc_mallinfo F
+GLIBC_2.3 __libc_malloc F
+GLIBC_2.3 __libc_mallopt F
+GLIBC_2.3 __libc_memalign F
+GLIBC_2.3 __libc_pvalloc F
+GLIBC_2.3 __libc_realloc F
+GLIBC_2.3 __libc_sa_len F
+GLIBC_2.3 __libc_start_main F
+GLIBC_2.3 __libc_valloc F
+GLIBC_2.3 __lseek F
+GLIBC_2.3 __lxstat F
+GLIBC_2.3 __lxstat64 F
+GLIBC_2.3 __malloc_hook D 0x8
+GLIBC_2.3 __malloc_initialize_hook D 0x8
+GLIBC_2.3 __mbrlen F
+GLIBC_2.3 __mbrtowc F
+GLIBC_2.3 __memalign_hook D 0x8
+GLIBC_2.3 __mempcpy F
+GLIBC_2.3 __mempcpy_small F
+GLIBC_2.3 __monstartup F
+GLIBC_2.3 __morecore D 0x8
+GLIBC_2.3 __nanosleep F
+GLIBC_2.3 __newlocale F
+GLIBC_2.3 __nl_langinfo_l F
+GLIBC_2.3 __nss_configure_lookup F
+GLIBC_2.3 __nss_database_lookup F
+GLIBC_2.3 __nss_group_lookup F
+GLIBC_2.3 __nss_hostname_digits_dots F
+GLIBC_2.3 __nss_hosts_lookup F
+GLIBC_2.3 __nss_next F
+GLIBC_2.3 __nss_passwd_lookup F
+GLIBC_2.3 __open F
+GLIBC_2.3 __open64 F
+GLIBC_2.3 __overflow F
+GLIBC_2.3 __pipe F
+GLIBC_2.3 __poll F
+GLIBC_2.3 __pread64 F
+GLIBC_2.3 __printf_fp F
+GLIBC_2.3 __profile_frequency F
+GLIBC_2.3 __progname D 0x8
+GLIBC_2.3 __progname_full D 0x8
+GLIBC_2.3 __pwrite64 F
+GLIBC_2.3 __rawmemchr F
+GLIBC_2.3 __rcmd_errstr D 0x8
+GLIBC_2.3 __read F
+GLIBC_2.3 __realloc_hook D 0x8
+GLIBC_2.3 __res_init F
+GLIBC_2.3 __res_nclose F
+GLIBC_2.3 __res_ninit F
+GLIBC_2.3 __res_randomid F
+GLIBC_2.3 __res_state F
+GLIBC_2.3 __rpc_thread_createerr F
+GLIBC_2.3 __rpc_thread_svc_fdset F
+GLIBC_2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.3 __sbrk F
+GLIBC_2.3 __sched_get_priority_max F
+GLIBC_2.3 __sched_get_priority_min F
+GLIBC_2.3 __sched_getparam F
+GLIBC_2.3 __sched_getscheduler F
+GLIBC_2.3 __sched_setscheduler F
+GLIBC_2.3 __sched_yield F
+GLIBC_2.3 __secure_getenv F
+GLIBC_2.3 __select F
+GLIBC_2.3 __send F
+GLIBC_2.3 __setmntent F
+GLIBC_2.3 __setpgid F
+GLIBC_2.3 __sigaction F
+GLIBC_2.3 __sigaddset F
+GLIBC_2.3 __sigdelset F
+GLIBC_2.3 __sigismember F
+GLIBC_2.3 __signbit F
+GLIBC_2.3 __signbitf F
+GLIBC_2.3 __sigpause F
+GLIBC_2.3 __sigsetjmp F
+GLIBC_2.3 __sigsuspend F
+GLIBC_2.3 __statfs F
+GLIBC_2.3 __stpcpy F
+GLIBC_2.3 __stpcpy_small F
+GLIBC_2.3 __stpncpy F
+GLIBC_2.3 __strcasecmp F
+GLIBC_2.3 __strcasecmp_l F
+GLIBC_2.3 __strcasestr F
+GLIBC_2.3 __strcoll_l F
+GLIBC_2.3 __strcpy_small F
+GLIBC_2.3 __strcspn_c1 F
+GLIBC_2.3 __strcspn_c2 F
+GLIBC_2.3 __strcspn_c3 F
+GLIBC_2.3 __strdup F
+GLIBC_2.3 __strerror_r F
+GLIBC_2.3 __strfmon_l F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __strncasecmp_l F
+GLIBC_2.3 __strndup F
+GLIBC_2.3 __strpbrk_c2 F
+GLIBC_2.3 __strpbrk_c3 F
+GLIBC_2.3 __strsep_1c F
+GLIBC_2.3 __strsep_2c F
+GLIBC_2.3 __strsep_3c F
+GLIBC_2.3 __strsep_g F
+GLIBC_2.3 __strspn_c1 F
+GLIBC_2.3 __strspn_c2 F
+GLIBC_2.3 __strspn_c3 F
+GLIBC_2.3 __strtod_internal F
+GLIBC_2.3 __strtod_l F
+GLIBC_2.3 __strtof_internal F
+GLIBC_2.3 __strtof_l F
+GLIBC_2.3 __strtok_r F
+GLIBC_2.3 __strtok_r_1c F
+GLIBC_2.3 __strtol_internal F
+GLIBC_2.3 __strtol_l F
+GLIBC_2.3 __strtold_internal F
+GLIBC_2.3 __strtold_l F
+GLIBC_2.3 __strtoll_internal F
+GLIBC_2.3 __strtoll_l F
+GLIBC_2.3 __strtoul_internal F
+GLIBC_2.3 __strtoul_l F
+GLIBC_2.3 __strtoull_internal F
+GLIBC_2.3 __strtoull_l F
+GLIBC_2.3 __strverscmp F
+GLIBC_2.3 __strxfrm_l F
+GLIBC_2.3 __sysconf F
+GLIBC_2.3 __sysctl F
+GLIBC_2.3 __sysv_signal F
+GLIBC_2.3 __timezone D 0x8
+GLIBC_2.3 __toascii_l F
+GLIBC_2.3 __tolower_l F
+GLIBC_2.3 __toupper_l F
+GLIBC_2.3 __towctrans F
+GLIBC_2.3 __towctrans_l F
+GLIBC_2.3 __towlower_l F
+GLIBC_2.3 __towupper_l F
+GLIBC_2.3 __tzname D 0x10
+GLIBC_2.3 __uflow F
+GLIBC_2.3 __underflow F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __vfork F
+GLIBC_2.3 __vfscanf F
+GLIBC_2.3 __vsnprintf F
+GLIBC_2.3 __vsscanf F
+GLIBC_2.3 __wait F
+GLIBC_2.3 __waitpid 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_internal F
+GLIBC_2.3 __wcstod_l F
+GLIBC_2.3 __wcstof_internal F
+GLIBC_2.3 __wcstof_l F
+GLIBC_2.3 __wcstol_internal F
+GLIBC_2.3 __wcstol_l F
+GLIBC_2.3 __wcstold_internal F
+GLIBC_2.3 __wcstold_l F
+GLIBC_2.3 __wcstoll_internal F
+GLIBC_2.3 __wcstoll_l F
+GLIBC_2.3 __wcstoul_internal F
+GLIBC_2.3 __wcstoul_l F
+GLIBC_2.3 __wcstoull_internal 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 __woverflow F
+GLIBC_2.3 __write F
+GLIBC_2.3 __wuflow F
+GLIBC_2.3 __wunderflow F
+GLIBC_2.3 __xmknod F
+GLIBC_2.3 __xpg_basename F
+GLIBC_2.3 __xpg_sigpause F
+GLIBC_2.3 __xstat F
+GLIBC_2.3 __xstat64 F
+GLIBC_2.3 _authenticate F
+GLIBC_2.3 _dl_mcount_wrapper F
+GLIBC_2.3 _dl_mcount_wrapper_check F
+GLIBC_2.3 _environ D 0x8
+GLIBC_2.3 _exit F
+GLIBC_2.3 _flushlbf F
+GLIBC_2.3 _libc_intl_domainname D 0x5
+GLIBC_2.3 _longjmp F
+GLIBC_2.3 _mcleanup F
+GLIBC_2.3 _mcount F
+GLIBC_2.3 _nl_default_dirname D 0x12
+GLIBC_2.3 _nl_domain_bindings D 0x8
+GLIBC_2.3 _nl_msg_cat_cntr D 0x4
+GLIBC_2.3 _null_auth D 0x18
+GLIBC_2.3 _obstack D 0x8
+GLIBC_2.3 _obstack_allocated_p F
+GLIBC_2.3 _obstack_begin F
+GLIBC_2.3 _obstack_begin_1 F
+GLIBC_2.3 _obstack_free F
+GLIBC_2.3 _obstack_memory_used F
+GLIBC_2.3 _obstack_newchunk F
+GLIBC_2.3 _res D 0x238
+GLIBC_2.3 _res_hconf D 0x48
+GLIBC_2.3 _rpc_dtablesize F
+GLIBC_2.3 _seterr_reply F
+GLIBC_2.3 _setjmp F
+GLIBC_2.3 _sys_errlist D 0x3f0
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 _sys_siglist D 0x200
+GLIBC_2.3 _tolower F
+GLIBC_2.3 _toupper F
+GLIBC_2.3 a64l F
+GLIBC_2.3 abort F
+GLIBC_2.3 abs F
+GLIBC_2.3 accept F
+GLIBC_2.3 access F
+GLIBC_2.3 acct F
+GLIBC_2.3 addmntent F
+GLIBC_2.3 addseverity F
+GLIBC_2.3 adjtime F
+GLIBC_2.3 adjtimex F
+GLIBC_2.3 advance F
+GLIBC_2.3 alarm F
+GLIBC_2.3 alphasort F
+GLIBC_2.3 alphasort64 F
+GLIBC_2.3 argp_err_exit_status D 0x4
+GLIBC_2.3 argp_error F
+GLIBC_2.3 argp_failure F
+GLIBC_2.3 argp_help F
+GLIBC_2.3 argp_parse F
+GLIBC_2.3 argp_program_bug_address D 0x8
+GLIBC_2.3 argp_program_version D 0x8
+GLIBC_2.3 argp_program_version_hook D 0x8
+GLIBC_2.3 argp_state_help F
+GLIBC_2.3 argp_usage F
+GLIBC_2.3 argz_add F
+GLIBC_2.3 argz_add_sep F
+GLIBC_2.3 argz_append F
+GLIBC_2.3 argz_count F
+GLIBC_2.3 argz_create F
+GLIBC_2.3 argz_create_sep F
+GLIBC_2.3 argz_delete F
+GLIBC_2.3 argz_extract F
+GLIBC_2.3 argz_insert F
+GLIBC_2.3 argz_next F
+GLIBC_2.3 argz_replace F
+GLIBC_2.3 argz_stringify F
+GLIBC_2.3 asctime F
+GLIBC_2.3 asctime_r F
+GLIBC_2.3 asprintf F
+GLIBC_2.3 atof F
+GLIBC_2.3 atoi F
+GLIBC_2.3 atol F
+GLIBC_2.3 atoll F
+GLIBC_2.3 authdes_create F
+GLIBC_2.3 authdes_getucred F
+GLIBC_2.3 authdes_pk_create F
+GLIBC_2.3 authnone_create F
+GLIBC_2.3 authunix_create F
+GLIBC_2.3 authunix_create_default F
+GLIBC_2.3 backtrace F
+GLIBC_2.3 backtrace_symbols F
+GLIBC_2.3 backtrace_symbols_fd F
+GLIBC_2.3 basename F
+GLIBC_2.3 bcmp F
+GLIBC_2.3 bcopy F
+GLIBC_2.3 bdflush F
+GLIBC_2.3 bind F
+GLIBC_2.3 bind_textdomain_codeset F
+GLIBC_2.3 bindresvport F
+GLIBC_2.3 bindtextdomain F
+GLIBC_2.3 brk F
+GLIBC_2.3 bsd_signal F
+GLIBC_2.3 bsearch F
+GLIBC_2.3 btowc F
+GLIBC_2.3 bzero F
+GLIBC_2.3 calloc F
+GLIBC_2.3 callrpc F
+GLIBC_2.3 canonicalize_file_name F
+GLIBC_2.3 capget F
+GLIBC_2.3 capset F
+GLIBC_2.3 catclose F
+GLIBC_2.3 catgets F
+GLIBC_2.3 catopen F
+GLIBC_2.3 cbc_crypt F
+GLIBC_2.3 cfgetispeed F
+GLIBC_2.3 cfgetospeed F
+GLIBC_2.3 cfmakeraw F
+GLIBC_2.3 cfree F
+GLIBC_2.3 cfsetispeed F
+GLIBC_2.3 cfsetospeed F
+GLIBC_2.3 cfsetspeed F
+GLIBC_2.3 chdir F
+GLIBC_2.3 chflags F
+GLIBC_2.3 chmod F
+GLIBC_2.3 chown F
+GLIBC_2.3 chroot F
+GLIBC_2.3 clearenv F
+GLIBC_2.3 clearerr F
+GLIBC_2.3 clearerr_unlocked F
+GLIBC_2.3 clnt_broadcast F
+GLIBC_2.3 clnt_create F
+GLIBC_2.3 clnt_pcreateerror F
+GLIBC_2.3 clnt_perrno F
+GLIBC_2.3 clnt_perror F
+GLIBC_2.3 clnt_spcreateerror F
+GLIBC_2.3 clnt_sperrno F
+GLIBC_2.3 clnt_sperror F
+GLIBC_2.3 clntraw_create F
+GLIBC_2.3 clnttcp_create F
+GLIBC_2.3 clntudp_bufcreate F
+GLIBC_2.3 clntudp_create F
+GLIBC_2.3 clntunix_create F
+GLIBC_2.3 clock F
+GLIBC_2.3 clone F
+GLIBC_2.3 close F
+GLIBC_2.3 closedir F
+GLIBC_2.3 closelog F
+GLIBC_2.3 confstr F
+GLIBC_2.3 connect F
+GLIBC_2.3 copysign F
+GLIBC_2.3 copysignf F
+GLIBC_2.3 copysignl F
+GLIBC_2.3 creat F
+GLIBC_2.3 creat64 F
+GLIBC_2.3 create_module F
+GLIBC_2.3 ctermid F
+GLIBC_2.3 ctime F
+GLIBC_2.3 ctime_r F
+GLIBC_2.3 cuserid F
+GLIBC_2.3 daemon F
+GLIBC_2.3 daylight D 0x4
+GLIBC_2.3 dcgettext F
+GLIBC_2.3 dcngettext F
+GLIBC_2.3 delete_module F
+GLIBC_2.3 des_setparity F
+GLIBC_2.3 dgettext F
+GLIBC_2.3 difftime F
+GLIBC_2.3 dirfd F
+GLIBC_2.3 dirname F
+GLIBC_2.3 div F
+GLIBC_2.3 dl_iterate_phdr F
+GLIBC_2.3 dngettext F
+GLIBC_2.3 dprintf F
+GLIBC_2.3 drand48 F
+GLIBC_2.3 drand48_r F
+GLIBC_2.3 dup F
+GLIBC_2.3 dup2 F
+GLIBC_2.3 duplocale F
+GLIBC_2.3 dysize F
+GLIBC_2.3 ecb_crypt F
+GLIBC_2.3 ecvt F
+GLIBC_2.3 ecvt_r F
+GLIBC_2.3 endaliasent F
+GLIBC_2.3 endfsent F
+GLIBC_2.3 endgrent F
+GLIBC_2.3 endhostent F
+GLIBC_2.3 endmntent F
+GLIBC_2.3 endnetent F
+GLIBC_2.3 endnetgrent F
+GLIBC_2.3 endprotoent F
+GLIBC_2.3 endpwent F
+GLIBC_2.3 endrpcent F
+GLIBC_2.3 endservent F
+GLIBC_2.3 endspent F
+GLIBC_2.3 endttyent F
+GLIBC_2.3 endusershell F
+GLIBC_2.3 endutent F
+GLIBC_2.3 endutxent F
+GLIBC_2.3 environ D 0x8
+GLIBC_2.3 envz_add F
+GLIBC_2.3 envz_entry F
+GLIBC_2.3 envz_get F
+GLIBC_2.3 envz_merge F
+GLIBC_2.3 envz_remove F
+GLIBC_2.3 envz_strip F
+GLIBC_2.3 erand48 F
+GLIBC_2.3 erand48_r F
+GLIBC_2.3 err F
+GLIBC_2.3 error F
+GLIBC_2.3 error_at_line F
+GLIBC_2.3 error_message_count D 0x4
+GLIBC_2.3 error_one_per_line D 0x4
+GLIBC_2.3 error_print_progname D 0x8
+GLIBC_2.3 errx F
+GLIBC_2.3 ether_aton F
+GLIBC_2.3 ether_aton_r F
+GLIBC_2.3 ether_hostton F
+GLIBC_2.3 ether_line F
+GLIBC_2.3 ether_ntoa F
+GLIBC_2.3 ether_ntoa_r F
+GLIBC_2.3 ether_ntohost F
+GLIBC_2.3 euidaccess F
+GLIBC_2.3 execl F
+GLIBC_2.3 execle F
+GLIBC_2.3 execlp F
+GLIBC_2.3 execv F
+GLIBC_2.3 execve F
+GLIBC_2.3 execvp F
+GLIBC_2.3 exit F
+GLIBC_2.3 fattach F
+GLIBC_2.3 fchdir F
+GLIBC_2.3 fchflags F
+GLIBC_2.3 fchmod F
+GLIBC_2.3 fchown F
+GLIBC_2.3 fclose F
+GLIBC_2.3 fcloseall F
+GLIBC_2.3 fcntl F
+GLIBC_2.3 fcvt F
+GLIBC_2.3 fcvt_r F
+GLIBC_2.3 fdatasync F
+GLIBC_2.3 fdetach F
+GLIBC_2.3 fdopen F
+GLIBC_2.3 feof F
+GLIBC_2.3 feof_unlocked F
+GLIBC_2.3 ferror F
+GLIBC_2.3 ferror_unlocked F
+GLIBC_2.3 fexecve F
+GLIBC_2.3 fflush F
+GLIBC_2.3 fflush_unlocked F
+GLIBC_2.3 ffs F
+GLIBC_2.3 ffsl F
+GLIBC_2.3 ffsll F
+GLIBC_2.3 fgetc F
+GLIBC_2.3 fgetc_unlocked F
+GLIBC_2.3 fgetgrent F
+GLIBC_2.3 fgetgrent_r F
+GLIBC_2.3 fgetpos F
+GLIBC_2.3 fgetpos64 F
+GLIBC_2.3 fgetpwent F
+GLIBC_2.3 fgetpwent_r F
+GLIBC_2.3 fgets F
+GLIBC_2.3 fgets_unlocked F
+GLIBC_2.3 fgetspent F
+GLIBC_2.3 fgetspent_r F
+GLIBC_2.3 fgetwc F
+GLIBC_2.3 fgetwc_unlocked F
+GLIBC_2.3 fgetws F
+GLIBC_2.3 fgetws_unlocked F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 fileno F
+GLIBC_2.3 fileno_unlocked F
+GLIBC_2.3 finite F
+GLIBC_2.3 finitef F
+GLIBC_2.3 finitel F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 flock F
+GLIBC_2.3 flockfile F
+GLIBC_2.3 fmemopen F
+GLIBC_2.3 fmtmsg F
+GLIBC_2.3 fnmatch F
+GLIBC_2.3 fopen F
+GLIBC_2.3 fopen64 F
+GLIBC_2.3 fopencookie F
+GLIBC_2.3 fork F
+GLIBC_2.3 fpathconf F
+GLIBC_2.3 fprintf F
+GLIBC_2.3 fputc F
+GLIBC_2.3 fputc_unlocked F
+GLIBC_2.3 fputs F
+GLIBC_2.3 fputs_unlocked F
+GLIBC_2.3 fputwc F
+GLIBC_2.3 fputwc_unlocked F
+GLIBC_2.3 fputws F
+GLIBC_2.3 fputws_unlocked F
+GLIBC_2.3 fread F
+GLIBC_2.3 fread_unlocked F
+GLIBC_2.3 free F
+GLIBC_2.3 freeaddrinfo F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 freopen F
+GLIBC_2.3 freopen64 F
+GLIBC_2.3 frexp F
+GLIBC_2.3 frexpf F
+GLIBC_2.3 frexpl F
+GLIBC_2.3 fscanf F
+GLIBC_2.3 fseek F
+GLIBC_2.3 fseeko F
+GLIBC_2.3 fseeko64 F
+GLIBC_2.3 fsetpos F
+GLIBC_2.3 fsetpos64 F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 fstatfs F
+GLIBC_2.3 fstatfs64 F
+GLIBC_2.3 fstatvfs F
+GLIBC_2.3 fstatvfs64 F
+GLIBC_2.3 fsync F
+GLIBC_2.3 ftell F
+GLIBC_2.3 ftello F
+GLIBC_2.3 ftello64 F
+GLIBC_2.3 ftime F
+GLIBC_2.3 ftok F
+GLIBC_2.3 ftruncate F
+GLIBC_2.3 ftruncate64 F
+GLIBC_2.3 ftrylockfile F
+GLIBC_2.3 fts_children F
+GLIBC_2.3 fts_close F
+GLIBC_2.3 fts_open F
+GLIBC_2.3 fts_read F
+GLIBC_2.3 fts_set F
+GLIBC_2.3 ftw F
+GLIBC_2.3 ftw64 F
+GLIBC_2.3 funlockfile F
+GLIBC_2.3 futimes F
+GLIBC_2.3 fwide F
+GLIBC_2.3 fwprintf F
+GLIBC_2.3 fwrite F
+GLIBC_2.3 fwrite_unlocked F
+GLIBC_2.3 fwscanf F
+GLIBC_2.3 gai_strerror F
+GLIBC_2.3 gcvt F
+GLIBC_2.3 get_avphys_pages F
+GLIBC_2.3 get_current_dir_name F
+GLIBC_2.3 get_kernel_syms F
+GLIBC_2.3 get_myaddress F
+GLIBC_2.3 get_nprocs F
+GLIBC_2.3 get_nprocs_conf F
+GLIBC_2.3 get_phys_pages F
+GLIBC_2.3 getaddrinfo F
+GLIBC_2.3 getaliasbyname F
+GLIBC_2.3 getaliasbyname_r F
+GLIBC_2.3 getaliasent F
+GLIBC_2.3 getaliasent_r F
+GLIBC_2.3 getc F
+GLIBC_2.3 getc_unlocked F
+GLIBC_2.3 getchar F
+GLIBC_2.3 getchar_unlocked F
+GLIBC_2.3 getcontext F
+GLIBC_2.3 getcwd F
+GLIBC_2.3 getdate F
+GLIBC_2.3 getdate_err D 0x4
+GLIBC_2.3 getdate_r F
+GLIBC_2.3 getdelim F
+GLIBC_2.3 getdirentries F
+GLIBC_2.3 getdirentries64 F
+GLIBC_2.3 getdomainname F
+GLIBC_2.3 getdtablesize F
+GLIBC_2.3 getegid F
+GLIBC_2.3 getenv F
+GLIBC_2.3 geteuid F
+GLIBC_2.3 getfsent F
+GLIBC_2.3 getfsfile F
+GLIBC_2.3 getfsspec F
+GLIBC_2.3 getgid F
+GLIBC_2.3 getgrent F
+GLIBC_2.3 getgrent_r F
+GLIBC_2.3 getgrgid F
+GLIBC_2.3 getgrgid_r F
+GLIBC_2.3 getgrnam F
+GLIBC_2.3 getgrnam_r F
+GLIBC_2.3 getgrouplist F
+GLIBC_2.3 getgroups F
+GLIBC_2.3 gethostbyaddr F
+GLIBC_2.3 gethostbyaddr_r F
+GLIBC_2.3 gethostbyname F
+GLIBC_2.3 gethostbyname2 F
+GLIBC_2.3 gethostbyname2_r F
+GLIBC_2.3 gethostbyname_r F
+GLIBC_2.3 gethostent F
+GLIBC_2.3 gethostent_r F
+GLIBC_2.3 gethostid F
+GLIBC_2.3 gethostname F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getitimer F
+GLIBC_2.3 getline F
+GLIBC_2.3 getloadavg F
+GLIBC_2.3 getlogin F
+GLIBC_2.3 getlogin_r F
+GLIBC_2.3 getmntent F
+GLIBC_2.3 getmntent_r F
+GLIBC_2.3 getmsg F
+GLIBC_2.3 getnameinfo F
+GLIBC_2.3 getnetbyaddr F
+GLIBC_2.3 getnetbyaddr_r F
+GLIBC_2.3 getnetbyname F
+GLIBC_2.3 getnetbyname_r F
+GLIBC_2.3 getnetent F
+GLIBC_2.3 getnetent_r F
+GLIBC_2.3 getnetgrent F
+GLIBC_2.3 getnetgrent_r F
+GLIBC_2.3 getnetname F
+GLIBC_2.3 getopt F
+GLIBC_2.3 getopt_long F
+GLIBC_2.3 getopt_long_only F
+GLIBC_2.3 getpagesize F
+GLIBC_2.3 getpass F
+GLIBC_2.3 getpeername F
+GLIBC_2.3 getpgid F
+GLIBC_2.3 getpgrp F
+GLIBC_2.3 getpid F
+GLIBC_2.3 getpmsg F
+GLIBC_2.3 getppid F
+GLIBC_2.3 getpriority F
+GLIBC_2.3 getprotobyname F
+GLIBC_2.3 getprotobyname_r F
+GLIBC_2.3 getprotobynumber F
+GLIBC_2.3 getprotobynumber_r F
+GLIBC_2.3 getprotoent F
+GLIBC_2.3 getprotoent_r F
+GLIBC_2.3 getpt F
+GLIBC_2.3 getpublickey F
+GLIBC_2.3 getpw F
+GLIBC_2.3 getpwent F
+GLIBC_2.3 getpwent_r F
+GLIBC_2.3 getpwnam F
+GLIBC_2.3 getpwnam_r F
+GLIBC_2.3 getpwuid F
+GLIBC_2.3 getpwuid_r F
+GLIBC_2.3 getresgid F
+GLIBC_2.3 getresuid F
+GLIBC_2.3 getrlimit F
+GLIBC_2.3 getrlimit64 F
+GLIBC_2.3 getrpcbyname F
+GLIBC_2.3 getrpcbyname_r F
+GLIBC_2.3 getrpcbynumber F
+GLIBC_2.3 getrpcbynumber_r F
+GLIBC_2.3 getrpcent F
+GLIBC_2.3 getrpcent_r F
+GLIBC_2.3 getrpcport F
+GLIBC_2.3 getrusage F
+GLIBC_2.3 gets F
+GLIBC_2.3 getsecretkey F
+GLIBC_2.3 getservbyname F
+GLIBC_2.3 getservbyname_r F
+GLIBC_2.3 getservbyport F
+GLIBC_2.3 getservbyport_r F
+GLIBC_2.3 getservent F
+GLIBC_2.3 getservent_r F
+GLIBC_2.3 getsid F
+GLIBC_2.3 getsockname F
+GLIBC_2.3 getsockopt F
+GLIBC_2.3 getspent F
+GLIBC_2.3 getspent_r F
+GLIBC_2.3 getspnam F
+GLIBC_2.3 getspnam_r F
+GLIBC_2.3 getsubopt F
+GLIBC_2.3 gettext F
+GLIBC_2.3 gettimeofday F
+GLIBC_2.3 getttyent F
+GLIBC_2.3 getttynam F
+GLIBC_2.3 getuid F
+GLIBC_2.3 getusershell F
+GLIBC_2.3 getutent F
+GLIBC_2.3 getutent_r F
+GLIBC_2.3 getutid F
+GLIBC_2.3 getutid_r F
+GLIBC_2.3 getutline F
+GLIBC_2.3 getutline_r F
+GLIBC_2.3 getutmp F
+GLIBC_2.3 getutmpx F
+GLIBC_2.3 getutxent F
+GLIBC_2.3 getutxid F
+GLIBC_2.3 getutxline F
+GLIBC_2.3 getw F
+GLIBC_2.3 getwc F
+GLIBC_2.3 getwc_unlocked F
+GLIBC_2.3 getwchar F
+GLIBC_2.3 getwchar_unlocked F
+GLIBC_2.3 getwd F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 glob F
+GLIBC_2.3 glob64 F
+GLIBC_2.3 glob_pattern_p F
+GLIBC_2.3 globfree F
+GLIBC_2.3 globfree64 F
+GLIBC_2.3 gmtime F
+GLIBC_2.3 gmtime_r F
+GLIBC_2.3 gnu_get_libc_release F
+GLIBC_2.3 gnu_get_libc_version F
+GLIBC_2.3 grantpt F
+GLIBC_2.3 group_member F
+GLIBC_2.3 gsignal F
+GLIBC_2.3 gtty F
+GLIBC_2.3 h_errlist D 0x28
+GLIBC_2.3 h_nerr D 0x4
+GLIBC_2.3 hasmntopt F
+GLIBC_2.3 hcreate F
+GLIBC_2.3 hcreate_r F
+GLIBC_2.3 hdestroy F
+GLIBC_2.3 hdestroy_r F
+GLIBC_2.3 herror F
+GLIBC_2.3 host2netname F
+GLIBC_2.3 hsearch F
+GLIBC_2.3 hsearch_r F
+GLIBC_2.3 hstrerror F
+GLIBC_2.3 htonl F
+GLIBC_2.3 htons F
+GLIBC_2.3 iconv F
+GLIBC_2.3 iconv_close F
+GLIBC_2.3 iconv_open F
+GLIBC_2.3 if_freenameindex F
+GLIBC_2.3 if_indextoname F
+GLIBC_2.3 if_nameindex F
+GLIBC_2.3 if_nametoindex F
+GLIBC_2.3 imaxabs F
+GLIBC_2.3 imaxdiv F
+GLIBC_2.3 in6addr_any D 0x10
+GLIBC_2.3 in6addr_loopback D 0x10
+GLIBC_2.3 index F
+GLIBC_2.3 inet_addr F
+GLIBC_2.3 inet_aton F
+GLIBC_2.3 inet_lnaof F
+GLIBC_2.3 inet_makeaddr F
+GLIBC_2.3 inet_netof F
+GLIBC_2.3 inet_network F
+GLIBC_2.3 inet_nsap_addr F
+GLIBC_2.3 inet_nsap_ntoa F
+GLIBC_2.3 inet_ntoa F
+GLIBC_2.3 inet_ntop F
+GLIBC_2.3 inet_pton F
+GLIBC_2.3 init_module F
+GLIBC_2.3 initgroups F
+GLIBC_2.3 initstate F
+GLIBC_2.3 initstate_r F
+GLIBC_2.3 innetgr F
+GLIBC_2.3 insque F
+GLIBC_2.3 ioctl F
+GLIBC_2.3 iruserok F
+GLIBC_2.3 iruserok_af F
+GLIBC_2.3 isalnum F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isascii F
+GLIBC_2.3 isastream F
+GLIBC_2.3 isatty F
+GLIBC_2.3 isblank F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isfdtype F
+GLIBC_2.3 isgraph F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 isinf F
+GLIBC_2.3 isinff F
+GLIBC_2.3 isinfl F
+GLIBC_2.3 islower F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isnan F
+GLIBC_2.3 isnanf F
+GLIBC_2.3 isnanl F
+GLIBC_2.3 isprint F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 jrand48 F
+GLIBC_2.3 jrand48_r F
+GLIBC_2.3 key_decryptsession F
+GLIBC_2.3 key_decryptsession_pk F
+GLIBC_2.3 key_encryptsession F
+GLIBC_2.3 key_encryptsession_pk F
+GLIBC_2.3 key_gendes F
+GLIBC_2.3 key_get_conv F
+GLIBC_2.3 key_secretkey_is_set F
+GLIBC_2.3 key_setnet F
+GLIBC_2.3 key_setsecret F
+GLIBC_2.3 kill F
+GLIBC_2.3 killpg F
+GLIBC_2.3 klogctl F
+GLIBC_2.3 l64a F
+GLIBC_2.3 labs F
+GLIBC_2.3 lchown F
+GLIBC_2.3 lckpwdf F
+GLIBC_2.3 lcong48 F
+GLIBC_2.3 lcong48_r F
+GLIBC_2.3 ldexp F
+GLIBC_2.3 ldexpf F
+GLIBC_2.3 ldexpl F
+GLIBC_2.3 ldiv F
+GLIBC_2.3 lfind F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 link F
+GLIBC_2.3 listen F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llabs F
+GLIBC_2.3 lldiv F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 llseek F
+GLIBC_2.3 loc1 D 0x8
+GLIBC_2.3 loc2 D 0x8
+GLIBC_2.3 localeconv F
+GLIBC_2.3 localtime F
+GLIBC_2.3 localtime_r F
+GLIBC_2.3 lockf F
+GLIBC_2.3 lockf64 F
+GLIBC_2.3 locs D 0x8
+GLIBC_2.3 longjmp F
+GLIBC_2.3 lrand48 F
+GLIBC_2.3 lrand48_r F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsearch F
+GLIBC_2.3 lseek F
+GLIBC_2.3 lseek64 F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 madvise F
+GLIBC_2.3 makecontext F
+GLIBC_2.3 mallinfo F
+GLIBC_2.3 malloc F
+GLIBC_2.3 malloc_get_state F
+GLIBC_2.3 malloc_set_state F
+GLIBC_2.3 malloc_stats F
+GLIBC_2.3 malloc_trim F
+GLIBC_2.3 malloc_usable_size F
+GLIBC_2.3 mallopt F
+GLIBC_2.3 mallwatch D 0x8
+GLIBC_2.3 mblen F
+GLIBC_2.3 mbrlen F
+GLIBC_2.3 mbrtowc F
+GLIBC_2.3 mbsinit F
+GLIBC_2.3 mbsnrtowcs F
+GLIBC_2.3 mbsrtowcs F
+GLIBC_2.3 mbstowcs F
+GLIBC_2.3 mbtowc F
+GLIBC_2.3 mcheck F
+GLIBC_2.3 mcheck_check_all F
+GLIBC_2.3 mcheck_pedantic F
+GLIBC_2.3 memalign F
+GLIBC_2.3 memccpy F
+GLIBC_2.3 memchr F
+GLIBC_2.3 memcmp F
+GLIBC_2.3 memcpy F
+GLIBC_2.3 memfrob F
+GLIBC_2.3 memmem F
+GLIBC_2.3 memmove F
+GLIBC_2.3 mempcpy F
+GLIBC_2.3 memrchr F
+GLIBC_2.3 memset F
+GLIBC_2.3 mincore F
+GLIBC_2.3 mkdir F
+GLIBC_2.3 mkdtemp F
+GLIBC_2.3 mkfifo F
+GLIBC_2.3 mkstemp F
+GLIBC_2.3 mkstemp64 F
+GLIBC_2.3 mktemp F
+GLIBC_2.3 mktime F
+GLIBC_2.3 mlock F
+GLIBC_2.3 mlockall F
+GLIBC_2.3 mmap F
+GLIBC_2.3 mmap64 F
+GLIBC_2.3 modf F
+GLIBC_2.3 modff F
+GLIBC_2.3 modfl F
+GLIBC_2.3 moncontrol F
+GLIBC_2.3 monstartup F
+GLIBC_2.3 mount F
+GLIBC_2.3 mprobe F
+GLIBC_2.3 mprotect F
+GLIBC_2.3 mrand48 F
+GLIBC_2.3 mrand48_r F
+GLIBC_2.3 mremap F
+GLIBC_2.3 msgctl F
+GLIBC_2.3 msgget F
+GLIBC_2.3 msgrcv F
+GLIBC_2.3 msgsnd F
+GLIBC_2.3 msync F
+GLIBC_2.3 mtrace F
+GLIBC_2.3 munlock F
+GLIBC_2.3 munlockall F
+GLIBC_2.3 munmap F
+GLIBC_2.3 muntrace F
+GLIBC_2.3 nanosleep F
+GLIBC_2.3 netname2host F
+GLIBC_2.3 netname2user F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nfsservctl F
+GLIBC_2.3 nftw F
+GLIBC_2.3 nftw64 F
+GLIBC_2.3 ngettext F
+GLIBC_2.3 nice F
+GLIBC_2.3 nl_langinfo F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 nrand48 F
+GLIBC_2.3 nrand48_r F
+GLIBC_2.3 ntohl F
+GLIBC_2.3 ntohs F
+GLIBC_2.3 ntp_adjtime F
+GLIBC_2.3 ntp_gettime F
+GLIBC_2.3 obstack_alloc_failed_handler D 0x8
+GLIBC_2.3 obstack_exit_failure D 0x4
+GLIBC_2.3 obstack_free F
+GLIBC_2.3 obstack_printf F
+GLIBC_2.3 obstack_vprintf F
+GLIBC_2.3 on_exit F
+GLIBC_2.3 open F
+GLIBC_2.3 open64 F
+GLIBC_2.3 open_memstream F
+GLIBC_2.3 opendir F
+GLIBC_2.3 openlog F
+GLIBC_2.3 optarg D 0x8
+GLIBC_2.3 opterr D 0x4
+GLIBC_2.3 optind D 0x4
+GLIBC_2.3 optopt D 0x4
+GLIBC_2.3 parse_printf_format F
+GLIBC_2.3 passwd2des F
+GLIBC_2.3 pathconf F
+GLIBC_2.3 pause F
+GLIBC_2.3 pclose F
+GLIBC_2.3 perror F
+GLIBC_2.3 personality F
+GLIBC_2.3 pipe F
+GLIBC_2.3 pivot_root F
+GLIBC_2.3 pmap_getmaps F
+GLIBC_2.3 pmap_getport F
+GLIBC_2.3 pmap_rmtcall F
+GLIBC_2.3 pmap_set F
+GLIBC_2.3 pmap_unset F
+GLIBC_2.3 poll F
+GLIBC_2.3 popen F
+GLIBC_2.3 posix_fadvise F
+GLIBC_2.3 posix_fadvise64 F
+GLIBC_2.3 posix_fallocate F
+GLIBC_2.3 posix_fallocate64 F
+GLIBC_2.3 posix_madvise F
+GLIBC_2.3 posix_memalign F
+GLIBC_2.3 posix_openpt F
+GLIBC_2.3 posix_spawn F
+GLIBC_2.3 posix_spawn_file_actions_addclose F
+GLIBC_2.3 posix_spawn_file_actions_adddup2 F
+GLIBC_2.3 posix_spawn_file_actions_addopen F
+GLIBC_2.3 posix_spawn_file_actions_destroy F
+GLIBC_2.3 posix_spawn_file_actions_init F
+GLIBC_2.3 posix_spawnattr_destroy F
+GLIBC_2.3 posix_spawnattr_getflags F
+GLIBC_2.3 posix_spawnattr_getpgroup F
+GLIBC_2.3 posix_spawnattr_getschedparam F
+GLIBC_2.3 posix_spawnattr_getschedpolicy F
+GLIBC_2.3 posix_spawnattr_getsigdefault F
+GLIBC_2.3 posix_spawnattr_getsigmask F
+GLIBC_2.3 posix_spawnattr_init F
+GLIBC_2.3 posix_spawnattr_setflags F
+GLIBC_2.3 posix_spawnattr_setpgroup F
+GLIBC_2.3 posix_spawnattr_setschedparam F
+GLIBC_2.3 posix_spawnattr_setschedpolicy F
+GLIBC_2.3 posix_spawnattr_setsigdefault F
+GLIBC_2.3 posix_spawnattr_setsigmask F
+GLIBC_2.3 posix_spawnp F
+GLIBC_2.3 prctl F
+GLIBC_2.3 pread F
+GLIBC_2.3 pread64 F
+GLIBC_2.3 printf F
+GLIBC_2.3 printf_size F
+GLIBC_2.3 printf_size_info F
+GLIBC_2.3 profil F
+GLIBC_2.3 program_invocation_name D 0x8
+GLIBC_2.3 program_invocation_short_name D 0x8
+GLIBC_2.3 pselect F
+GLIBC_2.3 psignal F
+GLIBC_2.3 pthread_attr_destroy F
+GLIBC_2.3 pthread_attr_getdetachstate F
+GLIBC_2.3 pthread_attr_getinheritsched F
+GLIBC_2.3 pthread_attr_getschedparam F
+GLIBC_2.3 pthread_attr_getschedpolicy F
+GLIBC_2.3 pthread_attr_getscope F
+GLIBC_2.3 pthread_attr_init F
+GLIBC_2.3 pthread_attr_setdetachstate F
+GLIBC_2.3 pthread_attr_setinheritsched F
+GLIBC_2.3 pthread_attr_setschedparam F
+GLIBC_2.3 pthread_attr_setschedpolicy F
+GLIBC_2.3 pthread_attr_setscope F
+GLIBC_2.3 pthread_cond_broadcast F
+GLIBC_2.3 pthread_cond_destroy F
+GLIBC_2.3 pthread_cond_init F
+GLIBC_2.3 pthread_cond_signal F
+GLIBC_2.3 pthread_cond_timedwait F
+GLIBC_2.3 pthread_cond_wait F
+GLIBC_2.3 pthread_condattr_destroy F
+GLIBC_2.3 pthread_condattr_init F
+GLIBC_2.3 pthread_equal F
+GLIBC_2.3 pthread_exit F
+GLIBC_2.3 pthread_getschedparam F
+GLIBC_2.3 pthread_mutex_destroy F
+GLIBC_2.3 pthread_mutex_init F
+GLIBC_2.3 pthread_mutex_lock F
+GLIBC_2.3 pthread_mutex_unlock F
+GLIBC_2.3 pthread_self F
+GLIBC_2.3 pthread_setcancelstate F
+GLIBC_2.3 pthread_setcanceltype F
+GLIBC_2.3 pthread_setschedparam F
+GLIBC_2.3 ptrace F
+GLIBC_2.3 ptsname F
+GLIBC_2.3 ptsname_r F
+GLIBC_2.3 putc F
+GLIBC_2.3 putc_unlocked F
+GLIBC_2.3 putchar F
+GLIBC_2.3 putchar_unlocked F
+GLIBC_2.3 putenv F
+GLIBC_2.3 putgrent F
+GLIBC_2.3 putmsg F
+GLIBC_2.3 putpmsg F
+GLIBC_2.3 putpwent F
+GLIBC_2.3 puts F
+GLIBC_2.3 putspent F
+GLIBC_2.3 pututline F
+GLIBC_2.3 pututxline F
+GLIBC_2.3 putw F
+GLIBC_2.3 putwc F
+GLIBC_2.3 putwc_unlocked F
+GLIBC_2.3 putwchar F
+GLIBC_2.3 putwchar_unlocked F
+GLIBC_2.3 pvalloc F
+GLIBC_2.3 pwrite F
+GLIBC_2.3 pwrite64 F
+GLIBC_2.3 qecvt F
+GLIBC_2.3 qecvt_r F
+GLIBC_2.3 qfcvt F
+GLIBC_2.3 qfcvt_r F
+GLIBC_2.3 qgcvt F
+GLIBC_2.3 qsort F
+GLIBC_2.3 query_module F
+GLIBC_2.3 quotactl F
+GLIBC_2.3 raise F
+GLIBC_2.3 rand F
+GLIBC_2.3 rand_r F
+GLIBC_2.3 random F
+GLIBC_2.3 random_r F
+GLIBC_2.3 rawmemchr F
+GLIBC_2.3 rcmd F
+GLIBC_2.3 rcmd_af F
+GLIBC_2.3 re_comp F
+GLIBC_2.3 re_compile_fastmap F
+GLIBC_2.3 re_compile_pattern F
+GLIBC_2.3 re_exec F
+GLIBC_2.3 re_match F
+GLIBC_2.3 re_match_2 F
+GLIBC_2.3 re_search F
+GLIBC_2.3 re_search_2 F
+GLIBC_2.3 re_set_registers F
+GLIBC_2.3 re_set_syntax F
+GLIBC_2.3 re_syntax_options D 0x8
+GLIBC_2.3 read F
+GLIBC_2.3 readahead F
+GLIBC_2.3 readdir F
+GLIBC_2.3 readdir64 F
+GLIBC_2.3 readdir64_r F
+GLIBC_2.3 readdir_r F
+GLIBC_2.3 readlink F
+GLIBC_2.3 readv F
+GLIBC_2.3 realloc F
+GLIBC_2.3 realpath F
+GLIBC_2.3 reboot F
+GLIBC_2.3 recv F
+GLIBC_2.3 recvfrom F
+GLIBC_2.3 recvmsg F
+GLIBC_2.3 regcomp F
+GLIBC_2.3 regerror F
+GLIBC_2.3 regexec F
+GLIBC_2.3 regfree F
+GLIBC_2.3 register_printf_function F
+GLIBC_2.3 registerrpc F
+GLIBC_2.3 remove F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 remque F
+GLIBC_2.3 rename F
+GLIBC_2.3 revoke F
+GLIBC_2.3 rewind F
+GLIBC_2.3 rewinddir F
+GLIBC_2.3 rexec F
+GLIBC_2.3 rexec_af F
+GLIBC_2.3 rexecoptions D 0x4
+GLIBC_2.3 rindex F
+GLIBC_2.3 rmdir F
+GLIBC_2.3 rpc_createerr D 0x20
+GLIBC_2.3 rpmatch F
+GLIBC_2.3 rresvport F
+GLIBC_2.3 rresvport_af F
+GLIBC_2.3 rtime F
+GLIBC_2.3 ruserok F
+GLIBC_2.3 ruserok_af F
+GLIBC_2.3 ruserpass F
+GLIBC_2.3 sbrk F
+GLIBC_2.3 scalbn F
+GLIBC_2.3 scalbnf F
+GLIBC_2.3 scalbnl F
+GLIBC_2.3 scandir F
+GLIBC_2.3 scandir64 F
+GLIBC_2.3 scanf F
+GLIBC_2.3 sched_get_priority_max F
+GLIBC_2.3 sched_get_priority_min F
+GLIBC_2.3 sched_getparam F
+GLIBC_2.3 sched_getscheduler F
+GLIBC_2.3 sched_rr_get_interval F
+GLIBC_2.3 sched_setparam F
+GLIBC_2.3 sched_setscheduler F
+GLIBC_2.3 sched_yield F
+GLIBC_2.3 seed48 F
+GLIBC_2.3 seed48_r F
+GLIBC_2.3 seekdir F
+GLIBC_2.3 select F
+GLIBC_2.3 semctl F
+GLIBC_2.3 semget F
+GLIBC_2.3 semop F
+GLIBC_2.3 send F
+GLIBC_2.3 sendfile F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 sendmsg F
+GLIBC_2.3 sendto F
+GLIBC_2.3 setaliasent F
+GLIBC_2.3 setbuf F
+GLIBC_2.3 setbuffer F
+GLIBC_2.3 setcontext F
+GLIBC_2.3 setdomainname F
+GLIBC_2.3 setegid F
+GLIBC_2.3 setenv F
+GLIBC_2.3 seteuid F
+GLIBC_2.3 setfsent F
+GLIBC_2.3 setfsgid F
+GLIBC_2.3 setfsuid F
+GLIBC_2.3 setgid F
+GLIBC_2.3 setgrent F
+GLIBC_2.3 setgroups F
+GLIBC_2.3 sethostent F
+GLIBC_2.3 sethostid F
+GLIBC_2.3 sethostname F
+GLIBC_2.3 setitimer F
+GLIBC_2.3 setjmp F
+GLIBC_2.3 setlinebuf F
+GLIBC_2.3 setlocale F
+GLIBC_2.3 setlogin F
+GLIBC_2.3 setlogmask F
+GLIBC_2.3 setmntent F
+GLIBC_2.3 setnetent F
+GLIBC_2.3 setnetgrent F
+GLIBC_2.3 setpgid F
+GLIBC_2.3 setpgrp F
+GLIBC_2.3 setpriority F
+GLIBC_2.3 setprotoent F
+GLIBC_2.3 setpwent F
+GLIBC_2.3 setregid F
+GLIBC_2.3 setresgid F
+GLIBC_2.3 setresuid F
+GLIBC_2.3 setreuid F
+GLIBC_2.3 setrlimit F
+GLIBC_2.3 setrlimit64 F
+GLIBC_2.3 setrpcent F
+GLIBC_2.3 setservent F
+GLIBC_2.3 setsid F
+GLIBC_2.3 setsockopt F
+GLIBC_2.3 setspent F
+GLIBC_2.3 setstate F
+GLIBC_2.3 setstate_r F
+GLIBC_2.3 settimeofday F
+GLIBC_2.3 setttyent F
+GLIBC_2.3 setuid F
+GLIBC_2.3 setusershell F
+GLIBC_2.3 setutent F
+GLIBC_2.3 setutxent F
+GLIBC_2.3 setvbuf F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 sgetspent F
+GLIBC_2.3 sgetspent_r F
+GLIBC_2.3 shmat F
+GLIBC_2.3 shmctl F
+GLIBC_2.3 shmdt F
+GLIBC_2.3 shmget F
+GLIBC_2.3 shutdown F
+GLIBC_2.3 sigaction F
+GLIBC_2.3 sigaddset F
+GLIBC_2.3 sigaltstack F
+GLIBC_2.3 sigandset F
+GLIBC_2.3 sigblock F
+GLIBC_2.3 sigdelset F
+GLIBC_2.3 sigemptyset F
+GLIBC_2.3 sigfillset F
+GLIBC_2.3 siggetmask F
+GLIBC_2.3 sighold F
+GLIBC_2.3 sigignore F
+GLIBC_2.3 siginterrupt F
+GLIBC_2.3 sigisemptyset F
+GLIBC_2.3 sigismember F
+GLIBC_2.3 siglongjmp F
+GLIBC_2.3 signal F
+GLIBC_2.3 sigorset F
+GLIBC_2.3 sigpause F
+GLIBC_2.3 sigpending F
+GLIBC_2.3 sigprocmask F
+GLIBC_2.3 sigqueue F
+GLIBC_2.3 sigrelse F
+GLIBC_2.3 sigreturn F
+GLIBC_2.3 sigset F
+GLIBC_2.3 sigsetmask F
+GLIBC_2.3 sigstack F
+GLIBC_2.3 sigsuspend F
+GLIBC_2.3 sigtimedwait F
+GLIBC_2.3 sigvec F
+GLIBC_2.3 sigwait F
+GLIBC_2.3 sigwaitinfo F
+GLIBC_2.3 sleep F
+GLIBC_2.3 snprintf F
+GLIBC_2.3 sockatmark F
+GLIBC_2.3 socket F
+GLIBC_2.3 socketpair F
+GLIBC_2.3 sprintf F
+GLIBC_2.3 sprofil F
+GLIBC_2.3 srand F
+GLIBC_2.3 srand48 F
+GLIBC_2.3 srand48_r F
+GLIBC_2.3 srandom F
+GLIBC_2.3 srandom_r F
+GLIBC_2.3 sscanf F
+GLIBC_2.3 ssignal F
+GLIBC_2.3 sstk F
+GLIBC_2.3 statfs F
+GLIBC_2.3 statfs64 F
+GLIBC_2.3 statvfs F
+GLIBC_2.3 statvfs64 F
+GLIBC_2.3 stderr D 0x8
+GLIBC_2.3 stdin D 0x8
+GLIBC_2.3 stdout D 0x8
+GLIBC_2.3 step F
+GLIBC_2.3 stime F
+GLIBC_2.3 stpcpy F
+GLIBC_2.3 stpncpy F
+GLIBC_2.3 strcasecmp F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcasestr F
+GLIBC_2.3 strcat F
+GLIBC_2.3 strchr F
+GLIBC_2.3 strchrnul F
+GLIBC_2.3 strcmp F
+GLIBC_2.3 strcoll F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strcpy F
+GLIBC_2.3 strcspn F
+GLIBC_2.3 strdup F
+GLIBC_2.3 strerror F
+GLIBC_2.3 strerror_r F
+GLIBC_2.3 strfmon F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strfry F
+GLIBC_2.3 strftime F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strlen F
+GLIBC_2.3 strncasecmp F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strncat F
+GLIBC_2.3 strncmp F
+GLIBC_2.3 strncpy F
+GLIBC_2.3 strndup F
+GLIBC_2.3 strnlen F
+GLIBC_2.3 strpbrk F
+GLIBC_2.3 strptime F
+GLIBC_2.3 strrchr F
+GLIBC_2.3 strsep F
+GLIBC_2.3 strsignal F
+GLIBC_2.3 strspn F
+GLIBC_2.3 strstr F
+GLIBC_2.3 strtod F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtoimax F
+GLIBC_2.3 strtok F
+GLIBC_2.3 strtok_r F
+GLIBC_2.3 strtol F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll F
+GLIBC_2.3 strtoq F
+GLIBC_2.3 strtoul F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull F
+GLIBC_2.3 strtoumax F
+GLIBC_2.3 strtouq F
+GLIBC_2.3 strverscmp F
+GLIBC_2.3 strxfrm F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 stty F
+GLIBC_2.3 svc_exit F
+GLIBC_2.3 svc_fdset D 0x80
+GLIBC_2.3 svc_getreq F
+GLIBC_2.3 svc_getreq_common F
+GLIBC_2.3 svc_getreq_poll F
+GLIBC_2.3 svc_getreqset F
+GLIBC_2.3 svc_max_pollfd D 0x4
+GLIBC_2.3 svc_pollfd D 0x8
+GLIBC_2.3 svc_register F
+GLIBC_2.3 svc_run F
+GLIBC_2.3 svc_sendreply F
+GLIBC_2.3 svc_unregister F
+GLIBC_2.3 svcauthdes_stats D 0x18
+GLIBC_2.3 svcerr_auth F
+GLIBC_2.3 svcerr_decode F
+GLIBC_2.3 svcerr_noproc F
+GLIBC_2.3 svcerr_noprog F
+GLIBC_2.3 svcerr_progvers F
+GLIBC_2.3 svcerr_systemerr F
+GLIBC_2.3 svcerr_weakauth F
+GLIBC_2.3 svcfd_create F
+GLIBC_2.3 svcraw_create F
+GLIBC_2.3 svctcp_create F
+GLIBC_2.3 svcudp_bufcreate F
+GLIBC_2.3 svcudp_create F
+GLIBC_2.3 svcudp_enablecache F
+GLIBC_2.3 svcunix_create F
+GLIBC_2.3 svcunixfd_create F
+GLIBC_2.3 swab F
+GLIBC_2.3 swapcontext F
+GLIBC_2.3 swapoff F
+GLIBC_2.3 swapon F
+GLIBC_2.3 swprintf F
+GLIBC_2.3 swscanf F
+GLIBC_2.3 symlink F
+GLIBC_2.3 sync F
+GLIBC_2.3 sys_errlist D 0x3f0
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 sys_sigabbrev D 0x200
+GLIBC_2.3 sys_siglist D 0x200
+GLIBC_2.3 syscall F
+GLIBC_2.3 sysconf F
+GLIBC_2.3 sysctl F
+GLIBC_2.3 sysinfo F
+GLIBC_2.3 syslog F
+GLIBC_2.3 system F
+GLIBC_2.3 sysv_signal F
+GLIBC_2.3 tcdrain F
+GLIBC_2.3 tcflow F
+GLIBC_2.3 tcflush F
+GLIBC_2.3 tcgetattr F
+GLIBC_2.3 tcgetpgrp F
+GLIBC_2.3 tcgetsid F
+GLIBC_2.3 tcsendbreak F
+GLIBC_2.3 tcsetattr F
+GLIBC_2.3 tcsetpgrp F
+GLIBC_2.3 tdelete F
+GLIBC_2.3 tdestroy F
+GLIBC_2.3 telldir F
+GLIBC_2.3 tempnam F
+GLIBC_2.3 textdomain F
+GLIBC_2.3 tfind F
+GLIBC_2.3 time F
+GLIBC_2.3 timegm F
+GLIBC_2.3 timelocal F
+GLIBC_2.3 times F
+GLIBC_2.3 timezone D 0x8
+GLIBC_2.3 tmpfile F
+GLIBC_2.3 tmpfile64 F
+GLIBC_2.3 tmpnam F
+GLIBC_2.3 tmpnam_r F
+GLIBC_2.3 toascii F
+GLIBC_2.3 tolower F
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 tr_break F
+GLIBC_2.3 truncate F
+GLIBC_2.3 truncate64 F
+GLIBC_2.3 tsearch F
+GLIBC_2.3 ttyname F
+GLIBC_2.3 ttyname_r F
+GLIBC_2.3 ttyslot F
+GLIBC_2.3 twalk F
+GLIBC_2.3 tzname D 0x10
+GLIBC_2.3 tzset F
+GLIBC_2.3 ualarm F
+GLIBC_2.3 ulckpwdf F
+GLIBC_2.3 ulimit F
+GLIBC_2.3 umask F
+GLIBC_2.3 umount F
+GLIBC_2.3 umount2 F
+GLIBC_2.3 uname F
+GLIBC_2.3 ungetc F
+GLIBC_2.3 ungetwc F
+GLIBC_2.3 unlink F
+GLIBC_2.3 unlockpt F
+GLIBC_2.3 unsetenv F
+GLIBC_2.3 updwtmp F
+GLIBC_2.3 updwtmpx F
+GLIBC_2.3 uselib F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 user2netname F
+GLIBC_2.3 usleep F
+GLIBC_2.3 ustat F
+GLIBC_2.3 utime F
+GLIBC_2.3 utimes F
+GLIBC_2.3 utmpname F
+GLIBC_2.3 utmpxname F
+GLIBC_2.3 valloc F
+GLIBC_2.3 vasprintf F
+GLIBC_2.3 vdprintf F
+GLIBC_2.3 verr F
+GLIBC_2.3 verrx F
+GLIBC_2.3 versionsort F
+GLIBC_2.3 versionsort64 F
+GLIBC_2.3 vfork F
+GLIBC_2.3 vfprintf F
+GLIBC_2.3 vfscanf F
+GLIBC_2.3 vfwprintf F
+GLIBC_2.3 vfwscanf F
+GLIBC_2.3 vhangup F
+GLIBC_2.3 vlimit F
+GLIBC_2.3 vprintf F
+GLIBC_2.3 vscanf F
+GLIBC_2.3 vsnprintf F
+GLIBC_2.3 vsprintf F
+GLIBC_2.3 vsscanf F
+GLIBC_2.3 vswprintf F
+GLIBC_2.3 vswscanf F
+GLIBC_2.3 vsyslog F
+GLIBC_2.3 vtimes F
+GLIBC_2.3 vwarn F
+GLIBC_2.3 vwarnx F
+GLIBC_2.3 vwprintf F
+GLIBC_2.3 vwscanf F
+GLIBC_2.3 wait F
+GLIBC_2.3 wait3 F
+GLIBC_2.3 wait4 F
+GLIBC_2.3 waitid F
+GLIBC_2.3 waitpid F
+GLIBC_2.3 warn F
+GLIBC_2.3 warnx F
+GLIBC_2.3 wcpcpy F
+GLIBC_2.3 wcpncpy F
+GLIBC_2.3 wcrtomb F
+GLIBC_2.3 wcscasecmp F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscat F
+GLIBC_2.3 wcschr F
+GLIBC_2.3 wcschrnul F
+GLIBC_2.3 wcscmp F
+GLIBC_2.3 wcscoll F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcscpy F
+GLIBC_2.3 wcscspn F
+GLIBC_2.3 wcsdup F
+GLIBC_2.3 wcsftime F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcslen F
+GLIBC_2.3 wcsncasecmp F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcsncat F
+GLIBC_2.3 wcsncmp F
+GLIBC_2.3 wcsncpy F
+GLIBC_2.3 wcsnlen F
+GLIBC_2.3 wcsnrtombs F
+GLIBC_2.3 wcspbrk F
+GLIBC_2.3 wcsrchr F
+GLIBC_2.3 wcsrtombs F
+GLIBC_2.3 wcsspn F
+GLIBC_2.3 wcsstr F
+GLIBC_2.3 wcstod F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstoimax F
+GLIBC_2.3 wcstok F
+GLIBC_2.3 wcstol F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstombs F
+GLIBC_2.3 wcstoq F
+GLIBC_2.3 wcstoul F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcstoumax F
+GLIBC_2.3 wcstouq F
+GLIBC_2.3 wcswcs F
+GLIBC_2.3 wcswidth F
+GLIBC_2.3 wcsxfrm F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctob F
+GLIBC_2.3 wctomb F
+GLIBC_2.3 wctrans F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3 wcwidth F
+GLIBC_2.3 wmemchr F
+GLIBC_2.3 wmemcmp F
+GLIBC_2.3 wmemcpy F
+GLIBC_2.3 wmemmove F
+GLIBC_2.3 wmempcpy F
+GLIBC_2.3 wmemset F
+GLIBC_2.3 wordexp F
+GLIBC_2.3 wordfree F
+GLIBC_2.3 wprintf F
+GLIBC_2.3 write F
+GLIBC_2.3 writev F
+GLIBC_2.3 wscanf F
+GLIBC_2.3 xdecrypt F
+GLIBC_2.3 xdr_accepted_reply F
+GLIBC_2.3 xdr_array F
+GLIBC_2.3 xdr_authdes_cred F
+GLIBC_2.3 xdr_authdes_verf F
+GLIBC_2.3 xdr_authunix_parms F
+GLIBC_2.3 xdr_bool F
+GLIBC_2.3 xdr_bytes F
+GLIBC_2.3 xdr_callhdr F
+GLIBC_2.3 xdr_callmsg F
+GLIBC_2.3 xdr_char F
+GLIBC_2.3 xdr_cryptkeyarg F
+GLIBC_2.3 xdr_cryptkeyarg2 F
+GLIBC_2.3 xdr_cryptkeyres F
+GLIBC_2.3 xdr_des_block F
+GLIBC_2.3 xdr_double F
+GLIBC_2.3 xdr_enum F
+GLIBC_2.3 xdr_float F
+GLIBC_2.3 xdr_free F
+GLIBC_2.3 xdr_getcredres F
+GLIBC_2.3 xdr_hyper F
+GLIBC_2.3 xdr_int F
+GLIBC_2.3 xdr_int16_t F
+GLIBC_2.3 xdr_int32_t F
+GLIBC_2.3 xdr_int64_t F
+GLIBC_2.3 xdr_int8_t F
+GLIBC_2.3 xdr_key_netstarg F
+GLIBC_2.3 xdr_key_netstres F
+GLIBC_2.3 xdr_keybuf F
+GLIBC_2.3 xdr_keystatus F
+GLIBC_2.3 xdr_long F
+GLIBC_2.3 xdr_longlong_t F
+GLIBC_2.3 xdr_netnamestr F
+GLIBC_2.3 xdr_netobj F
+GLIBC_2.3 xdr_opaque F
+GLIBC_2.3 xdr_opaque_auth F
+GLIBC_2.3 xdr_pmap F
+GLIBC_2.3 xdr_pmaplist F
+GLIBC_2.3 xdr_pointer F
+GLIBC_2.3 xdr_reference F
+GLIBC_2.3 xdr_rejected_reply F
+GLIBC_2.3 xdr_replymsg F
+GLIBC_2.3 xdr_rmtcall_args F
+GLIBC_2.3 xdr_rmtcallres F
+GLIBC_2.3 xdr_short F
+GLIBC_2.3 xdr_sizeof F
+GLIBC_2.3 xdr_string F
+GLIBC_2.3 xdr_u_char F
+GLIBC_2.3 xdr_u_hyper F
+GLIBC_2.3 xdr_u_int F
+GLIBC_2.3 xdr_u_long F
+GLIBC_2.3 xdr_u_longlong_t F
+GLIBC_2.3 xdr_u_short F
+GLIBC_2.3 xdr_uint16_t F
+GLIBC_2.3 xdr_uint32_t F
+GLIBC_2.3 xdr_uint64_t F
+GLIBC_2.3 xdr_uint8_t F
+GLIBC_2.3 xdr_union F
+GLIBC_2.3 xdr_unixcred F
+GLIBC_2.3 xdr_vector F
+GLIBC_2.3 xdr_void F
+GLIBC_2.3 xdr_wrapstring F
+GLIBC_2.3 xdrmem_create F
+GLIBC_2.3 xdrrec_create F
+GLIBC_2.3 xdrrec_endofrecord F
+GLIBC_2.3 xdrrec_eof F
+GLIBC_2.3 xdrrec_skiprecord F
+GLIBC_2.3 xdrstdio_create F
+GLIBC_2.3 xencrypt F
+GLIBC_2.3 xprt_register F
+GLIBC_2.3 xprt_unregister 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 __sigsetjmp 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 _longjmp F
+GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 getcontext F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 longjmp 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 setcontext F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setjmp F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 siglongjmp F
+GLIBC_2.3.4 swapcontext 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 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l 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 0x420
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x420
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/powerpc/powerpc64/libcrypt-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist
new file mode 100644
index 0000000000..58944b3d83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 crypt F
+GLIBC_2.17 crypt_r F
+GLIBC_2.17 encrypt F
+GLIBC_2.17 encrypt_r F
+GLIBC_2.17 fcrypt F
+GLIBC_2.17 setkey F
+GLIBC_2.17 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist
new file mode 100644
index 0000000000..52cf1ac766
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 crypt F
+GLIBC_2.3 crypt_r F
+GLIBC_2.3 encrypt F
+GLIBC_2.3 encrypt_r F
+GLIBC_2.3 fcrypt F
+GLIBC_2.3 setkey F
+GLIBC_2.3 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist
new file mode 100644
index 0000000000..1b4b1f77ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 dladdr F
+GLIBC_2.17 dladdr1 F
+GLIBC_2.17 dlclose F
+GLIBC_2.17 dlerror F
+GLIBC_2.17 dlinfo F
+GLIBC_2.17 dlmopen F
+GLIBC_2.17 dlopen F
+GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist
new file mode 100644
index 0000000000..764ddc1c19
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 dladdr F
+GLIBC_2.3 dlclose F
+GLIBC_2.3 dlerror F
+GLIBC_2.3 dlopen F
+GLIBC_2.3 dlsym F
+GLIBC_2.3 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/powerpc/powerpc64/libm-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
new file mode 100644
index 0000000000..9658ded223
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
@@ -0,0 +1,469 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _LIB_VERSION D 0x4
+GLIBC_2.17 __acos_finite F
+GLIBC_2.17 __acosf_finite F
+GLIBC_2.17 __acosh_finite F
+GLIBC_2.17 __acoshf_finite F
+GLIBC_2.17 __acoshl_finite F
+GLIBC_2.17 __acosl_finite F
+GLIBC_2.17 __asin_finite F
+GLIBC_2.17 __asinf_finite F
+GLIBC_2.17 __asinl_finite F
+GLIBC_2.17 __atan2_finite F
+GLIBC_2.17 __atan2f_finite F
+GLIBC_2.17 __atan2l_finite F
+GLIBC_2.17 __atanh_finite F
+GLIBC_2.17 __atanhf_finite F
+GLIBC_2.17 __atanhl_finite F
+GLIBC_2.17 __clog10 F
+GLIBC_2.17 __clog10f F
+GLIBC_2.17 __clog10l F
+GLIBC_2.17 __cosh_finite F
+GLIBC_2.17 __coshf_finite F
+GLIBC_2.17 __coshl_finite F
+GLIBC_2.17 __exp10_finite F
+GLIBC_2.17 __exp10f_finite F
+GLIBC_2.17 __exp10l_finite F
+GLIBC_2.17 __exp2_finite F
+GLIBC_2.17 __exp2f_finite F
+GLIBC_2.17 __exp2l_finite F
+GLIBC_2.17 __exp_finite F
+GLIBC_2.17 __expf_finite F
+GLIBC_2.17 __expl_finite F
+GLIBC_2.17 __fe_dfl_env D 0x8
+GLIBC_2.17 __fe_enabled_env D 0x8
+GLIBC_2.17 __fe_nomask_env F
+GLIBC_2.17 __fe_nonieee_env D 0x8
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __fmod_finite F
+GLIBC_2.17 __fmodf_finite F
+GLIBC_2.17 __fmodl_finite F
+GLIBC_2.17 __fpclassify F
+GLIBC_2.17 __fpclassifyf F
+GLIBC_2.17 __fpclassifyl F
+GLIBC_2.17 __gamma_r_finite F
+GLIBC_2.17 __gammaf_r_finite F
+GLIBC_2.17 __gammal_r_finite F
+GLIBC_2.17 __hypot_finite F
+GLIBC_2.17 __hypotf_finite F
+GLIBC_2.17 __hypotl_finite F
+GLIBC_2.17 __j0_finite F
+GLIBC_2.17 __j0f_finite F
+GLIBC_2.17 __j0l_finite F
+GLIBC_2.17 __j1_finite F
+GLIBC_2.17 __j1f_finite F
+GLIBC_2.17 __j1l_finite F
+GLIBC_2.17 __jn_finite F
+GLIBC_2.17 __jnf_finite F
+GLIBC_2.17 __jnl_finite F
+GLIBC_2.17 __lgamma_r_finite F
+GLIBC_2.17 __lgammaf_r_finite F
+GLIBC_2.17 __lgammal_r_finite F
+GLIBC_2.17 __log10_finite F
+GLIBC_2.17 __log10f_finite F
+GLIBC_2.17 __log10l_finite F
+GLIBC_2.17 __log2_finite F
+GLIBC_2.17 __log2f_finite F
+GLIBC_2.17 __log2l_finite F
+GLIBC_2.17 __log_finite F
+GLIBC_2.17 __logf_finite F
+GLIBC_2.17 __logl_finite F
+GLIBC_2.17 __nldbl_nexttowardf F
+GLIBC_2.17 __pow_finite F
+GLIBC_2.17 __powf_finite F
+GLIBC_2.17 __powl_finite F
+GLIBC_2.17 __remainder_finite F
+GLIBC_2.17 __remainderf_finite F
+GLIBC_2.17 __remainderl_finite F
+GLIBC_2.17 __scalb_finite F
+GLIBC_2.17 __scalbf_finite F
+GLIBC_2.17 __scalbl_finite F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sinh_finite F
+GLIBC_2.17 __sinhf_finite F
+GLIBC_2.17 __sinhl_finite F
+GLIBC_2.17 __sqrt_finite F
+GLIBC_2.17 __sqrtf_finite F
+GLIBC_2.17 __sqrtl_finite F
+GLIBC_2.17 __y0_finite F
+GLIBC_2.17 __y0f_finite F
+GLIBC_2.17 __y0l_finite F
+GLIBC_2.17 __y1_finite F
+GLIBC_2.17 __y1f_finite F
+GLIBC_2.17 __y1l_finite F
+GLIBC_2.17 __yn_finite F
+GLIBC_2.17 __ynf_finite F
+GLIBC_2.17 __ynl_finite F
+GLIBC_2.17 acos F
+GLIBC_2.17 acosf F
+GLIBC_2.17 acosh F
+GLIBC_2.17 acoshf F
+GLIBC_2.17 acoshl F
+GLIBC_2.17 acosl F
+GLIBC_2.17 asin F
+GLIBC_2.17 asinf F
+GLIBC_2.17 asinh F
+GLIBC_2.17 asinhf F
+GLIBC_2.17 asinhl F
+GLIBC_2.17 asinl F
+GLIBC_2.17 atan F
+GLIBC_2.17 atan2 F
+GLIBC_2.17 atan2f F
+GLIBC_2.17 atan2l F
+GLIBC_2.17 atanf F
+GLIBC_2.17 atanh F
+GLIBC_2.17 atanhf F
+GLIBC_2.17 atanhl F
+GLIBC_2.17 atanl F
+GLIBC_2.17 cabs F
+GLIBC_2.17 cabsf F
+GLIBC_2.17 cabsl F
+GLIBC_2.17 cacos F
+GLIBC_2.17 cacosf F
+GLIBC_2.17 cacosh F
+GLIBC_2.17 cacoshf F
+GLIBC_2.17 cacoshl F
+GLIBC_2.17 cacosl F
+GLIBC_2.17 carg F
+GLIBC_2.17 cargf F
+GLIBC_2.17 cargl F
+GLIBC_2.17 casin F
+GLIBC_2.17 casinf F
+GLIBC_2.17 casinh F
+GLIBC_2.17 casinhf F
+GLIBC_2.17 casinhl F
+GLIBC_2.17 casinl F
+GLIBC_2.17 catan F
+GLIBC_2.17 catanf F
+GLIBC_2.17 catanh F
+GLIBC_2.17 catanhf F
+GLIBC_2.17 catanhl F
+GLIBC_2.17 catanl F
+GLIBC_2.17 cbrt F
+GLIBC_2.17 cbrtf F
+GLIBC_2.17 cbrtl F
+GLIBC_2.17 ccos F
+GLIBC_2.17 ccosf F
+GLIBC_2.17 ccosh F
+GLIBC_2.17 ccoshf F
+GLIBC_2.17 ccoshl F
+GLIBC_2.17 ccosl F
+GLIBC_2.17 ceil F
+GLIBC_2.17 ceilf F
+GLIBC_2.17 ceill F
+GLIBC_2.17 cexp F
+GLIBC_2.17 cexpf F
+GLIBC_2.17 cexpl F
+GLIBC_2.17 cimag F
+GLIBC_2.17 cimagf F
+GLIBC_2.17 cimagl F
+GLIBC_2.17 clog F
+GLIBC_2.17 clog10 F
+GLIBC_2.17 clog10f F
+GLIBC_2.17 clog10l F
+GLIBC_2.17 clogf F
+GLIBC_2.17 clogl F
+GLIBC_2.17 conj F
+GLIBC_2.17 conjf F
+GLIBC_2.17 conjl F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 cos F
+GLIBC_2.17 cosf F
+GLIBC_2.17 cosh F
+GLIBC_2.17 coshf F
+GLIBC_2.17 coshl F
+GLIBC_2.17 cosl F
+GLIBC_2.17 cpow F
+GLIBC_2.17 cpowf F
+GLIBC_2.17 cpowl F
+GLIBC_2.17 cproj F
+GLIBC_2.17 cprojf F
+GLIBC_2.17 cprojl F
+GLIBC_2.17 creal F
+GLIBC_2.17 crealf F
+GLIBC_2.17 creall F
+GLIBC_2.17 csin F
+GLIBC_2.17 csinf F
+GLIBC_2.17 csinh F
+GLIBC_2.17 csinhf F
+GLIBC_2.17 csinhl F
+GLIBC_2.17 csinl F
+GLIBC_2.17 csqrt F
+GLIBC_2.17 csqrtf F
+GLIBC_2.17 csqrtl F
+GLIBC_2.17 ctan F
+GLIBC_2.17 ctanf F
+GLIBC_2.17 ctanh F
+GLIBC_2.17 ctanhf F
+GLIBC_2.17 ctanhl F
+GLIBC_2.17 ctanl F
+GLIBC_2.17 drem F
+GLIBC_2.17 dremf F
+GLIBC_2.17 dreml F
+GLIBC_2.17 erf F
+GLIBC_2.17 erfc F
+GLIBC_2.17 erfcf F
+GLIBC_2.17 erfcl F
+GLIBC_2.17 erff F
+GLIBC_2.17 erfl F
+GLIBC_2.17 exp F
+GLIBC_2.17 exp10 F
+GLIBC_2.17 exp10f F
+GLIBC_2.17 exp10l F
+GLIBC_2.17 exp2 F
+GLIBC_2.17 exp2f F
+GLIBC_2.17 exp2l F
+GLIBC_2.17 expf F
+GLIBC_2.17 expl F
+GLIBC_2.17 expm1 F
+GLIBC_2.17 expm1f F
+GLIBC_2.17 expm1l F
+GLIBC_2.17 fabs F
+GLIBC_2.17 fabsf F
+GLIBC_2.17 fabsl F
+GLIBC_2.17 fdim F
+GLIBC_2.17 fdimf F
+GLIBC_2.17 fdiml F
+GLIBC_2.17 feclearexcept F
+GLIBC_2.17 fedisableexcept F
+GLIBC_2.17 feenableexcept F
+GLIBC_2.17 fegetenv F
+GLIBC_2.17 fegetexcept F
+GLIBC_2.17 fegetexceptflag F
+GLIBC_2.17 fegetround F
+GLIBC_2.17 feholdexcept F
+GLIBC_2.17 feraiseexcept F
+GLIBC_2.17 fesetenv F
+GLIBC_2.17 fesetexceptflag F
+GLIBC_2.17 fesetround F
+GLIBC_2.17 fetestexcept F
+GLIBC_2.17 feupdateenv F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 floor F
+GLIBC_2.17 floorf F
+GLIBC_2.17 floorl F
+GLIBC_2.17 fma F
+GLIBC_2.17 fmaf F
+GLIBC_2.17 fmal F
+GLIBC_2.17 fmax F
+GLIBC_2.17 fmaxf F
+GLIBC_2.17 fmaxl F
+GLIBC_2.17 fmin F
+GLIBC_2.17 fminf F
+GLIBC_2.17 fminl F
+GLIBC_2.17 fmod F
+GLIBC_2.17 fmodf F
+GLIBC_2.17 fmodl F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 gamma F
+GLIBC_2.17 gammaf F
+GLIBC_2.17 gammal F
+GLIBC_2.17 hypot F
+GLIBC_2.17 hypotf F
+GLIBC_2.17 hypotl F
+GLIBC_2.17 ilogb F
+GLIBC_2.17 ilogbf F
+GLIBC_2.17 ilogbl F
+GLIBC_2.17 j0 F
+GLIBC_2.17 j0f F
+GLIBC_2.17 j0l F
+GLIBC_2.17 j1 F
+GLIBC_2.17 j1f F
+GLIBC_2.17 j1l F
+GLIBC_2.17 jn F
+GLIBC_2.17 jnf F
+GLIBC_2.17 jnl F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 lgamma F
+GLIBC_2.17 lgamma_r F
+GLIBC_2.17 lgammaf F
+GLIBC_2.17 lgammaf_r F
+GLIBC_2.17 lgammal F
+GLIBC_2.17 lgammal_r F
+GLIBC_2.17 llrint F
+GLIBC_2.17 llrintf F
+GLIBC_2.17 llrintl F
+GLIBC_2.17 llround F
+GLIBC_2.17 llroundf F
+GLIBC_2.17 llroundl F
+GLIBC_2.17 log F
+GLIBC_2.17 log10 F
+GLIBC_2.17 log10f F
+GLIBC_2.17 log10l F
+GLIBC_2.17 log1p F
+GLIBC_2.17 log1pf F
+GLIBC_2.17 log1pl F
+GLIBC_2.17 log2 F
+GLIBC_2.17 log2f F
+GLIBC_2.17 log2l F
+GLIBC_2.17 logb F
+GLIBC_2.17 logbf F
+GLIBC_2.17 logbl F
+GLIBC_2.17 logf F
+GLIBC_2.17 logl F
+GLIBC_2.17 lrint F
+GLIBC_2.17 lrintf F
+GLIBC_2.17 lrintl F
+GLIBC_2.17 lround F
+GLIBC_2.17 lroundf F
+GLIBC_2.17 lroundl F
+GLIBC_2.17 matherr F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 nan F
+GLIBC_2.17 nanf F
+GLIBC_2.17 nanl F
+GLIBC_2.17 nearbyint F
+GLIBC_2.17 nearbyintf F
+GLIBC_2.17 nearbyintl F
+GLIBC_2.17 nextafter F
+GLIBC_2.17 nextafterf F
+GLIBC_2.17 nextafterl F
+GLIBC_2.17 nexttoward F
+GLIBC_2.17 nexttowardf F
+GLIBC_2.17 nexttowardl F
+GLIBC_2.17 pow F
+GLIBC_2.17 pow10 F
+GLIBC_2.17 pow10f F
+GLIBC_2.17 pow10l F
+GLIBC_2.17 powf F
+GLIBC_2.17 powl F
+GLIBC_2.17 remainder F
+GLIBC_2.17 remainderf F
+GLIBC_2.17 remainderl F
+GLIBC_2.17 remquo F
+GLIBC_2.17 remquof F
+GLIBC_2.17 remquol F
+GLIBC_2.17 rint F
+GLIBC_2.17 rintf F
+GLIBC_2.17 rintl F
+GLIBC_2.17 round F
+GLIBC_2.17 roundf F
+GLIBC_2.17 roundl F
+GLIBC_2.17 scalb F
+GLIBC_2.17 scalbf F
+GLIBC_2.17 scalbl F
+GLIBC_2.17 scalbln F
+GLIBC_2.17 scalblnf F
+GLIBC_2.17 scalblnl F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 signgam D 0x4
+GLIBC_2.17 significand F
+GLIBC_2.17 significandf F
+GLIBC_2.17 significandl F
+GLIBC_2.17 sin F
+GLIBC_2.17 sincos F
+GLIBC_2.17 sincosf F
+GLIBC_2.17 sincosl F
+GLIBC_2.17 sinf F
+GLIBC_2.17 sinh F
+GLIBC_2.17 sinhf F
+GLIBC_2.17 sinhl F
+GLIBC_2.17 sinl F
+GLIBC_2.17 sqrt F
+GLIBC_2.17 sqrtf F
+GLIBC_2.17 sqrtl F
+GLIBC_2.17 tan F
+GLIBC_2.17 tanf F
+GLIBC_2.17 tanh F
+GLIBC_2.17 tanhf F
+GLIBC_2.17 tanhl F
+GLIBC_2.17 tanl F
+GLIBC_2.17 tgamma F
+GLIBC_2.17 tgammaf F
+GLIBC_2.17 tgammal F
+GLIBC_2.17 trunc F
+GLIBC_2.17 truncf F
+GLIBC_2.17 truncl F
+GLIBC_2.17 y0 F
+GLIBC_2.17 y0f F
+GLIBC_2.17 y0l F
+GLIBC_2.17 y1 F
+GLIBC_2.17 y1f F
+GLIBC_2.17 y1l F
+GLIBC_2.17 yn F
+GLIBC_2.17 ynf F
+GLIBC_2.17 ynl F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __fe_dfl_mode D 0x8
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
new file mode 100644
index 0000000000..afd381791a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
@@ -0,0 +1,569 @@
+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.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 __fe_dfl_mode D 0x8
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 _LIB_VERSION D 0x4
+GLIBC_2.3 __clog10 F
+GLIBC_2.3 __clog10f F
+GLIBC_2.3 __clog10l F
+GLIBC_2.3 __fe_dfl_env D 0x8
+GLIBC_2.3 __fe_enabled_env D 0x8
+GLIBC_2.3 __fe_nomask_env F
+GLIBC_2.3 __fe_nonieee_env D 0x8
+GLIBC_2.3 __finite F
+GLIBC_2.3 __finitef F
+GLIBC_2.3 __finitel F
+GLIBC_2.3 __fpclassify F
+GLIBC_2.3 __fpclassifyf F
+GLIBC_2.3 __signbit F
+GLIBC_2.3 __signbitf F
+GLIBC_2.3 acos F
+GLIBC_2.3 acosf F
+GLIBC_2.3 acosh F
+GLIBC_2.3 acoshf F
+GLIBC_2.3 acoshl F
+GLIBC_2.3 acosl F
+GLIBC_2.3 asin F
+GLIBC_2.3 asinf F
+GLIBC_2.3 asinh F
+GLIBC_2.3 asinhf F
+GLIBC_2.3 asinhl F
+GLIBC_2.3 asinl F
+GLIBC_2.3 atan F
+GLIBC_2.3 atan2 F
+GLIBC_2.3 atan2f F
+GLIBC_2.3 atan2l F
+GLIBC_2.3 atanf F
+GLIBC_2.3 atanh F
+GLIBC_2.3 atanhf F
+GLIBC_2.3 atanhl F
+GLIBC_2.3 atanl F
+GLIBC_2.3 cabs F
+GLIBC_2.3 cabsf F
+GLIBC_2.3 cabsl F
+GLIBC_2.3 cacos F
+GLIBC_2.3 cacosf F
+GLIBC_2.3 cacosh F
+GLIBC_2.3 cacoshf F
+GLIBC_2.3 cacoshl F
+GLIBC_2.3 cacosl F
+GLIBC_2.3 carg F
+GLIBC_2.3 cargf F
+GLIBC_2.3 cargl F
+GLIBC_2.3 casin F
+GLIBC_2.3 casinf F
+GLIBC_2.3 casinh F
+GLIBC_2.3 casinhf F
+GLIBC_2.3 casinhl F
+GLIBC_2.3 casinl F
+GLIBC_2.3 catan F
+GLIBC_2.3 catanf F
+GLIBC_2.3 catanh F
+GLIBC_2.3 catanhf F
+GLIBC_2.3 catanhl F
+GLIBC_2.3 catanl F
+GLIBC_2.3 cbrt F
+GLIBC_2.3 cbrtf F
+GLIBC_2.3 cbrtl F
+GLIBC_2.3 ccos F
+GLIBC_2.3 ccosf F
+GLIBC_2.3 ccosh F
+GLIBC_2.3 ccoshf F
+GLIBC_2.3 ccoshl F
+GLIBC_2.3 ccosl F
+GLIBC_2.3 ceil F
+GLIBC_2.3 ceilf F
+GLIBC_2.3 ceill F
+GLIBC_2.3 cexp F
+GLIBC_2.3 cexpf F
+GLIBC_2.3 cexpl F
+GLIBC_2.3 cimag F
+GLIBC_2.3 cimagf F
+GLIBC_2.3 cimagl F
+GLIBC_2.3 clog F
+GLIBC_2.3 clog10 F
+GLIBC_2.3 clog10f F
+GLIBC_2.3 clog10l F
+GLIBC_2.3 clogf F
+GLIBC_2.3 clogl F
+GLIBC_2.3 conj F
+GLIBC_2.3 conjf F
+GLIBC_2.3 conjl F
+GLIBC_2.3 copysign F
+GLIBC_2.3 copysignf F
+GLIBC_2.3 copysignl F
+GLIBC_2.3 cos F
+GLIBC_2.3 cosf F
+GLIBC_2.3 cosh F
+GLIBC_2.3 coshf F
+GLIBC_2.3 coshl F
+GLIBC_2.3 cosl F
+GLIBC_2.3 cpow F
+GLIBC_2.3 cpowf F
+GLIBC_2.3 cpowl F
+GLIBC_2.3 cproj F
+GLIBC_2.3 cprojf F
+GLIBC_2.3 cprojl F
+GLIBC_2.3 creal F
+GLIBC_2.3 crealf F
+GLIBC_2.3 creall F
+GLIBC_2.3 csin F
+GLIBC_2.3 csinf F
+GLIBC_2.3 csinh F
+GLIBC_2.3 csinhf F
+GLIBC_2.3 csinhl F
+GLIBC_2.3 csinl F
+GLIBC_2.3 csqrt F
+GLIBC_2.3 csqrtf F
+GLIBC_2.3 csqrtl F
+GLIBC_2.3 ctan F
+GLIBC_2.3 ctanf F
+GLIBC_2.3 ctanh F
+GLIBC_2.3 ctanhf F
+GLIBC_2.3 ctanhl F
+GLIBC_2.3 ctanl F
+GLIBC_2.3 drem F
+GLIBC_2.3 dremf F
+GLIBC_2.3 dreml F
+GLIBC_2.3 erf F
+GLIBC_2.3 erfc F
+GLIBC_2.3 erfcf F
+GLIBC_2.3 erfcl F
+GLIBC_2.3 erff F
+GLIBC_2.3 erfl F
+GLIBC_2.3 exp F
+GLIBC_2.3 exp10 F
+GLIBC_2.3 exp10f F
+GLIBC_2.3 exp10l F
+GLIBC_2.3 exp2 F
+GLIBC_2.3 exp2f F
+GLIBC_2.3 expf F
+GLIBC_2.3 expl F
+GLIBC_2.3 expm1 F
+GLIBC_2.3 expm1f F
+GLIBC_2.3 expm1l F
+GLIBC_2.3 fabs F
+GLIBC_2.3 fabsf F
+GLIBC_2.3 fabsl F
+GLIBC_2.3 fdim F
+GLIBC_2.3 fdimf F
+GLIBC_2.3 fdiml F
+GLIBC_2.3 feclearexcept F
+GLIBC_2.3 fedisableexcept F
+GLIBC_2.3 feenableexcept F
+GLIBC_2.3 fegetenv F
+GLIBC_2.3 fegetexcept F
+GLIBC_2.3 fegetexceptflag F
+GLIBC_2.3 fegetround F
+GLIBC_2.3 feholdexcept F
+GLIBC_2.3 feraiseexcept F
+GLIBC_2.3 fesetenv F
+GLIBC_2.3 fesetexceptflag F
+GLIBC_2.3 fesetround F
+GLIBC_2.3 fetestexcept F
+GLIBC_2.3 feupdateenv F
+GLIBC_2.3 finite F
+GLIBC_2.3 finitef F
+GLIBC_2.3 finitel F
+GLIBC_2.3 floor F
+GLIBC_2.3 floorf F
+GLIBC_2.3 floorl F
+GLIBC_2.3 fma F
+GLIBC_2.3 fmaf F
+GLIBC_2.3 fmal F
+GLIBC_2.3 fmax F
+GLIBC_2.3 fmaxf F
+GLIBC_2.3 fmaxl F
+GLIBC_2.3 fmin F
+GLIBC_2.3 fminf F
+GLIBC_2.3 fminl F
+GLIBC_2.3 fmod F
+GLIBC_2.3 fmodf F
+GLIBC_2.3 fmodl F
+GLIBC_2.3 frexp F
+GLIBC_2.3 frexpf F
+GLIBC_2.3 frexpl F
+GLIBC_2.3 gamma F
+GLIBC_2.3 gammaf F
+GLIBC_2.3 gammal F
+GLIBC_2.3 hypot F
+GLIBC_2.3 hypotf F
+GLIBC_2.3 hypotl F
+GLIBC_2.3 ilogb F
+GLIBC_2.3 ilogbf F
+GLIBC_2.3 ilogbl F
+GLIBC_2.3 j0 F
+GLIBC_2.3 j0f F
+GLIBC_2.3 j0l F
+GLIBC_2.3 j1 F
+GLIBC_2.3 j1f F
+GLIBC_2.3 j1l F
+GLIBC_2.3 jn F
+GLIBC_2.3 jnf F
+GLIBC_2.3 jnl F
+GLIBC_2.3 ldexp F
+GLIBC_2.3 ldexpf F
+GLIBC_2.3 ldexpl F
+GLIBC_2.3 lgamma F
+GLIBC_2.3 lgamma_r F
+GLIBC_2.3 lgammaf F
+GLIBC_2.3 lgammaf_r F
+GLIBC_2.3 lgammal F
+GLIBC_2.3 lgammal_r F
+GLIBC_2.3 llrint F
+GLIBC_2.3 llrintf F
+GLIBC_2.3 llrintl F
+GLIBC_2.3 llround F
+GLIBC_2.3 llroundf F
+GLIBC_2.3 llroundl F
+GLIBC_2.3 log F
+GLIBC_2.3 log10 F
+GLIBC_2.3 log10f F
+GLIBC_2.3 log10l F
+GLIBC_2.3 log1p F
+GLIBC_2.3 log1pf F
+GLIBC_2.3 log1pl F
+GLIBC_2.3 log2 F
+GLIBC_2.3 log2f F
+GLIBC_2.3 log2l F
+GLIBC_2.3 logb F
+GLIBC_2.3 logbf F
+GLIBC_2.3 logbl F
+GLIBC_2.3 logf F
+GLIBC_2.3 logl F
+GLIBC_2.3 lrint F
+GLIBC_2.3 lrintf F
+GLIBC_2.3 lrintl F
+GLIBC_2.3 lround F
+GLIBC_2.3 lroundf F
+GLIBC_2.3 lroundl F
+GLIBC_2.3 matherr F
+GLIBC_2.3 modf F
+GLIBC_2.3 modff F
+GLIBC_2.3 modfl F
+GLIBC_2.3 nan F
+GLIBC_2.3 nanf F
+GLIBC_2.3 nanl F
+GLIBC_2.3 nearbyint F
+GLIBC_2.3 nearbyintf F
+GLIBC_2.3 nearbyintl F
+GLIBC_2.3 nextafter F
+GLIBC_2.3 nextafterf F
+GLIBC_2.3 nextafterl F
+GLIBC_2.3 nexttoward F
+GLIBC_2.3 nexttowardf F
+GLIBC_2.3 nexttowardl F
+GLIBC_2.3 pow F
+GLIBC_2.3 pow10 F
+GLIBC_2.3 pow10f F
+GLIBC_2.3 pow10l F
+GLIBC_2.3 powf F
+GLIBC_2.3 powl F
+GLIBC_2.3 remainder F
+GLIBC_2.3 remainderf F
+GLIBC_2.3 remainderl F
+GLIBC_2.3 remquo F
+GLIBC_2.3 remquof F
+GLIBC_2.3 remquol F
+GLIBC_2.3 rint F
+GLIBC_2.3 rintf F
+GLIBC_2.3 rintl F
+GLIBC_2.3 round F
+GLIBC_2.3 roundf F
+GLIBC_2.3 roundl F
+GLIBC_2.3 scalb F
+GLIBC_2.3 scalbf F
+GLIBC_2.3 scalbl F
+GLIBC_2.3 scalbln F
+GLIBC_2.3 scalblnf F
+GLIBC_2.3 scalblnl F
+GLIBC_2.3 scalbn F
+GLIBC_2.3 scalbnf F
+GLIBC_2.3 scalbnl F
+GLIBC_2.3 signgam D 0x4
+GLIBC_2.3 significand F
+GLIBC_2.3 significandf F
+GLIBC_2.3 significandl F
+GLIBC_2.3 sin F
+GLIBC_2.3 sincos F
+GLIBC_2.3 sincosf F
+GLIBC_2.3 sincosl F
+GLIBC_2.3 sinf F
+GLIBC_2.3 sinh F
+GLIBC_2.3 sinhf F
+GLIBC_2.3 sinhl F
+GLIBC_2.3 sinl F
+GLIBC_2.3 sqrt F
+GLIBC_2.3 sqrtf F
+GLIBC_2.3 sqrtl F
+GLIBC_2.3 tan F
+GLIBC_2.3 tanf F
+GLIBC_2.3 tanh F
+GLIBC_2.3 tanhf F
+GLIBC_2.3 tanhl F
+GLIBC_2.3 tanl F
+GLIBC_2.3 tgamma F
+GLIBC_2.3 tgammaf F
+GLIBC_2.3 tgammal F
+GLIBC_2.3 trunc F
+GLIBC_2.3 truncf F
+GLIBC_2.3 truncl F
+GLIBC_2.3 y0 F
+GLIBC_2.3 y0f F
+GLIBC_2.3 y0l F
+GLIBC_2.3 y1 F
+GLIBC_2.3 y1f F
+GLIBC_2.3 y1l F
+GLIBC_2.3 yn F
+GLIBC_2.3 ynf F
+GLIBC_2.3 ynl F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist
new file mode 100644
index 0000000000..63d47aef79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __free_fdresult F
+GLIBC_2.17 __nis_default_access F
+GLIBC_2.17 __nis_default_group F
+GLIBC_2.17 __nis_default_owner F
+GLIBC_2.17 __nis_default_ttl F
+GLIBC_2.17 __nis_finddirectory F
+GLIBC_2.17 __nis_hash F
+GLIBC_2.17 __nisbind_connect F
+GLIBC_2.17 __nisbind_create F
+GLIBC_2.17 __nisbind_destroy F
+GLIBC_2.17 __nisbind_next F
+GLIBC_2.17 __yp_check F
+GLIBC_2.17 nis_add F
+GLIBC_2.17 nis_add_entry F
+GLIBC_2.17 nis_addmember F
+GLIBC_2.17 nis_checkpoint F
+GLIBC_2.17 nis_clone_directory F
+GLIBC_2.17 nis_clone_object F
+GLIBC_2.17 nis_clone_result F
+GLIBC_2.17 nis_creategroup F
+GLIBC_2.17 nis_destroy_object F
+GLIBC_2.17 nis_destroygroup F
+GLIBC_2.17 nis_dir_cmp F
+GLIBC_2.17 nis_domain_of F
+GLIBC_2.17 nis_domain_of_r F
+GLIBC_2.17 nis_first_entry F
+GLIBC_2.17 nis_free_directory F
+GLIBC_2.17 nis_free_object F
+GLIBC_2.17 nis_free_request F
+GLIBC_2.17 nis_freenames F
+GLIBC_2.17 nis_freeresult F
+GLIBC_2.17 nis_freeservlist F
+GLIBC_2.17 nis_freetags F
+GLIBC_2.17 nis_getnames F
+GLIBC_2.17 nis_getservlist F
+GLIBC_2.17 nis_ismember F
+GLIBC_2.17 nis_leaf_of F
+GLIBC_2.17 nis_leaf_of_r F
+GLIBC_2.17 nis_lerror F
+GLIBC_2.17 nis_list F
+GLIBC_2.17 nis_local_directory F
+GLIBC_2.17 nis_local_group F
+GLIBC_2.17 nis_local_host F
+GLIBC_2.17 nis_local_principal F
+GLIBC_2.17 nis_lookup F
+GLIBC_2.17 nis_mkdir F
+GLIBC_2.17 nis_modify F
+GLIBC_2.17 nis_modify_entry F
+GLIBC_2.17 nis_name_of F
+GLIBC_2.17 nis_name_of_r F
+GLIBC_2.17 nis_next_entry F
+GLIBC_2.17 nis_perror F
+GLIBC_2.17 nis_ping F
+GLIBC_2.17 nis_print_directory F
+GLIBC_2.17 nis_print_entry F
+GLIBC_2.17 nis_print_group F
+GLIBC_2.17 nis_print_group_entry F
+GLIBC_2.17 nis_print_link F
+GLIBC_2.17 nis_print_object F
+GLIBC_2.17 nis_print_result F
+GLIBC_2.17 nis_print_rights F
+GLIBC_2.17 nis_print_table F
+GLIBC_2.17 nis_read_obj F
+GLIBC_2.17 nis_remove F
+GLIBC_2.17 nis_remove_entry F
+GLIBC_2.17 nis_removemember F
+GLIBC_2.17 nis_rmdir F
+GLIBC_2.17 nis_servstate F
+GLIBC_2.17 nis_sperrno F
+GLIBC_2.17 nis_sperror F
+GLIBC_2.17 nis_sperror_r F
+GLIBC_2.17 nis_stats F
+GLIBC_2.17 nis_verifygroup F
+GLIBC_2.17 nis_write_obj F
+GLIBC_2.17 readColdStartFile F
+GLIBC_2.17 writeColdStartFile F
+GLIBC_2.17 xdr_cback_data F
+GLIBC_2.17 xdr_domainname F
+GLIBC_2.17 xdr_keydat F
+GLIBC_2.17 xdr_mapname F
+GLIBC_2.17 xdr_obj_p F
+GLIBC_2.17 xdr_peername F
+GLIBC_2.17 xdr_valdat F
+GLIBC_2.17 xdr_yp_buf F
+GLIBC_2.17 xdr_ypall F
+GLIBC_2.17 xdr_ypbind_binding F
+GLIBC_2.17 xdr_ypbind_resp F
+GLIBC_2.17 xdr_ypbind_resptype F
+GLIBC_2.17 xdr_ypbind_setdom F
+GLIBC_2.17 xdr_ypdelete_args F
+GLIBC_2.17 xdr_ypmap_parms F
+GLIBC_2.17 xdr_ypmaplist F
+GLIBC_2.17 xdr_yppush_status F
+GLIBC_2.17 xdr_yppushresp_xfr F
+GLIBC_2.17 xdr_ypreq_key F
+GLIBC_2.17 xdr_ypreq_nokey F
+GLIBC_2.17 xdr_ypreq_xfr F
+GLIBC_2.17 xdr_ypresp_all F
+GLIBC_2.17 xdr_ypresp_key_val F
+GLIBC_2.17 xdr_ypresp_maplist F
+GLIBC_2.17 xdr_ypresp_master F
+GLIBC_2.17 xdr_ypresp_order F
+GLIBC_2.17 xdr_ypresp_val F
+GLIBC_2.17 xdr_ypresp_xfr F
+GLIBC_2.17 xdr_ypstat F
+GLIBC_2.17 xdr_ypupdate_args F
+GLIBC_2.17 xdr_ypxfrstat F
+GLIBC_2.17 yp_all F
+GLIBC_2.17 yp_bind F
+GLIBC_2.17 yp_first F
+GLIBC_2.17 yp_get_default_domain F
+GLIBC_2.17 yp_maplist F
+GLIBC_2.17 yp_master F
+GLIBC_2.17 yp_match F
+GLIBC_2.17 yp_next F
+GLIBC_2.17 yp_order F
+GLIBC_2.17 yp_unbind F
+GLIBC_2.17 yp_update F
+GLIBC_2.17 ypbinderr_string F
+GLIBC_2.17 yperr_string F
+GLIBC_2.17 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist
new file mode 100644
index 0000000000..23ef56053e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __free_fdresult F
+GLIBC_2.3 __nis_default_access F
+GLIBC_2.3 __nis_default_group F
+GLIBC_2.3 __nis_default_owner F
+GLIBC_2.3 __nis_default_ttl F
+GLIBC_2.3 __nis_finddirectory F
+GLIBC_2.3 __nis_hash F
+GLIBC_2.3 __nisbind_connect F
+GLIBC_2.3 __nisbind_create F
+GLIBC_2.3 __nisbind_destroy F
+GLIBC_2.3 __nisbind_next F
+GLIBC_2.3 __yp_check F
+GLIBC_2.3 nis_add F
+GLIBC_2.3 nis_add_entry F
+GLIBC_2.3 nis_addmember F
+GLIBC_2.3 nis_checkpoint F
+GLIBC_2.3 nis_clone_directory F
+GLIBC_2.3 nis_clone_object F
+GLIBC_2.3 nis_clone_result F
+GLIBC_2.3 nis_creategroup F
+GLIBC_2.3 nis_destroy_object F
+GLIBC_2.3 nis_destroygroup F
+GLIBC_2.3 nis_dir_cmp F
+GLIBC_2.3 nis_domain_of F
+GLIBC_2.3 nis_domain_of_r F
+GLIBC_2.3 nis_first_entry F
+GLIBC_2.3 nis_free_directory F
+GLIBC_2.3 nis_free_object F
+GLIBC_2.3 nis_free_request F
+GLIBC_2.3 nis_freenames F
+GLIBC_2.3 nis_freeresult F
+GLIBC_2.3 nis_freeservlist F
+GLIBC_2.3 nis_freetags F
+GLIBC_2.3 nis_getnames F
+GLIBC_2.3 nis_getservlist F
+GLIBC_2.3 nis_ismember F
+GLIBC_2.3 nis_leaf_of F
+GLIBC_2.3 nis_leaf_of_r F
+GLIBC_2.3 nis_lerror F
+GLIBC_2.3 nis_list F
+GLIBC_2.3 nis_local_directory F
+GLIBC_2.3 nis_local_group F
+GLIBC_2.3 nis_local_host F
+GLIBC_2.3 nis_local_principal F
+GLIBC_2.3 nis_lookup F
+GLIBC_2.3 nis_mkdir F
+GLIBC_2.3 nis_modify F
+GLIBC_2.3 nis_modify_entry F
+GLIBC_2.3 nis_name_of F
+GLIBC_2.3 nis_name_of_r F
+GLIBC_2.3 nis_next_entry F
+GLIBC_2.3 nis_perror F
+GLIBC_2.3 nis_ping F
+GLIBC_2.3 nis_print_directory F
+GLIBC_2.3 nis_print_entry F
+GLIBC_2.3 nis_print_group F
+GLIBC_2.3 nis_print_group_entry F
+GLIBC_2.3 nis_print_link F
+GLIBC_2.3 nis_print_object F
+GLIBC_2.3 nis_print_result F
+GLIBC_2.3 nis_print_rights F
+GLIBC_2.3 nis_print_table F
+GLIBC_2.3 nis_read_obj F
+GLIBC_2.3 nis_remove F
+GLIBC_2.3 nis_remove_entry F
+GLIBC_2.3 nis_removemember F
+GLIBC_2.3 nis_rmdir F
+GLIBC_2.3 nis_servstate F
+GLIBC_2.3 nis_sperrno F
+GLIBC_2.3 nis_sperror F
+GLIBC_2.3 nis_sperror_r F
+GLIBC_2.3 nis_stats F
+GLIBC_2.3 nis_verifygroup F
+GLIBC_2.3 nis_write_obj F
+GLIBC_2.3 readColdStartFile F
+GLIBC_2.3 writeColdStartFile F
+GLIBC_2.3 xdr_cback_data F
+GLIBC_2.3 xdr_domainname F
+GLIBC_2.3 xdr_keydat F
+GLIBC_2.3 xdr_mapname F
+GLIBC_2.3 xdr_obj_p F
+GLIBC_2.3 xdr_peername F
+GLIBC_2.3 xdr_valdat F
+GLIBC_2.3 xdr_yp_buf F
+GLIBC_2.3 xdr_ypall F
+GLIBC_2.3 xdr_ypbind_binding F
+GLIBC_2.3 xdr_ypbind_resp F
+GLIBC_2.3 xdr_ypbind_resptype F
+GLIBC_2.3 xdr_ypbind_setdom F
+GLIBC_2.3 xdr_ypdelete_args F
+GLIBC_2.3 xdr_ypmap_parms F
+GLIBC_2.3 xdr_ypmaplist F
+GLIBC_2.3 xdr_yppush_status F
+GLIBC_2.3 xdr_yppushresp_xfr F
+GLIBC_2.3 xdr_ypreq_key F
+GLIBC_2.3 xdr_ypreq_nokey F
+GLIBC_2.3 xdr_ypreq_xfr F
+GLIBC_2.3 xdr_ypresp_all F
+GLIBC_2.3 xdr_ypresp_key_val F
+GLIBC_2.3 xdr_ypresp_maplist F
+GLIBC_2.3 xdr_ypresp_master F
+GLIBC_2.3 xdr_ypresp_order F
+GLIBC_2.3 xdr_ypresp_val F
+GLIBC_2.3 xdr_ypresp_xfr F
+GLIBC_2.3 xdr_ypstat F
+GLIBC_2.3 xdr_ypupdate_args F
+GLIBC_2.3 xdr_ypxfrstat F
+GLIBC_2.3 yp_all F
+GLIBC_2.3 yp_bind F
+GLIBC_2.3 yp_first F
+GLIBC_2.3 yp_get_default_domain F
+GLIBC_2.3 yp_maplist F
+GLIBC_2.3 yp_master F
+GLIBC_2.3 yp_match F
+GLIBC_2.3 yp_next F
+GLIBC_2.3 yp_order F
+GLIBC_2.3 yp_unbind F
+GLIBC_2.3 yp_update F
+GLIBC_2.3 ypbinderr_string F
+GLIBC_2.3 yperr_string F
+GLIBC_2.3 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist
new file mode 100644
index 0000000000..0cf30ee02f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 __close F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pthread_cleanup_routine F
+GLIBC_2.17 __pthread_getspecific F
+GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_trylock F
+GLIBC_2.17 __pthread_mutex_unlock F
+GLIBC_2.17 __pthread_mutexattr_destroy F
+GLIBC_2.17 __pthread_mutexattr_init F
+GLIBC_2.17 __pthread_mutexattr_settype F
+GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_register_cancel F
+GLIBC_2.17 __pthread_register_cancel_defer F
+GLIBC_2.17 __pthread_rwlock_destroy F
+GLIBC_2.17 __pthread_rwlock_init F
+GLIBC_2.17 __pthread_rwlock_rdlock F
+GLIBC_2.17 __pthread_rwlock_tryrdlock F
+GLIBC_2.17 __pthread_rwlock_trywrlock F
+GLIBC_2.17 __pthread_rwlock_unlock F
+GLIBC_2.17 __pthread_rwlock_wrlock F
+GLIBC_2.17 __pthread_setspecific F
+GLIBC_2.17 __pthread_unregister_cancel F
+GLIBC_2.17 __pthread_unregister_cancel_restore F
+GLIBC_2.17 __pthread_unwind_next F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __read F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __send F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __write F
+GLIBC_2.17 _pthread_cleanup_pop F
+GLIBC_2.17 _pthread_cleanup_pop_restore F
+GLIBC_2.17 _pthread_cleanup_push F
+GLIBC_2.17 _pthread_cleanup_push_defer F
+GLIBC_2.17 accept F
+GLIBC_2.17 close F
+GLIBC_2.17 connect F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fork F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 msync F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 pause F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getaffinity_np F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getguardsize F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_getstack F
+GLIBC_2.17 pthread_attr_getstackaddr F
+GLIBC_2.17 pthread_attr_getstacksize F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setaffinity_np F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setguardsize F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_attr_setstack F
+GLIBC_2.17 pthread_attr_setstackaddr F
+GLIBC_2.17 pthread_attr_setstacksize F
+GLIBC_2.17 pthread_barrier_destroy F
+GLIBC_2.17 pthread_barrier_init F
+GLIBC_2.17 pthread_barrier_wait F
+GLIBC_2.17 pthread_barrierattr_destroy F
+GLIBC_2.17 pthread_barrierattr_getpshared F
+GLIBC_2.17 pthread_barrierattr_init F
+GLIBC_2.17 pthread_barrierattr_setpshared F
+GLIBC_2.17 pthread_cancel F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_getclock F
+GLIBC_2.17 pthread_condattr_getpshared F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_condattr_setclock F
+GLIBC_2.17 pthread_condattr_setpshared F
+GLIBC_2.17 pthread_create F
+GLIBC_2.17 pthread_detach F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getaffinity_np F
+GLIBC_2.17 pthread_getattr_np F
+GLIBC_2.17 pthread_getconcurrency F
+GLIBC_2.17 pthread_getcpuclockid F
+GLIBC_2.17 pthread_getname_np F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_getspecific F
+GLIBC_2.17 pthread_join F
+GLIBC_2.17 pthread_key_create F
+GLIBC_2.17 pthread_key_delete F
+GLIBC_2.17 pthread_kill F
+GLIBC_2.17 pthread_kill_other_threads_np F
+GLIBC_2.17 pthread_mutex_consistent F
+GLIBC_2.17 pthread_mutex_consistent_np F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_getprioceiling F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_setprioceiling F
+GLIBC_2.17 pthread_mutex_timedlock F
+GLIBC_2.17 pthread_mutex_trylock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_mutexattr_destroy F
+GLIBC_2.17 pthread_mutexattr_getkind_np F
+GLIBC_2.17 pthread_mutexattr_getprioceiling F
+GLIBC_2.17 pthread_mutexattr_getprotocol F
+GLIBC_2.17 pthread_mutexattr_getpshared F
+GLIBC_2.17 pthread_mutexattr_getrobust F
+GLIBC_2.17 pthread_mutexattr_getrobust_np F
+GLIBC_2.17 pthread_mutexattr_gettype F
+GLIBC_2.17 pthread_mutexattr_init F
+GLIBC_2.17 pthread_mutexattr_setkind_np F
+GLIBC_2.17 pthread_mutexattr_setprioceiling F
+GLIBC_2.17 pthread_mutexattr_setprotocol F
+GLIBC_2.17 pthread_mutexattr_setpshared F
+GLIBC_2.17 pthread_mutexattr_setrobust F
+GLIBC_2.17 pthread_mutexattr_setrobust_np F
+GLIBC_2.17 pthread_mutexattr_settype F
+GLIBC_2.17 pthread_once F
+GLIBC_2.17 pthread_rwlock_destroy F
+GLIBC_2.17 pthread_rwlock_init F
+GLIBC_2.17 pthread_rwlock_rdlock F
+GLIBC_2.17 pthread_rwlock_timedrdlock F
+GLIBC_2.17 pthread_rwlock_timedwrlock F
+GLIBC_2.17 pthread_rwlock_tryrdlock F
+GLIBC_2.17 pthread_rwlock_trywrlock F
+GLIBC_2.17 pthread_rwlock_unlock F
+GLIBC_2.17 pthread_rwlock_wrlock F
+GLIBC_2.17 pthread_rwlockattr_destroy F
+GLIBC_2.17 pthread_rwlockattr_getkind_np F
+GLIBC_2.17 pthread_rwlockattr_getpshared F
+GLIBC_2.17 pthread_rwlockattr_init F
+GLIBC_2.17 pthread_rwlockattr_setkind_np F
+GLIBC_2.17 pthread_rwlockattr_setpshared F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setaffinity_np F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setconcurrency F
+GLIBC_2.17 pthread_setname_np F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 pthread_setschedprio F
+GLIBC_2.17 pthread_setspecific F
+GLIBC_2.17 pthread_sigmask F
+GLIBC_2.17 pthread_sigqueue F
+GLIBC_2.17 pthread_spin_destroy F
+GLIBC_2.17 pthread_spin_init F
+GLIBC_2.17 pthread_spin_lock F
+GLIBC_2.17 pthread_spin_trylock F
+GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
+GLIBC_2.17 pthread_timedjoin_np F
+GLIBC_2.17 pthread_tryjoin_np F
+GLIBC_2.17 pthread_yield F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 raise F
+GLIBC_2.17 read F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_destroy F
+GLIBC_2.17 sem_getvalue F
+GLIBC_2.17 sem_init F
+GLIBC_2.17 sem_open F
+GLIBC_2.17 sem_post F
+GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_trywait F
+GLIBC_2.17 sem_unlink F
+GLIBC_2.17 sem_wait F
+GLIBC_2.17 send F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 system F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 vfork F
+GLIBC_2.17 wait F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist
new file mode 100644
index 0000000000..464b91a61d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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.3 GLIBC_2.3 A
+GLIBC_2.3 _IO_flockfile F
+GLIBC_2.3 _IO_ftrylockfile F
+GLIBC_2.3 _IO_funlockfile F
+GLIBC_2.3 __close F
+GLIBC_2.3 __connect F
+GLIBC_2.3 __errno_location F
+GLIBC_2.3 __fcntl F
+GLIBC_2.3 __fork F
+GLIBC_2.3 __h_errno_location F
+GLIBC_2.3 __libc_allocate_rtsig F
+GLIBC_2.3 __libc_current_sigrtmax F
+GLIBC_2.3 __libc_current_sigrtmin F
+GLIBC_2.3 __lseek F
+GLIBC_2.3 __nanosleep F
+GLIBC_2.3 __open F
+GLIBC_2.3 __open64 F
+GLIBC_2.3 __pread64 F
+GLIBC_2.3 __pthread_getspecific F
+GLIBC_2.3 __pthread_key_create F
+GLIBC_2.3 __pthread_mutex_destroy F
+GLIBC_2.3 __pthread_mutex_init F
+GLIBC_2.3 __pthread_mutex_lock F
+GLIBC_2.3 __pthread_mutex_trylock F
+GLIBC_2.3 __pthread_mutex_unlock F
+GLIBC_2.3 __pthread_mutexattr_destroy F
+GLIBC_2.3 __pthread_mutexattr_init F
+GLIBC_2.3 __pthread_mutexattr_settype F
+GLIBC_2.3 __pthread_once F
+GLIBC_2.3 __pthread_rwlock_destroy F
+GLIBC_2.3 __pthread_rwlock_init F
+GLIBC_2.3 __pthread_rwlock_rdlock F
+GLIBC_2.3 __pthread_rwlock_tryrdlock F
+GLIBC_2.3 __pthread_rwlock_trywrlock F
+GLIBC_2.3 __pthread_rwlock_unlock F
+GLIBC_2.3 __pthread_rwlock_wrlock F
+GLIBC_2.3 __pthread_setspecific F
+GLIBC_2.3 __pwrite64 F
+GLIBC_2.3 __read F
+GLIBC_2.3 __res_state F
+GLIBC_2.3 __send F
+GLIBC_2.3 __sigaction F
+GLIBC_2.3 __vfork F
+GLIBC_2.3 __wait F
+GLIBC_2.3 __write F
+GLIBC_2.3 _pthread_cleanup_pop F
+GLIBC_2.3 _pthread_cleanup_pop_restore F
+GLIBC_2.3 _pthread_cleanup_push F
+GLIBC_2.3 _pthread_cleanup_push_defer F
+GLIBC_2.3 accept F
+GLIBC_2.3 close F
+GLIBC_2.3 connect F
+GLIBC_2.3 fcntl F
+GLIBC_2.3 flockfile F
+GLIBC_2.3 fork F
+GLIBC_2.3 fsync F
+GLIBC_2.3 ftrylockfile F
+GLIBC_2.3 funlockfile F
+GLIBC_2.3 longjmp F
+GLIBC_2.3 lseek F
+GLIBC_2.3 lseek64 F
+GLIBC_2.3 msync F
+GLIBC_2.3 nanosleep F
+GLIBC_2.3 open F
+GLIBC_2.3 open64 F
+GLIBC_2.3 pause F
+GLIBC_2.3 pread F
+GLIBC_2.3 pread64 F
+GLIBC_2.3 pthread_attr_destroy F
+GLIBC_2.3 pthread_attr_getdetachstate F
+GLIBC_2.3 pthread_attr_getguardsize F
+GLIBC_2.3 pthread_attr_getinheritsched F
+GLIBC_2.3 pthread_attr_getschedparam F
+GLIBC_2.3 pthread_attr_getschedpolicy F
+GLIBC_2.3 pthread_attr_getscope F
+GLIBC_2.3 pthread_attr_getstack F
+GLIBC_2.3 pthread_attr_getstackaddr F
+GLIBC_2.3 pthread_attr_getstacksize F
+GLIBC_2.3 pthread_attr_init F
+GLIBC_2.3 pthread_attr_setdetachstate F
+GLIBC_2.3 pthread_attr_setguardsize F
+GLIBC_2.3 pthread_attr_setinheritsched F
+GLIBC_2.3 pthread_attr_setschedparam F
+GLIBC_2.3 pthread_attr_setschedpolicy F
+GLIBC_2.3 pthread_attr_setscope F
+GLIBC_2.3 pthread_attr_setstack F
+GLIBC_2.3 pthread_attr_setstackaddr F
+GLIBC_2.3 pthread_attr_setstacksize F
+GLIBC_2.3 pthread_barrier_destroy F
+GLIBC_2.3 pthread_barrier_init F
+GLIBC_2.3 pthread_barrier_wait F
+GLIBC_2.3 pthread_barrierattr_destroy F
+GLIBC_2.3 pthread_barrierattr_init F
+GLIBC_2.3 pthread_barrierattr_setpshared F
+GLIBC_2.3 pthread_cancel F
+GLIBC_2.3 pthread_cond_broadcast F
+GLIBC_2.3 pthread_cond_destroy F
+GLIBC_2.3 pthread_cond_init F
+GLIBC_2.3 pthread_cond_signal F
+GLIBC_2.3 pthread_cond_timedwait F
+GLIBC_2.3 pthread_cond_wait F
+GLIBC_2.3 pthread_condattr_destroy F
+GLIBC_2.3 pthread_condattr_getpshared F
+GLIBC_2.3 pthread_condattr_init F
+GLIBC_2.3 pthread_condattr_setpshared F
+GLIBC_2.3 pthread_create F
+GLIBC_2.3 pthread_detach F
+GLIBC_2.3 pthread_equal F
+GLIBC_2.3 pthread_exit F
+GLIBC_2.3 pthread_getattr_np F
+GLIBC_2.3 pthread_getconcurrency F
+GLIBC_2.3 pthread_getcpuclockid F
+GLIBC_2.3 pthread_getschedparam F
+GLIBC_2.3 pthread_getspecific F
+GLIBC_2.3 pthread_join F
+GLIBC_2.3 pthread_key_create F
+GLIBC_2.3 pthread_key_delete F
+GLIBC_2.3 pthread_kill F
+GLIBC_2.3 pthread_kill_other_threads_np F
+GLIBC_2.3 pthread_mutex_destroy F
+GLIBC_2.3 pthread_mutex_init F
+GLIBC_2.3 pthread_mutex_lock F
+GLIBC_2.3 pthread_mutex_timedlock F
+GLIBC_2.3 pthread_mutex_trylock F
+GLIBC_2.3 pthread_mutex_unlock F
+GLIBC_2.3 pthread_mutexattr_destroy F
+GLIBC_2.3 pthread_mutexattr_getkind_np F
+GLIBC_2.3 pthread_mutexattr_getpshared F
+GLIBC_2.3 pthread_mutexattr_gettype F
+GLIBC_2.3 pthread_mutexattr_init F
+GLIBC_2.3 pthread_mutexattr_setkind_np F
+GLIBC_2.3 pthread_mutexattr_setpshared F
+GLIBC_2.3 pthread_mutexattr_settype F
+GLIBC_2.3 pthread_once F
+GLIBC_2.3 pthread_rwlock_destroy F
+GLIBC_2.3 pthread_rwlock_init F
+GLIBC_2.3 pthread_rwlock_rdlock F
+GLIBC_2.3 pthread_rwlock_timedrdlock F
+GLIBC_2.3 pthread_rwlock_timedwrlock F
+GLIBC_2.3 pthread_rwlock_tryrdlock F
+GLIBC_2.3 pthread_rwlock_trywrlock F
+GLIBC_2.3 pthread_rwlock_unlock F
+GLIBC_2.3 pthread_rwlock_wrlock F
+GLIBC_2.3 pthread_rwlockattr_destroy F
+GLIBC_2.3 pthread_rwlockattr_getkind_np F
+GLIBC_2.3 pthread_rwlockattr_getpshared F
+GLIBC_2.3 pthread_rwlockattr_init F
+GLIBC_2.3 pthread_rwlockattr_setkind_np F
+GLIBC_2.3 pthread_rwlockattr_setpshared F
+GLIBC_2.3 pthread_self F
+GLIBC_2.3 pthread_setcancelstate F
+GLIBC_2.3 pthread_setcanceltype F
+GLIBC_2.3 pthread_setconcurrency F
+GLIBC_2.3 pthread_setschedparam F
+GLIBC_2.3 pthread_setspecific F
+GLIBC_2.3 pthread_sigmask F
+GLIBC_2.3 pthread_spin_destroy F
+GLIBC_2.3 pthread_spin_init F
+GLIBC_2.3 pthread_spin_lock F
+GLIBC_2.3 pthread_spin_trylock F
+GLIBC_2.3 pthread_spin_unlock F
+GLIBC_2.3 pthread_testcancel F
+GLIBC_2.3 pthread_yield F
+GLIBC_2.3 pwrite F
+GLIBC_2.3 pwrite64 F
+GLIBC_2.3 raise F
+GLIBC_2.3 read F
+GLIBC_2.3 recv F
+GLIBC_2.3 recvfrom F
+GLIBC_2.3 recvmsg F
+GLIBC_2.3 sem_close F
+GLIBC_2.3 sem_destroy F
+GLIBC_2.3 sem_getvalue F
+GLIBC_2.3 sem_init F
+GLIBC_2.3 sem_open F
+GLIBC_2.3 sem_post F
+GLIBC_2.3 sem_timedwait F
+GLIBC_2.3 sem_trywait F
+GLIBC_2.3 sem_unlink F
+GLIBC_2.3 sem_wait F
+GLIBC_2.3 send F
+GLIBC_2.3 sendmsg F
+GLIBC_2.3 sendto F
+GLIBC_2.3 sigaction F
+GLIBC_2.3 siglongjmp F
+GLIBC_2.3 sigwait F
+GLIBC_2.3 system F
+GLIBC_2.3 tcdrain F
+GLIBC_2.3 vfork F
+GLIBC_2.3 wait F
+GLIBC_2.3 waitpid F
+GLIBC_2.3 write F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 longjmp F
+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.3.4 siglongjmp 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
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 pthread_attr_setstack F
+GLIBC_2.6 pthread_attr_setstacksize F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist
new file mode 100644
index 0000000000..cf278eedb3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __b64_ntop F
+GLIBC_2.17 __b64_pton F
+GLIBC_2.17 __dn_comp F
+GLIBC_2.17 __dn_count_labels F
+GLIBC_2.17 __dn_expand F
+GLIBC_2.17 __dn_skipname F
+GLIBC_2.17 __fp_nquery F
+GLIBC_2.17 __fp_query F
+GLIBC_2.17 __fp_resstat F
+GLIBC_2.17 __hostalias F
+GLIBC_2.17 __loc_aton F
+GLIBC_2.17 __loc_ntoa F
+GLIBC_2.17 __p_cdname F
+GLIBC_2.17 __p_cdnname F
+GLIBC_2.17 __p_class F
+GLIBC_2.17 __p_class_syms D 0xa8
+GLIBC_2.17 __p_fqname F
+GLIBC_2.17 __p_fqnname F
+GLIBC_2.17 __p_option F
+GLIBC_2.17 __p_query F
+GLIBC_2.17 __p_rcode F
+GLIBC_2.17 __p_secstodate F
+GLIBC_2.17 __p_time F
+GLIBC_2.17 __p_type F
+GLIBC_2.17 __p_type_syms D 0x450
+GLIBC_2.17 __putlong F
+GLIBC_2.17 __putshort F
+GLIBC_2.17 __res_close F
+GLIBC_2.17 __res_dnok F
+GLIBC_2.17 __res_hnok F
+GLIBC_2.17 __res_hostalias F
+GLIBC_2.17 __res_isourserver F
+GLIBC_2.17 __res_mailok F
+GLIBC_2.17 __res_mkquery F
+GLIBC_2.17 __res_nameinquery F
+GLIBC_2.17 __res_nmkquery F
+GLIBC_2.17 __res_nquery F
+GLIBC_2.17 __res_nquerydomain F
+GLIBC_2.17 __res_nsearch F
+GLIBC_2.17 __res_nsend F
+GLIBC_2.17 __res_ownok F
+GLIBC_2.17 __res_queriesmatch F
+GLIBC_2.17 __res_query F
+GLIBC_2.17 __res_querydomain F
+GLIBC_2.17 __res_search F
+GLIBC_2.17 __res_send F
+GLIBC_2.17 __sym_ntop F
+GLIBC_2.17 __sym_ntos F
+GLIBC_2.17 __sym_ston F
+GLIBC_2.17 _gethtbyaddr F
+GLIBC_2.17 _gethtbyname F
+GLIBC_2.17 _gethtbyname2 F
+GLIBC_2.17 _gethtent F
+GLIBC_2.17 _getlong F
+GLIBC_2.17 _getshort F
+GLIBC_2.17 _res_opcodes D 0x80
+GLIBC_2.17 _sethtent F
+GLIBC_2.17 inet_net_ntop F
+GLIBC_2.17 inet_net_pton F
+GLIBC_2.17 inet_neta F
+GLIBC_2.17 ns_datetosecs F
+GLIBC_2.17 ns_format_ttl F
+GLIBC_2.17 ns_get16 F
+GLIBC_2.17 ns_get32 F
+GLIBC_2.17 ns_initparse F
+GLIBC_2.17 ns_makecanon F
+GLIBC_2.17 ns_msg_getflag F
+GLIBC_2.17 ns_name_compress F
+GLIBC_2.17 ns_name_ntol F
+GLIBC_2.17 ns_name_ntop F
+GLIBC_2.17 ns_name_pack F
+GLIBC_2.17 ns_name_pton F
+GLIBC_2.17 ns_name_rollback F
+GLIBC_2.17 ns_name_skip F
+GLIBC_2.17 ns_name_uncompress F
+GLIBC_2.17 ns_name_unpack F
+GLIBC_2.17 ns_parse_ttl F
+GLIBC_2.17 ns_parserr F
+GLIBC_2.17 ns_put16 F
+GLIBC_2.17 ns_put32 F
+GLIBC_2.17 ns_samedomain F
+GLIBC_2.17 ns_samename F
+GLIBC_2.17 ns_skiprr F
+GLIBC_2.17 ns_sprintrr F
+GLIBC_2.17 ns_sprintrrf F
+GLIBC_2.17 ns_subdomain F
+GLIBC_2.17 res_gethostbyaddr F
+GLIBC_2.17 res_gethostbyname F
+GLIBC_2.17 res_gethostbyname2 F
+GLIBC_2.17 res_send_setqhook F
+GLIBC_2.17 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist
new file mode 100644
index 0000000000..95def8eb0f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist
@@ -0,0 +1,94 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __b64_ntop F
+GLIBC_2.3 __b64_pton F
+GLIBC_2.3 __dn_comp F
+GLIBC_2.3 __dn_count_labels F
+GLIBC_2.3 __dn_expand F
+GLIBC_2.3 __dn_skipname F
+GLIBC_2.3 __fp_nquery F
+GLIBC_2.3 __fp_query F
+GLIBC_2.3 __fp_resstat F
+GLIBC_2.3 __hostalias F
+GLIBC_2.3 __loc_aton F
+GLIBC_2.3 __loc_ntoa F
+GLIBC_2.3 __p_cdname F
+GLIBC_2.3 __p_cdnname F
+GLIBC_2.3 __p_class F
+GLIBC_2.3 __p_class_syms D 0xa8
+GLIBC_2.3 __p_fqname F
+GLIBC_2.3 __p_fqnname F
+GLIBC_2.3 __p_option F
+GLIBC_2.3 __p_query F
+GLIBC_2.3 __p_secstodate F
+GLIBC_2.3 __p_time F
+GLIBC_2.3 __p_type F
+GLIBC_2.3 __p_type_syms D 0x450
+GLIBC_2.3 __putlong F
+GLIBC_2.3 __putshort F
+GLIBC_2.3 __res_close F
+GLIBC_2.3 __res_dnok F
+GLIBC_2.3 __res_hnok F
+GLIBC_2.3 __res_hostalias F
+GLIBC_2.3 __res_isourserver F
+GLIBC_2.3 __res_mailok F
+GLIBC_2.3 __res_mkquery F
+GLIBC_2.3 __res_nameinquery F
+GLIBC_2.3 __res_nmkquery F
+GLIBC_2.3 __res_nquery F
+GLIBC_2.3 __res_nquerydomain F
+GLIBC_2.3 __res_nsearch F
+GLIBC_2.3 __res_nsend F
+GLIBC_2.3 __res_ownok F
+GLIBC_2.3 __res_queriesmatch F
+GLIBC_2.3 __res_query F
+GLIBC_2.3 __res_querydomain F
+GLIBC_2.3 __res_search F
+GLIBC_2.3 __res_send F
+GLIBC_2.3 __sym_ntop F
+GLIBC_2.3 __sym_ntos F
+GLIBC_2.3 __sym_ston F
+GLIBC_2.3 _gethtbyaddr F
+GLIBC_2.3 _gethtbyname F
+GLIBC_2.3 _gethtbyname2 F
+GLIBC_2.3 _gethtent F
+GLIBC_2.3 _getlong F
+GLIBC_2.3 _getshort F
+GLIBC_2.3 _res_opcodes D 0x80
+GLIBC_2.3 _sethtent F
+GLIBC_2.3 inet_net_ntop F
+GLIBC_2.3 inet_net_pton F
+GLIBC_2.3 inet_neta F
+GLIBC_2.3 res_gethostbyaddr F
+GLIBC_2.3 res_gethostbyname F
+GLIBC_2.3 res_gethostbyname2 F
+GLIBC_2.3 res_send_setqhook F
+GLIBC_2.3 res_send_setrhook 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/powerpc/powerpc64/librt-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist
new file mode 100644
index 0000000000..523d22249a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist
@@ -0,0 +1,36 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __mq_open_2 F
+GLIBC_2.17 aio_cancel F
+GLIBC_2.17 aio_cancel64 F
+GLIBC_2.17 aio_error F
+GLIBC_2.17 aio_error64 F
+GLIBC_2.17 aio_fsync F
+GLIBC_2.17 aio_fsync64 F
+GLIBC_2.17 aio_init F
+GLIBC_2.17 aio_read F
+GLIBC_2.17 aio_read64 F
+GLIBC_2.17 aio_return F
+GLIBC_2.17 aio_return64 F
+GLIBC_2.17 aio_suspend F
+GLIBC_2.17 aio_suspend64 F
+GLIBC_2.17 aio_write F
+GLIBC_2.17 aio_write64 F
+GLIBC_2.17 lio_listio F
+GLIBC_2.17 lio_listio64 F
+GLIBC_2.17 mq_close F
+GLIBC_2.17 mq_getattr F
+GLIBC_2.17 mq_notify F
+GLIBC_2.17 mq_open F
+GLIBC_2.17 mq_receive F
+GLIBC_2.17 mq_send F
+GLIBC_2.17 mq_setattr F
+GLIBC_2.17 mq_timedreceive F
+GLIBC_2.17 mq_timedsend F
+GLIBC_2.17 mq_unlink F
+GLIBC_2.17 shm_open F
+GLIBC_2.17 shm_unlink F
+GLIBC_2.17 timer_create F
+GLIBC_2.17 timer_delete F
+GLIBC_2.17 timer_getoverrun F
+GLIBC_2.17 timer_gettime F
+GLIBC_2.17 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist
new file mode 100644
index 0000000000..e5b41488a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist
@@ -0,0 +1,52 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 aio_cancel F
+GLIBC_2.3 aio_cancel64 F
+GLIBC_2.3 aio_error F
+GLIBC_2.3 aio_error64 F
+GLIBC_2.3 aio_fsync F
+GLIBC_2.3 aio_fsync64 F
+GLIBC_2.3 aio_init F
+GLIBC_2.3 aio_read F
+GLIBC_2.3 aio_read64 F
+GLIBC_2.3 aio_return F
+GLIBC_2.3 aio_return64 F
+GLIBC_2.3 aio_suspend F
+GLIBC_2.3 aio_suspend64 F
+GLIBC_2.3 aio_write F
+GLIBC_2.3 aio_write64 F
+GLIBC_2.3 clock_getcpuclockid F
+GLIBC_2.3 clock_getres F
+GLIBC_2.3 clock_gettime F
+GLIBC_2.3 clock_nanosleep F
+GLIBC_2.3 clock_settime F
+GLIBC_2.3 lio_listio F
+GLIBC_2.3 lio_listio64 F
+GLIBC_2.3 shm_open F
+GLIBC_2.3 shm_unlink F
+GLIBC_2.3 timer_create F
+GLIBC_2.3 timer_delete F
+GLIBC_2.3 timer_getoverrun F
+GLIBC_2.3 timer_gettime F
+GLIBC_2.3 timer_settime 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/powerpc/powerpc64/libthread_db-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist
new file mode 100644
index 0000000000..3e382bf79d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 td_init F
+GLIBC_2.17 td_log F
+GLIBC_2.17 td_symbol_list F
+GLIBC_2.17 td_ta_clear_event F
+GLIBC_2.17 td_ta_delete F
+GLIBC_2.17 td_ta_enable_stats F
+GLIBC_2.17 td_ta_event_addr F
+GLIBC_2.17 td_ta_event_getmsg F
+GLIBC_2.17 td_ta_get_nthreads F
+GLIBC_2.17 td_ta_get_ph F
+GLIBC_2.17 td_ta_get_stats F
+GLIBC_2.17 td_ta_map_id2thr F
+GLIBC_2.17 td_ta_map_lwp2thr F
+GLIBC_2.17 td_ta_new F
+GLIBC_2.17 td_ta_reset_stats F
+GLIBC_2.17 td_ta_set_event F
+GLIBC_2.17 td_ta_setconcurrency F
+GLIBC_2.17 td_ta_thr_iter F
+GLIBC_2.17 td_ta_tsd_iter F
+GLIBC_2.17 td_thr_clear_event F
+GLIBC_2.17 td_thr_dbresume F
+GLIBC_2.17 td_thr_dbsuspend F
+GLIBC_2.17 td_thr_event_enable F
+GLIBC_2.17 td_thr_event_getmsg F
+GLIBC_2.17 td_thr_get_info F
+GLIBC_2.17 td_thr_getfpregs F
+GLIBC_2.17 td_thr_getgregs F
+GLIBC_2.17 td_thr_getxregs F
+GLIBC_2.17 td_thr_getxregsize F
+GLIBC_2.17 td_thr_set_event F
+GLIBC_2.17 td_thr_setfpregs F
+GLIBC_2.17 td_thr_setgregs F
+GLIBC_2.17 td_thr_setprio F
+GLIBC_2.17 td_thr_setsigpending F
+GLIBC_2.17 td_thr_setxregs F
+GLIBC_2.17 td_thr_sigsetmask F
+GLIBC_2.17 td_thr_tls_get_addr F
+GLIBC_2.17 td_thr_tlsbase F
+GLIBC_2.17 td_thr_tsd F
+GLIBC_2.17 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist
new file mode 100644
index 0000000000..cd466b942b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist
@@ -0,0 +1,42 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 td_init F
+GLIBC_2.3 td_log F
+GLIBC_2.3 td_symbol_list F
+GLIBC_2.3 td_ta_clear_event F
+GLIBC_2.3 td_ta_delete F
+GLIBC_2.3 td_ta_enable_stats F
+GLIBC_2.3 td_ta_event_addr F
+GLIBC_2.3 td_ta_event_getmsg F
+GLIBC_2.3 td_ta_get_nthreads F
+GLIBC_2.3 td_ta_get_ph F
+GLIBC_2.3 td_ta_get_stats F
+GLIBC_2.3 td_ta_map_id2thr F
+GLIBC_2.3 td_ta_map_lwp2thr F
+GLIBC_2.3 td_ta_new F
+GLIBC_2.3 td_ta_reset_stats F
+GLIBC_2.3 td_ta_set_event F
+GLIBC_2.3 td_ta_setconcurrency F
+GLIBC_2.3 td_ta_thr_iter F
+GLIBC_2.3 td_ta_tsd_iter F
+GLIBC_2.3 td_thr_clear_event F
+GLIBC_2.3 td_thr_dbresume F
+GLIBC_2.3 td_thr_dbsuspend F
+GLIBC_2.3 td_thr_event_enable F
+GLIBC_2.3 td_thr_event_getmsg F
+GLIBC_2.3 td_thr_get_info F
+GLIBC_2.3 td_thr_getfpregs F
+GLIBC_2.3 td_thr_getgregs F
+GLIBC_2.3 td_thr_getxregs F
+GLIBC_2.3 td_thr_getxregsize F
+GLIBC_2.3 td_thr_set_event F
+GLIBC_2.3 td_thr_setfpregs F
+GLIBC_2.3 td_thr_setgregs F
+GLIBC_2.3 td_thr_setprio F
+GLIBC_2.3 td_thr_setsigpending F
+GLIBC_2.3 td_thr_setxregs F
+GLIBC_2.3 td_thr_sigsetmask F
+GLIBC_2.3 td_thr_tls_get_addr F
+GLIBC_2.3 td_thr_tsd F
+GLIBC_2.3 td_thr_validate 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/powerpc/powerpc64/libutil-le.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist
new file mode 100644
index 0000000000..9c075bc0bd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 forkpty F
+GLIBC_2.17 login F
+GLIBC_2.17 login_tty F
+GLIBC_2.17 logout F
+GLIBC_2.17 logwtmp F
+GLIBC_2.17 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist
new file mode 100644
index 0000000000..812701762c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 forkpty F
+GLIBC_2.3 login F
+GLIBC_2.3 login_tty F
+GLIBC_2.3 logout F
+GLIBC_2.3 logwtmp F
+GLIBC_2.3 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data
new file mode 100644
index 0000000000..6f8ed25922
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data
@@ -0,0 +1,15 @@
+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/powerpc/powerpc64/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
new file mode 100644
index 0000000000..ff2ed265ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
@@ -0,0 +1,187 @@
+/* Create new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+#include <asm/errno.h>
+
+ENTRY(__makecontext)
+	CALL_MCOUNT 3
+  /* Save parameters into the parameter save area of callers frame.  */
+  std  r3,FRAME_PARM1_SAVE(r1) /* ucontext_t *ucp  */
+  std  r4,FRAME_PARM2_SAVE(r1) /* void (*func)(void)  */
+  std  r5,FRAME_PARM3_SAVE(r1) /* int argc  */
+  std  r6,FRAME_PARM4_SAVE(r1) /* ... */
+  std  r7,FRAME_PARM5_SAVE(r1)
+  std  r8,FRAME_PARM6_SAVE(r1)
+  std  r9,FRAME_PARM7_SAVE(r1)
+  std  r10,FRAME_PARM8_SAVE(r1)
+  mflr  r0
+  /* Get the address of the target functions first parameter.  */
+  addi  r6,r1,FRAME_PARM4_SAVE
+  std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+
+  /* Get the ucontexts stack pointer and size.  Compute the top of stack
+     and round down to a quadword boundary.  Then stack a dummy frame
+     with a null back chain.  We store the context pointer in the frames
+     "compiler double word" field so we can recover if is the function
+     returns.  Finally save the callers link register and TOC pointer
+     into this frame so the debugger can display a backtrace.
+  */
+  ld    r7,UCONTEXT_STACK_SP(r3)
+  ld    r0,UCONTEXT_STACK_SIZE(r3)
+  add   r7,r7,r0
+  clrrdi  r7,r7,4
+  li    r0,0
+  stdu  r0,-64(r7)
+  std   r3,FRAME_PARM1_SAVE(r7) /* Store context in dummy parm1.  */
+  mflr  r0
+  std   r2,FRAME_TOC_SAVE(r7)  /* Store the TOC pointer for later.  */
+  std   r0,FRAME_LR_SAVE(r7)
+
+  /* Now we need to stack another frame to hold the parameter save area
+     for the function.  We need to allocate a frame with the minimum 48
+     byte header and 8 parameter register.  However if there are more
+     than 8 parameters addition space is need to hold all the parameters.
+     The total size it rounded up to a quadword multiple then a frame is
+     stacked.  This address is stored in the ucontext as GPR 1.  */
+
+  cmpdi cr1,r5,8
+  sldi  r8,r5,3
+  bgt   cr1,L(gt8)
+  li    r8,64
+L(gt8):
+  addi  r8,r8,FRAME_PARM_SAVE+8 /* Add header plus rounding factor.  */
+  clrrdi  r8,r8,4  /* Round down to quadword.  */
+
+  subf  r8,r8,r7
+  std   r7,0(r8)   /* Stack the frame.  */
+  std   r8,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
+
+  /* Now we need to copy the target functions parameters.  The functions
+     parameters are saved in the parameter save area.  We skip over the
+     first three parameters and copy up to 8 double word into the
+     SIGCONTEXT_GP_REGS starting with R3.  If there are more than 8
+     parameters then doublewords 8-N are copied into the parameter
+     save area of the context frame.  */
+  cmpdi r5,0
+  beq   L(noparms)
+  mr    r0,r5
+  ble   cr1,L(le8)
+  li    r0,8
+L(le8):
+  mtctr r0
+  addi  r7,r6,-8
+  addi  r9,r3,(SIGCONTEXT_GP_REGS+(PT_R3*8)-8)
+L(parmloop2):
+  ldu   r0,8(r7)
+  stdu  r0,8(r9)
+  bdnz  L(parmloop2)
+
+  addi  r0,r5,-8
+  ble   cr1,L(noparms)
+  mtctr r0
+  addi  r9,r8,FRAME_PARM9_SAVE-8
+L(parmloop):
+  ldu   r0,8(r7)
+  stdu  r0,8(r9)
+  bdnz  L(parmloop)
+
+L(noparms):
+
+#if _CALL_ELF != 2
+  /* Load the function address and TOC from the function descriptor
+     and store them in the ucontext as NIP and r2.  Store the 3rd
+     field of the function descriptor into the ucontext as r11 in case
+     the calling language needs the "environment pointer".  */
+  ld    r0,0(r4)
+  ld    r10,8(r4);
+  ld    r9,16(r4);
+  std   r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  std   r10,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
+  std   r9,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r3)
+#else
+  /* In the ELFv2 ABI, the function pointer is already the address.
+     Store it as NIP and r12 as required by the ABI.  */
+  std   r4,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  std   r4,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r3)
+#endif
+
+  /* If the target function returns we need to do some cleanup.  We use a
+     code trick to get the address of our cleanup function into the link
+     register.  Do not add any code between here and L(exitcode).
+     Use this conditional form of branch and link to avoid destroying
+     the cpu link stack used to predict blr return addresses.  */
+  bcl	20,31,L(gotexitcodeaddr);
+
+  /* End FDE now, because while executing on the context's stack
+     the unwind info would be wrong otherwise.  */
+  cfi_endproc
+
+	/* This is the helper code which gets called if a function which
+	   is registered with 'makecontext' returns.  In this case we
+	   have to install the context listed in the uc_link element of
+	   the context 'makecontext' manipulated at the time of the
+	   'makecontext' call.  If the pointer is NULL the process must
+	   terminate.  */
+L(exitcode):
+	/* Recover the ucontext and TOC from the dummy frame.  */
+	ld    r1,FRAME_BACKCHAIN(r1)  /* Unstack the parameter save area frame.  */
+	ld    r3,FRAME_PARM1_SAVE(r1)
+	ld    r2,FRAME_TOC_SAVE(r1)
+	ld    r3,UCONTEXT_LINK(r3)  /* Load the resume context.  */
+	cmpdi r3,0
+	beq   L(do_exit)
+	bl    JUMPTARGET(__setcontext)
+	nop
+	/* If setcontext returns (which can happen if the syscall fails) we will
+	   exit the program with error status (-1).  */
+	li    r3,-1
+L(do_exit):
+#ifdef SHARED
+	b     JUMPTARGET(__GI_exit);
+#else
+	b     JUMPTARGET(exit);
+	nop
+#endif
+	b    L(do_exit)
+
+  /* Re-establish FDE for the rest of the actual makecontext routine.  */
+  cfi_startproc
+  cfi_offset (lr, FRAME_LR_SAVE)
+  cfi_adjust_cfa_offset (128)
+
+  /* The address of the exit code is in the link register.  Store the lr
+     in the ucontext as LNK so the target function will return to our
+     exit code.  */
+L(gotexitcodeaddr):
+  mflr  r0
+  std   r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
+  ld    r0,128+FRAME_LR_SAVE(r1)
+  addi  r1,r1,128
+  mtlr  r0
+  blr
+END(__makecontext)
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
new file mode 100644
index 0000000000..e258b9da41
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
@@ -0,0 +1,513 @@
+/* Switch to context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+#include <asm/errno.h>
+
+	.section	".toc","aw"
+.LC__dl_hwcap:
+#ifdef SHARED
+	.tc _rtld_global_ro[TC],_rtld_global_ro
+#else
+	.tc _dl_hwcap[TC],_dl_hwcap
+#endif
+	.section ".text"
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
+ENTRY(__novec_setcontext)
+	CALL_MCOUNT 1
+  mflr  r0
+  std   r31,-8(1)
+  cfi_offset(r31,-8)
+  std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+  mr    r31,r3
+
+/*
+ * If this ucontext refers to the point where we were interrupted
+ * by a signal, we have to use the rt_sigreturn system call to
+ * return to the context so we get both LR and CTR restored.
+ *
+ * Otherwise, the context we are restoring is either just after
+ * a procedure call (getcontext/swapcontext) or at the beginning
+ * of a procedure call (makecontext), so we don't need to restore
+ * msr and ctr.  We don't restore r13 since it will be used as
+ * the TLS pointer.  */
+  ld	  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
+  cmpdi r0,0
+  bne	  L(nv_do_sigret)
+
+  li    r5,0
+  addi  r4,r3,UCONTEXT_SIGMASK
+  li    r3,SIG_SETMASK
+  bl    JUMPTARGET(__sigprocmask)
+  nop
+  cmpdi r3,0
+  bne   L(nv_error_exit)
+
+# ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+# else
+  ld    r5,0(r5) /* Load extern _dl_hwcap.  */
+# endif
+
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31)
+  lfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31)
+  lfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31)
+
+# ifdef _ARCH_PWR6
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r5,PPC_FEATURE_HAS_DFP
+  beq    5f
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+
+  b      6f
+  /* Continue to operate on the FPSCR as if it were 32-bits.  */
+5:
+  mtfsf  0xff,fp0
+6:
+# endif /* _ARCH_PWR6 */
+
+  lfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
+  lfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)
+  lfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31)
+  lfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r31)
+  lfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r31)
+  lfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r31)
+  lfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r31)
+  lfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r31)
+  lfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r31)
+  lfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r31)
+  lfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r31)
+  lfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r31)
+  lfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r31)
+  lfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r31)
+  lfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r31)
+  lfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r31)
+  lfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r31)
+  lfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r31)
+  lfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r31)
+  lfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r31)
+  lfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r31)
+  lfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r31)
+  lfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r31)
+  lfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r31)
+  lfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r31)
+  lfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r31)
+  lfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r31)
+  lfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r31)
+  lfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r31)
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r31)
+
+  /* End FDE now, because the unwind info would be wrong while
+     we're reloading registers to switch to the new context.  */
+  cfi_endproc
+
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r31)
+  ld   r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r31)
+  mtlr r0
+  ld   r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r31)
+  ld   r3,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r31)
+  mtxer r0
+  ld   r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
+  ld   r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
+  mtcr r0
+  ld   r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
+  ld   r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
+  ld   r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
+  ld   r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
+  ld   r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
+  ld   r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
+  ld   r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)
+  /* Don't reload the thread ID or TLS pointer (r13).  */
+  ld   r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r31)
+  ld   r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r31)
+  ld   r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r31)
+  ld   r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r31)
+  ld   r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r31)
+  ld   r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r31)
+  ld   r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r31)
+  ld   r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r31)
+  ld   r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r31)
+  ld   r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r31)
+  ld   r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r31)
+  ld   r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r31)
+  ld   r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r31)
+  ld   r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r31)
+  ld   r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r31)
+  ld   r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r31)
+  ld   r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r31)
+
+  /* Now we branch to the "Next Instruction Pointer" from the saved
+     context.  With the powerpc64 instruction set there is no good way to
+     do this (from user state) without clobbering either the LR or CTR.
+     The makecontext and swapcontext functions depend on the callers
+     LR being preserved so we use the CTR.  */
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r31)
+  mtctr r0
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r31)
+  ld   r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r31)
+  bctr
+
+  /* Re-establish FDE for the rest of the actual setcontext routine.  */
+  cfi_startproc
+  cfi_offset (lr, FRAME_LR_SAVE)
+  cfi_adjust_cfa_offset (128)
+
+L(nv_error_exit):
+  ld   r0,128+FRAME_LR_SAVE(r1)
+  addi r1,r1,128
+  mtlr r0
+	ld   r31,-8(r1)
+  blr
+
+  /* At this point we assume that the ucontext was created by a
+     rt_signal and we should use rt_sigreturn to restore the original
+     state.  As of the 2.4.21 kernel the ucontext is the first thing
+     (offset 0) in the rt_signal frame and rt_sigreturn expects the
+     ucontext address in R1.  Normally the rt-signal trampoline handles
+     this by popping dummy frame before the rt_signal syscall.  In our
+     case the stack may not be in its original (signal handler return with
+     R1 pointing at the dummy frame) state.  We do have the ucontext
+     address in R3, so simply copy R3 to R1 before the syscall.  */
+L(nv_do_sigret):
+  mr   r1,r3,
+  li   r0,SYS_ify(rt_sigreturn)
+  sc
+  /* No return.  */
+
+PSEUDO_END(__novec_setcontext)
+
+compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3)
+
+#endif
+
+	.section ".text"
+	.machine	"altivec"
+ENTRY(__setcontext)
+	CALL_MCOUNT 1
+  mflr  r0
+  std   r31,-8(1)
+  cfi_offset(r31,-8)
+  std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+  mr    r31,r3
+
+/*
+ * If this ucontext refers to the point where we were interrupted
+ * by a signal, we have to use the rt_sigreturn system call to
+ * return to the context so we get both LR and CTR restored.
+ *
+ * Otherwise, the context we are restoring is either just after
+ * a procedure call (getcontext/swapcontext) or at the beginning
+ * of a procedure call (makecontext), so we don't need to restore
+ * msr and ctr.  We don't restore r13 since it will be used as
+ * the TLS pointer.  */
+  ld	  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
+  cmpdi r0,0
+  bne	  L(do_sigret)
+
+  li    r5,0
+  addi  r4,r3,UCONTEXT_SIGMASK
+  li    r3,SIG_SETMASK
+  bl    JUMPTARGET(__sigprocmask)
+  nop
+  cmpdi r3,0
+  bne   L(error_exit)
+
+  ld    r5,.LC__dl_hwcap@toc(r2)
+  ld    r10,(SIGCONTEXT_V_REGS_PTR)(r31)
+# ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+# else
+  ld    r5,0(r5) /* Load extern _dl_hwcap.  */
+# endif
+  andis.  r6,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+  beq   L(has_no_vec)
+
+  cmpdi r10,0
+  beq   L(has_no_vec)
+  lwz   r0,(33*16)(r10)
+
+  li    r9,(16*32)
+  mtspr VRSAVE,r0
+  cmpwi r0,0
+  beq   L(has_no_vec)
+
+  lvx   v19,r9,r10
+  la    r9,(16)(r10)
+
+  lvx   v0,0,r10
+  lvx   v1,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  mtvscr  v19
+  lvx   v2,0,r10
+  lvx   v3,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v4,0,r10
+  lvx   v5,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v6,0,r10
+  lvx   v7,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v8,0,r10
+  lvx   v9,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v10,0,r10
+  lvx   v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v12,0,r10
+  lvx   v13,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v14,0,r10
+  lvx   v15,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v16,0,r10
+  lvx   v17,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v18,0,r10
+  lvx   v19,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v20,0,r10
+  lvx   v21,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v22,0,r10
+  lvx   v23,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v24,0,r10
+  lvx   v25,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v26,0,r10
+  lvx   v27,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v28,0,r10
+  lvx   v29,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v30,0,r10
+  lvx   v31,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v10,0,r10
+  lvx   v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+L(has_no_vec):
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31)
+  lfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31)
+  lfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31)
+
+# ifdef _ARCH_PWR6
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r5,PPC_FEATURE_HAS_DFP
+  beq    7f
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+
+  b      8f
+  /* Continue to operate on the FPSCR as if it were 32-bits.  */
+7:
+  mtfsf  0xff,fp0
+8:
+# endif /* _ARCH_PWR6 */
+
+  lfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
+  lfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)
+  lfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31)
+  lfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r31)
+  lfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r31)
+  lfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r31)
+  lfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r31)
+  lfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r31)
+  lfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r31)
+  lfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r31)
+  lfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r31)
+  lfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r31)
+  lfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r31)
+  lfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r31)
+  lfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r31)
+  lfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r31)
+  lfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r31)
+  lfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r31)
+  lfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r31)
+  lfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r31)
+  lfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r31)
+  lfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r31)
+  lfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r31)
+  lfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r31)
+  lfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r31)
+  lfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r31)
+  lfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r31)
+  lfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r31)
+  lfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r31)
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r31)
+
+  /* End FDE now, because the unwind info would be wrong while
+     we're reloading registers to switch to the new context.  */
+  cfi_endproc
+
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r31)
+  ld   r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r31)
+  mtlr r0
+  ld   r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r31)
+  ld   r3,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r31)
+  mtxer r0
+  ld   r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
+  ld   r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
+  ld   r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
+  ld   r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
+  ld   r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
+  ld   r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
+  mtcr r0
+  ld   r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
+  ld   r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
+  ld   r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)
+  /* Don't reload the thread ID or TLS pointer (r13).  */
+  ld   r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r31)
+  ld   r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r31)
+  ld   r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r31)
+  ld   r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r31)
+  ld   r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r31)
+  ld   r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r31)
+  ld   r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r31)
+  ld   r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r31)
+  ld   r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r31)
+  ld   r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r31)
+  ld   r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r31)
+  ld   r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r31)
+  ld   r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r31)
+  ld   r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r31)
+  ld   r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r31)
+  ld   r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r31)
+  ld   r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r31)
+
+  /* Now we branch to the "Next Instruction Pointer" from the saved
+     context.  With the powerpc64 instruction set there is no good way to
+     do this (from user state) without clobbering either the LR or CTR.
+     The makecontext and swapcontext functions depend on the callers
+     LR being preserved so we use the CTR.  */
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r31)
+  mtctr r0
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r31)
+  ld   r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r31)
+  bctr
+
+  /* Re-establish FDE for the rest of the actual setcontext routine.  */
+  cfi_startproc
+  cfi_offset (lr, FRAME_LR_SAVE)
+  cfi_adjust_cfa_offset (128)
+
+L(error_exit):
+  ld   r0,128+FRAME_LR_SAVE(r1)
+  addi r1,r1,128
+  mtlr r0
+	ld   r31,-8(r1)
+  blr
+
+  /* At this point we assume that the ucontext was created by a
+     rt_signal and we should use rt_sigreturn to restore the original
+     state.  As of the 2.4.21 kernel the ucontext is the first thing
+     (offset 0) in the rt_signal frame and rt_sigreturn expects the
+     ucontext address in R1.  Normally the rt-signal trampoline handles
+     this by popping dummy frame before the rt_signal syscall.  In our
+     case the stack may not be in its original (signal handler return with
+     R1 pointing at the dummy frame) state.  We do have the ucontext
+     address in R3, so simply copy R3 to R1 before the syscall.  */
+L(do_sigret):
+  mr   r1,r3,
+  li   r0,SYS_ify(rt_sigreturn)
+  sc
+  /* No return.  */
+
+PSEUDO_END(__setcontext)
+
+versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
new file mode 100644
index 0000000000..bc6debaf69
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
@@ -0,0 +1,7 @@
+%ifdef HAVE_ELFV2_ABI
+DEFAULT			GLIBC_2.17
+ld=ld64.so.2
+%else
+DEFAULT			GLIBC_2.3
+ld=ld64.so.1
+%endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
new file mode 100644
index 0000000000..b08d269424
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -0,0 +1,797 @@
+/* Save current context and install the given one.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <rtld-global-offsets.h>
+#include <shlib-compat.h>
+
+#define __ASSEMBLY__
+#include <asm/ptrace.h>
+#include "ucontext_i.h"
+#include <asm/errno.h>
+
+	.section	".toc","aw"
+.LC__dl_hwcap:
+#ifdef SHARED
+	.tc _rtld_global_ro[TC],_rtld_global_ro
+#else
+	.tc _dl_hwcap[TC],_dl_hwcap
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
+	.section	".text"
+ENTRY(__novec_swapcontext)
+	CALL_MCOUNT 2
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
+  std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
+  mflr  r0
+  std   r31,-8(1)
+  cfi_offset(r31,-8)
+  std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
+  std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
+  std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
+  std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
+  std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
+  std  r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r3)
+  std  r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r3)
+  std  r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r3)
+  std  r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r3)
+  std  r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r3)
+  std  r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r3)
+  std  r13,(SIGCONTEXT_GP_REGS+(PT_R13*8))(r3)
+  std  r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r3)
+  std  r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r3)
+  std  r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r3)
+  std  r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r3)
+  std  r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r3)
+  std  r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r3)
+  std  r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r3)
+  std  r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r3)
+  std  r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r3)
+  std  r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r3)
+  std  r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r3)
+  std  r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r3)
+  std  r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r3)
+  std  r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r3)
+  std  r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r3)
+  std  r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r3)
+  std  r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r3)
+  std  r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r3)
+  mfctr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CTR*8))(r3)
+  mfxer  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r3)
+  mfcr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r3)
+
+  /* Set the return value of swapcontext to "success".  R3 is the only
+     register whose value is not preserved in the saved context.  */
+  li   r0,0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r3)
+
+  /* Zero fill fields that can't be set in user state or are unused.  */
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(34*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_SOFTE*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(40*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(41*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(42*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_RESULT*8))(r3)
+
+  /* Set the PT_REGS pointer to the address of sigcontext gp_regs
+     field.  Struct pt_regs and elf_gregset_t are the same thing.
+     We kept the regs field for backwards compatibility with
+     libraries built before we extended sigcontext.  */
+  addi r0,r3,SIGCONTEXT_GP_REGS
+  std  r0,SIGCONTEXT_PT_REGS(r3)
+
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r3)
+  stfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r3)
+  stfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r3)
+  stfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r3)
+  stfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r3)
+  stfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r3)
+  stfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r3)
+  stfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r3)
+  stfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r3)
+  stfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r3)
+  stfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r3)
+  stfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r3)
+  stfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r3)
+  stfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r3)
+  stfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r3)
+  stfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r3)
+  stfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r3)
+  stfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r3)
+  stfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r3)
+  stfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r3)
+  stfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r3)
+  stfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r3)
+  stfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r3)
+  stfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r3)
+  stfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r3)
+  stfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r3)
+  stfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r3)
+  stfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r3)
+  stfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r3)
+  stfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r3)
+  mffs  fp0
+  stfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r3)
+  stfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r3)
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3)
+
+  mr    r31,r4
+  addi  r5,r3,UCONTEXT_SIGMASK
+  addi  r4,r4,UCONTEXT_SIGMASK
+  li    r3,SIG_SETMASK
+  bl    JUMPTARGET(__sigprocmask)
+  nop
+  cmpdi  r3,0
+  bne   L(nv_error_exit)
+
+/*
+ * If this new ucontext refers to the point where we were interrupted
+ * by a signal, we have to use the rt_sigreturn system call to
+ * return to the context so we get both LR and CTR restored.
+ *
+ * Otherwise, the context we are restoring is either just after
+ * a procedure call (getcontext/swapcontext) or at the beginning
+ * of a procedure call (makecontext), so we don't need to restore
+ * msr and ctr.  We don't restore r13 since it will be used as
+ * the TLS pointer.  */
+  ld	  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
+  cmpdi r0,0
+  bne	  L(nv_do_sigret)
+
+  ld	r8,.LC__dl_hwcap@toc(r2)
+# ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8)
+# else
+  ld    r8,0(r8) /* Load extern _dl_hwcap.  */
+# endif
+
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31)
+  lfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31)
+  lfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31)
+
+# ifdef _ARCH_PWR6
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r8,PPC_FEATURE_HAS_DFP
+  beq    5f
+
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+
+  b      6f
+  /* Continue to operate on the FPSCR as if it were 32-bits.  */
+5:
+  mtfsf  0xff,fp0
+6:
+#endif /* _ARCH_PWR6 */
+
+  lfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
+  lfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)
+  lfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31)
+  lfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r31)
+  lfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r31)
+  lfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r31)
+  lfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r31)
+  lfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r31)
+  lfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r31)
+  lfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r31)
+  lfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r31)
+  lfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r31)
+  lfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r31)
+  lfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r31)
+  lfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r31)
+  lfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r31)
+  lfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r31)
+  lfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r31)
+  lfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r31)
+  lfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r31)
+  lfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r31)
+  lfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r31)
+  lfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r31)
+  lfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r31)
+  lfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r31)
+  lfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r31)
+  lfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r31)
+  lfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r31)
+  lfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r31)
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r31)
+
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r31)
+  ld   r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r31)
+  mtlr r0
+  ld   r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r31)
+  ld   r3,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r31)
+  mtxer r0
+  ld   r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
+  ld   r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
+  mtcr r0
+  ld   r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
+  ld   r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
+  ld   r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
+  ld   r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
+  ld   r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
+  ld   r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
+  ld   r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)
+  /* Don't reload the thread ID or TLS pointer (r13).  */
+  ld   r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r31)
+  ld   r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r31)
+  ld   r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r31)
+  ld   r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r31)
+  ld   r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r31)
+  ld   r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r31)
+  ld   r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r31)
+  ld   r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r31)
+  ld   r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r31)
+  ld   r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r31)
+  ld   r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r31)
+  ld   r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r31)
+  ld   r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r31)
+  ld   r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r31)
+  ld   r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r31)
+  ld   r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r31)
+  ld   r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r31)
+
+  /* Now we branch to the "Next Instruction Pointer" from the saved
+     context.  With the powerpc64 instruction set there is no good way to
+     do this (from user state) without clobbering either the LR or CTR.
+     The makecontext and swapcontext functions depend on the callers
+     LR being preserved so we use the CTR.  */
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r31)
+  mtctr r0
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r31)
+  ld   r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r31)
+  bctr
+
+L(nv_error_exit):
+  ld    r0,128+FRAME_LR_SAVE(r1)
+  addi  r1,r1,128
+  mtlr  r0
+  ld    r31,-8(r1)
+  blr
+
+  /* At this point we assume that the ucontext was created by a
+     rt_signal and we should use rt_sigreturn to restore the original
+     state.  As of the 2.4.21 kernel the ucontext is the first thing
+     (offset 0) in the rt_signal frame and rt_sigreturn expects the
+     ucontext address in R1.  Normally the rt-signal trampoline handles
+     this by popping dummy frame before the rt_signal syscall.  In our
+     case the stack may not be in its original (signal handler return with
+     R1 pointing at the dummy frame) state.  We do have the ucontext
+     address in R3, so simply copy R3 to R1 before the syscall.  */
+L(nv_do_sigret):
+  mr   r1,r3,
+  li   r0,SYS_ify(rt_sigreturn)
+  sc
+  /* No return.  */
+
+PSEUDO_END(__novec_swapcontext)
+
+compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3)
+
+#endif
+
+	.section ".text"
+	.machine	"altivec"
+ENTRY(__swapcontext)
+	CALL_MCOUNT 2
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
+  std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
+  mflr  r0
+  std   r31,-8(1)
+  cfi_offset(r31,-8)
+  std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
+  std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
+  stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset(128)
+  std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
+  std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
+  std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
+  std  r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r3)
+  std  r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r3)
+  std  r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r3)
+  std  r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r3)
+  std  r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r3)
+  std  r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r3)
+  std  r13,(SIGCONTEXT_GP_REGS+(PT_R13*8))(r3)
+  std  r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r3)
+  std  r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r3)
+  std  r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r3)
+  std  r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r3)
+  std  r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r3)
+  std  r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r3)
+  std  r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r3)
+  std  r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r3)
+  std  r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r3)
+  std  r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r3)
+  std  r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r3)
+  std  r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r3)
+  std  r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r3)
+  std  r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r3)
+  std  r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r3)
+  std  r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r3)
+  std  r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r3)
+  std  r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r3)
+  mfctr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CTR*8))(r3)
+  mfxer  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r3)
+  mfcr  r0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r3)
+
+  /* Set the return value of swapcontext to "success".  R3 is the only
+     register whose value is not preserved in the saved context.  */
+  li   r0,0
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r3)
+
+  /* Zero fill fields that can't be set in user state or are unused.  */
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(34*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_SOFTE*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(40*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(41*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(42*8))(r3)
+  std  r0,(SIGCONTEXT_GP_REGS+(PT_RESULT*8))(r3)
+
+  /* Set the PT_REGS pointer to the address of sigcontext gp_regs
+     field.  Struct pt_regs and elf_gregset_t are the same thing.
+     We kept the regs field for backwards compatibility with
+     libraries built before we extended sigcontext.  */
+  addi r0,r3,SIGCONTEXT_GP_REGS
+  std  r0,SIGCONTEXT_PT_REGS(r3)
+
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r3)
+  stfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r3)
+  stfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r3)
+  stfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r3)
+  stfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r3)
+  stfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r3)
+  stfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r3)
+  stfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r3)
+  stfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r3)
+  stfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r3)
+  stfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r3)
+  stfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r3)
+  stfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r3)
+  stfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r3)
+  stfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r3)
+  stfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r3)
+  stfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r3)
+  stfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r3)
+  stfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r3)
+  stfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r3)
+  stfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r3)
+  stfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r3)
+  stfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r3)
+  stfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r3)
+  stfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r3)
+  stfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r3)
+  stfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r3)
+  stfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r3)
+  stfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r3)
+  stfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r3)
+  mffs  fp0
+  stfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r3)
+  stfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r3)
+  stfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r3)
+
+  ld    r8,.LC__dl_hwcap@toc(r2)
+#ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8)
+#else
+  ld    r8,0(r8) /* Load extern _dl_hwcap.  */
+#endif
+  la    r10,(SIGCONTEXT_V_RESERVE+8)(r3)
+  la    r9,(SIGCONTEXT_V_RESERVE+24)(r3)
+
+  andis.  r6,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+
+  clrrdi  r10,r10,4
+  beq   L(has_no_vec)
+
+  clrrdi  r9,r9,4
+  mr    r8,r10	/* Capture *v_regs value in r5.  */
+
+  stvx  v0,0,r10
+  stvx  v1,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v2,0,r10
+  stvx  v3,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v4,0,r10
+  stvx  v5,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v6,0,r10
+  stvx  v7,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v8,0,r10
+  stvx  v9,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v10,0,r10
+  stvx  v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v12,0,r10
+  stvx  v13,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v14,0,r10
+  stvx  v15,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v16,0,r10
+  stvx  v17,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v18,0,r10
+  stvx  v19,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v20,0,r10
+  stvx  v21,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v22,0,r10
+  stvx  v23,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v24,0,r10
+  stvx  v25,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v26,0,r10
+  stvx  v27,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v28,0,r10
+  stvx  v29,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  stvx  v30,0,r10
+  stvx  v31,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  mfvscr  v0
+  mfspr r0,VRSAVE
+  stvx  v0,0,r10
+  stw   r0,0(r9)
+
+L(has_no_vec):
+/*
+   Store either a NULL or a quadword aligned pointer to the Vector register
+   array into *v_regs.
+*/
+  std   r8,(SIGCONTEXT_V_REGS_PTR)(r3)
+
+  mr    r31,r4
+  addi  r5,r3,UCONTEXT_SIGMASK
+  addi  r4,r4,UCONTEXT_SIGMASK
+  li    r3,SIG_SETMASK
+  bl    JUMPTARGET(__sigprocmask)
+  nop
+  cmpdi  r3,0
+  bne   L(error_exit)
+
+/*
+ * If this new ucontext refers to the point where we were interrupted
+ * by a signal, we have to use the rt_sigreturn system call to
+ * return to the context so we get both LR and CTR restored.
+ *
+ * Otherwise, the context we are restoring is either just after
+ * a procedure call (getcontext/swapcontext) or at the beginning
+ * of a procedure call (makecontext), so we don't need to restore
+ * msr and ctr.  We don't restore r13 since it will be used as
+ * the TLS pointer.  */
+  ld	  r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
+  cmpdi r0,0
+  bne	  L(do_sigret)
+
+  ld    r8,.LC__dl_hwcap@toc(r2)
+  ld    r10,(SIGCONTEXT_V_REGS_PTR)(r31)
+# ifdef SHARED
+/* Load _rtld-global._dl_hwcap.  */
+  ld    r8,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r8)
+# else
+  ld    r8,0(r8) /* Load extern _dl_hwcap.  */
+# endif
+  andis.  r6,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+  beq   L(has_no_vec2)
+
+  cmpdi r10,0
+  beq   L(has_no_vec2)
+  lwz   r0,(33*16)(r10)
+
+  li    r9,(16*32)
+  mtspr VRSAVE,r0
+  cmpwi r0,0
+  beq   L(has_no_vec2)
+
+  lvx   v19,r9,r10
+  la    r9,(16)(r10)
+
+  lvx   v0,0,r10
+  lvx   v1,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  mtvscr  v19
+  lvx   v2,0,r10
+  lvx   v3,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v4,0,r10
+  lvx   v5,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v6,0,r10
+  lvx   v7,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v8,0,r10
+  lvx   v9,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v10,0,r10
+  lvx   v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v12,0,r10
+  lvx   v13,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v14,0,r10
+  lvx   v15,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v16,0,r10
+  lvx   v17,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v18,0,r10
+  lvx   v19,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v20,0,r10
+  lvx   v21,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v22,0,r10
+  lvx   v23,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v24,0,r10
+  lvx   v25,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v26,0,r10
+  lvx   v27,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v28,0,r10
+  lvx   v29,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v30,0,r10
+  lvx   v31,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+  lvx   v10,0,r10
+  lvx   v11,0,r9
+  addi  r10,r10,32
+  addi  r9,r9,32
+
+L(has_no_vec2):
+
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31)
+  lfd  fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31)
+  lfd  fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31)
+
+# ifdef _ARCH_PWR6
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r8,PPC_FEATURE_HAS_DFP
+  beq    7f
+
+  .machine push
+  .machine "power6"
+
+  mtfsf  0xff,fp0,1,0
+
+  .machine pop
+
+  b      8f
+  /* Continue to operate on the FPSCR as if it were 32-bits.  */
+7:
+  mtfsf  0xff,fp0
+8:
+#endif /* _ARCH_PWR6 */
+
+  lfd  fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
+  lfd  fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)
+  lfd  fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31)
+  lfd  fp26,(SIGCONTEXT_FP_REGS+(PT_R26*8))(r31)
+  lfd  fp25,(SIGCONTEXT_FP_REGS+(PT_R25*8))(r31)
+  lfd  fp24,(SIGCONTEXT_FP_REGS+(PT_R24*8))(r31)
+  lfd  fp23,(SIGCONTEXT_FP_REGS+(PT_R23*8))(r31)
+  lfd  fp22,(SIGCONTEXT_FP_REGS+(PT_R22*8))(r31)
+  lfd  fp21,(SIGCONTEXT_FP_REGS+(PT_R21*8))(r31)
+  lfd  fp20,(SIGCONTEXT_FP_REGS+(PT_R20*8))(r31)
+  lfd  fp19,(SIGCONTEXT_FP_REGS+(PT_R19*8))(r31)
+  lfd  fp18,(SIGCONTEXT_FP_REGS+(PT_R18*8))(r31)
+  lfd  fp17,(SIGCONTEXT_FP_REGS+(PT_R17*8))(r31)
+  lfd  fp16,(SIGCONTEXT_FP_REGS+(PT_R16*8))(r31)
+  lfd  fp15,(SIGCONTEXT_FP_REGS+(PT_R15*8))(r31)
+  lfd  fp14,(SIGCONTEXT_FP_REGS+(PT_R14*8))(r31)
+  lfd  fp13,(SIGCONTEXT_FP_REGS+(PT_R13*8))(r31)
+  lfd  fp12,(SIGCONTEXT_FP_REGS+(PT_R12*8))(r31)
+  lfd  fp11,(SIGCONTEXT_FP_REGS+(PT_R11*8))(r31)
+  lfd  fp10,(SIGCONTEXT_FP_REGS+(PT_R10*8))(r31)
+  lfd  fp9,(SIGCONTEXT_FP_REGS+(PT_R9*8))(r31)
+  lfd  fp8,(SIGCONTEXT_FP_REGS+(PT_R8*8))(r31)
+  lfd  fp7,(SIGCONTEXT_FP_REGS+(PT_R7*8))(r31)
+  lfd  fp6,(SIGCONTEXT_FP_REGS+(PT_R6*8))(r31)
+  lfd  fp5,(SIGCONTEXT_FP_REGS+(PT_R5*8))(r31)
+  lfd  fp4,(SIGCONTEXT_FP_REGS+(PT_R4*8))(r31)
+  lfd  fp3,(SIGCONTEXT_FP_REGS+(PT_R3*8))(r31)
+  lfd  fp2,(SIGCONTEXT_FP_REGS+(PT_R2*8))(r31)
+  lfd  fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r31)
+  lfd  fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r31)
+
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r31)
+  ld   r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r31)
+  mtlr r0
+  ld   r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_XER*8))(r31)
+  ld   r3,(SIGCONTEXT_GP_REGS+(PT_R3*8))(r31)
+  mtxer r0
+  ld   r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
+  ld   r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
+  ld   r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
+  ld   r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
+  ld   r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
+  ld   r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
+  mtcr r0
+  ld   r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
+  ld   r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
+  ld   r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)
+  /* Don't reload the thread ID or TLS pointer (r13).  */
+  ld   r14,(SIGCONTEXT_GP_REGS+(PT_R14*8))(r31)
+  ld   r15,(SIGCONTEXT_GP_REGS+(PT_R15*8))(r31)
+  ld   r16,(SIGCONTEXT_GP_REGS+(PT_R16*8))(r31)
+  ld   r17,(SIGCONTEXT_GP_REGS+(PT_R17*8))(r31)
+  ld   r18,(SIGCONTEXT_GP_REGS+(PT_R18*8))(r31)
+  ld   r19,(SIGCONTEXT_GP_REGS+(PT_R19*8))(r31)
+  ld   r20,(SIGCONTEXT_GP_REGS+(PT_R20*8))(r31)
+  ld   r21,(SIGCONTEXT_GP_REGS+(PT_R21*8))(r31)
+  ld   r22,(SIGCONTEXT_GP_REGS+(PT_R22*8))(r31)
+  ld   r23,(SIGCONTEXT_GP_REGS+(PT_R23*8))(r31)
+  ld   r24,(SIGCONTEXT_GP_REGS+(PT_R24*8))(r31)
+  ld   r25,(SIGCONTEXT_GP_REGS+(PT_R25*8))(r31)
+  ld   r26,(SIGCONTEXT_GP_REGS+(PT_R26*8))(r31)
+  ld   r27,(SIGCONTEXT_GP_REGS+(PT_R27*8))(r31)
+  ld   r28,(SIGCONTEXT_GP_REGS+(PT_R28*8))(r31)
+  ld   r29,(SIGCONTEXT_GP_REGS+(PT_R29*8))(r31)
+  ld   r30,(SIGCONTEXT_GP_REGS+(PT_R30*8))(r31)
+
+  /* Now we branch to the "Next Instruction Pointer" from the saved
+     context.  With the powerpc64 instruction set there is no good way to
+     do this (from user state) without clobbering either the LR or CTR.
+     The makecontext and swapcontext functions depend on the callers
+     LR being preserved so we use the CTR.  */
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r31)
+  mtctr r0
+  ld   r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r31)
+  ld   r31,(SIGCONTEXT_GP_REGS+(PT_R31*8))(r31)
+  bctr
+
+L(error_exit):
+  ld    r0,128+FRAME_LR_SAVE(r1)
+  addi  r1,r1,128
+  mtlr  r0
+  ld    r31,-8(r1)
+  blr
+
+  /* At this point we assume that the ucontext was created by a
+     rt_signal and we should use rt_sigreturn to restore the original
+     state.  As of the 2.4.21 kernel the ucontext is the first thing
+     (offset 0) in the rt_signal frame and rt_sigreturn expects the
+     ucontext address in R1.  Normally the rt-signal trampoline handles
+     this by popping dummy frame before the rt_signal syscall.  In our
+     case the stack may not be in its original (signal handler return with
+     R1 pointing at the dummy frame) state.  We do have the ucontext
+     address in R3, so simply copy R3 to R1 before the syscall.  */
+L(do_sigret):
+  mr   r1,r3,
+  li   r0,SYS_ify(rt_sigreturn)
+  sc
+  /* No return.  */
+
+PSEUDO_END(__swapcontext)
+
+versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
new file mode 100644
index 0000000000..cad13da3ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -0,0 +1,147 @@
+/* Cancellable system call stubs.  Linux/PowerPC64 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# define DASHDASHPFX(str) __##str
+
+#if _CALL_ELF == 2
+#define CANCEL_FRAMESIZE (FRAME_MIN_SIZE+16+48)
+#define CANCEL_PARM_SAVE (FRAME_MIN_SIZE+16)
+#else
+#define CANCEL_FRAMESIZE (FRAME_MIN_SIZE+16)
+#define CANCEL_PARM_SAVE (CANCEL_FRAMESIZE+FRAME_PARM_SAVE)
+#endif
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+  .section ".text";							\
+  ENTRY (name)								\
+    SINGLE_THREAD_P;							\
+    bne- .Lpseudo_cancel;						\
+  .type DASHDASHPFX(syscall_name##_nocancel),@function;			\
+  .globl DASHDASHPFX(syscall_name##_nocancel);				\
+  DASHDASHPFX(syscall_name##_nocancel):					\
+    DO_CALL (SYS_ify (syscall_name));					\
+    PSEUDO_RET;								\
+  .size DASHDASHPFX(syscall_name##_nocancel),.-DASHDASHPFX(syscall_name##_nocancel);	\
+  .Lpseudo_cancel:							\
+    stdu 1,-CANCEL_FRAMESIZE(1);					\
+    cfi_adjust_cfa_offset (CANCEL_FRAMESIZE);				\
+    mflr 9;								\
+    std  9,CANCEL_FRAMESIZE+FRAME_LR_SAVE(1);				\
+    cfi_offset (lr, FRAME_LR_SAVE);					\
+    DOCARGS_##args;	/* save syscall args around CENABLE.  */	\
+    CENABLE;								\
+    std  3,FRAME_MIN_SIZE(1); /* store CENABLE return value (MASK).  */	\
+    UNDOCARGS_##args;	/* restore syscall args.  */			\
+    DO_CALL (SYS_ify (syscall_name));					\
+    mfcr 0;		/* save CR/R3 around CDISABLE.  */		\
+    std  3,FRAME_MIN_SIZE+8(1);						\
+    std  0,CANCEL_FRAMESIZE+FRAME_CR_SAVE(1);				\
+    cfi_offset (cr, FRAME_CR_SAVE);					\
+    ld   3,FRAME_MIN_SIZE(1); /* pass MASK to CDISABLE.  */		\
+    CDISABLE;								\
+    ld   9,CANCEL_FRAMESIZE+FRAME_LR_SAVE(1);				\
+    ld   0,CANCEL_FRAMESIZE+FRAME_CR_SAVE(1); /* restore CR/R3. */	\
+    ld   3,FRAME_MIN_SIZE+8(1);						\
+    mtlr 9;								\
+    mtcr 0;								\
+    addi 1,1,CANCEL_FRAMESIZE;						\
+    cfi_adjust_cfa_offset (-CANCEL_FRAMESIZE);				\
+    cfi_restore (lr);							\
+    cfi_restore (cr)
+
+# define DOCARGS_0
+# define UNDOCARGS_0
+
+# define DOCARGS_1	std 3,CANCEL_PARM_SAVE(1); DOCARGS_0
+# define UNDOCARGS_1	ld 3,CANCEL_PARM_SAVE(1); UNDOCARGS_0
+
+# define DOCARGS_2	std 4,CANCEL_PARM_SAVE+8(1); DOCARGS_1
+# define UNDOCARGS_2	ld 4,CANCEL_PARM_SAVE+8(1); UNDOCARGS_1
+
+# define DOCARGS_3	std 5,CANCEL_PARM_SAVE+16(1); DOCARGS_2
+# define UNDOCARGS_3	ld 5,CANCEL_PARM_SAVE+16(1); UNDOCARGS_2
+
+# define DOCARGS_4	std 6,CANCEL_PARM_SAVE+24(1); DOCARGS_3
+# define UNDOCARGS_4	ld 6,CANCEL_PARM_SAVE+24(1); UNDOCARGS_3
+
+# define DOCARGS_5	std 7,CANCEL_PARM_SAVE+32(1); DOCARGS_4
+# define UNDOCARGS_5	ld 7,CANCEL_PARM_SAVE+32(1); UNDOCARGS_4
+
+# define DOCARGS_6	std 8,CANCEL_PARM_SAVE+40(1); DOCARGS_5
+# define UNDOCARGS_6	ld 8,CANCEL_PARM_SAVE+40(1); UNDOCARGS_5
+
+# if IS_IN (libpthread)
+#  ifdef SHARED
+#   define CENABLE	bl JUMPTARGET(__pthread_enable_asynccancel)
+#   define CDISABLE	bl JUMPTARGET(__pthread_disable_asynccancel)
+#  else
+#   define CENABLE	bl JUMPTARGET(__pthread_enable_asynccancel); nop
+#   define CDISABLE	bl JUMPTARGET(__pthread_disable_asynccancel); nop
+#  endif
+# elif IS_IN (libc)
+#  ifdef SHARED
+#   define CENABLE	bl JUMPTARGET(__libc_enable_asynccancel)
+#   define CDISABLE	bl JUMPTARGET(__libc_disable_asynccancel)
+#  else
+#   define CENABLE	bl JUMPTARGET(__libc_enable_asynccancel); nop
+#   define CDISABLE	bl JUMPTARGET(__libc_disable_asynccancel); nop
+#  endif
+# elif IS_IN (librt)
+#  ifdef SHARED
+#   define CENABLE	bl JUMPTARGET(__librt_enable_asynccancel)
+#   define CDISABLE	bl JUMPTARGET(__librt_disable_asynccancel)
+#  else
+#   define CENABLE	bl JUMPTARGET(__librt_enable_asynccancel); nop
+#   define CDISABLE	bl JUMPTARGET(__librt_disable_asynccancel); nop
+#  endif
+# else
+#  error Unsupported library
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+# else
+#   define SINGLE_THREAD_P						\
+  lwz   10,MULTIPLE_THREADS_OFFSET(13);				\
+  cmpwi 10,0
+# 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/powerpc/powerpc64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
new file mode 100644
index 0000000000..cc8f931626
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
@@ -0,0 +1,239 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Alan Modra <amodra@bigpond.net.au> rewrote the INLINE_SYSCALL macro */
+
+#ifndef _LINUX_POWERPC_SYSDEP_H
+#define _LINUX_POWERPC_SYSDEP_H 1
+
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/powerpc/sysdep.h>
+#include <tls.h>
+
+/* Define __set_errno() for INLINE_SYSCALL macro below.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* This seems to always be the case on PPC.  */
+# define ALIGNARG(log2) log2
+# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+
+#endif /* __ASSEMBLER__ */
+
+/* This version is for internal uses when there is no desire
+   to set errno */
+#define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, type, nr, args...)   \
+  ({									      \
+    type sc_ret = ENOSYS;						      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      sc_ret =								      \
+        INTERNAL_VSYSCALL_CALL_TYPE (vdsop, err, type, nr, ##args);	      \
+    else								      \
+      err = 1 << 28;							      \
+    sc_ret;								      \
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETRES_VSYSCALL	1
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETCPU_VSYSCALL		1
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call. This use is for internal calls that do not need to handle errors
+   normally. It will never touch errno. This returns just what the kernel
+   gave back in the non-error (CR0.SO cleared) case, otherwise (CR0.SO set)
+   the negation of the return value in the kernel gets reverted.  */
+
+#define INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, type, nr, args...)    \
+  ({									\
+    register void *r0  __asm__ ("r0");					\
+    register long int r3  __asm__ ("r3");				\
+    register long int r4  __asm__ ("r4");				\
+    register long int r5  __asm__ ("r5");				\
+    register long int r6  __asm__ ("r6");				\
+    register long int r7  __asm__ ("r7");				\
+    register long int r8  __asm__ ("r8");				\
+    register type rval  __asm__ ("r3");				        \
+    LOADARGS_##nr (funcptr, args);					\
+    __asm__ __volatile__						\
+      ("mtctr %0\n\t"							\
+       "bctrl\n\t"							\
+       "mfcr  %0\n\t"							\
+       "0:"								\
+       : "+r" (r0), "+r" (r3), "+r" (r4), "+r" (r5),  "+r" (r6),        \
+         "+r" (r7), "+r" (r8)						\
+       : : "r9", "r10", "r11", "r12", "cr0", "ctr", "lr", "memory");	\
+    err = (long int) r0;						\
+    __asm__ __volatile__ ("" : "=r" (rval) : "r" (r3));		        \
+    rval;								\
+  })
+
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		\
+  INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, long int, nr, args)
+
+#undef INLINE_SYSCALL
+
+/* This version is for kernels that implement system calls that
+   behave like function calls as far as register saving.  */
+#define INLINE_SYSCALL(name, nr, args...)				\
+  ({									\
+    INTERNAL_SYSCALL_DECL (sc_err);					\
+    long int sc_ret = INTERNAL_SYSCALL (name, sc_err, nr, args);	\
+    if (INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err))			\
+      {									\
+        __set_errno (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err));		\
+        sc_ret = -1L;							\
+      }									\
+    sc_ret;								\
+  })
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call. This use is for internal calls that do not need to handle errors
+   normally. It will never touch errno. This returns just what the kernel
+   gave back in the non-error (CR0.SO cleared) case, otherwise (CR0.SO set)
+   the negation of the return value in the kernel gets reverted.  */
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									\
+    register long int r0  __asm__ ("r0");				\
+    register long int r3  __asm__ ("r3");				\
+    register long int r4  __asm__ ("r4");				\
+    register long int r5  __asm__ ("r5");				\
+    register long int r6  __asm__ ("r6");				\
+    register long int r7  __asm__ ("r7");				\
+    register long int r8  __asm__ ("r8");				\
+    LOADARGS_##nr (name, ##args);					\
+    ABORT_TRANSACTION;							\
+    __asm__ __volatile__						\
+      ("sc\n\t"								\
+       "mfcr  %0\n\t"							\
+       "0:"								\
+       : "=&r" (r0),							\
+         "=&r" (r3), "=&r" (r4), "=&r" (r5),				\
+         "=&r" (r6), "=&r" (r7), "=&r" (r8)				\
+       : ASM_INPUT_##nr							\
+       : "r9", "r10", "r11", "r12",					\
+         "cr0", "ctr", "memory");					\
+	  err = r0;  \
+    r3;  \
+  })
+#define INTERNAL_SYSCALL(name, err, nr, args...)			\
+  INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, args)
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) long int err __attribute__ ((unused))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((void) (val), __builtin_expect ((err) & (1 << 28), 0))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)     (val)
+
+#define LOADARGS_0(name, dummy) \
+	r0 = name
+#define LOADARGS_1(name, __arg1) \
+	long int arg1 = (long int) (__arg1); \
+	LOADARGS_0(name, 0); \
+	extern void __illegally_sized_syscall_arg1 (void); \
+	if (__builtin_classify_type (__arg1) != 5 && sizeof (__arg1) > 8) \
+	  __illegally_sized_syscall_arg1 (); \
+	r3 = arg1
+#define LOADARGS_2(name, __arg1, __arg2) \
+	long int arg2 = (long int) (__arg2); \
+	LOADARGS_1(name, __arg1); \
+	extern void __illegally_sized_syscall_arg2 (void); \
+	if (__builtin_classify_type (__arg2) != 5 && sizeof (__arg2) > 8) \
+	  __illegally_sized_syscall_arg2 (); \
+	r4 = arg2
+#define LOADARGS_3(name, __arg1, __arg2, __arg3) \
+	long int arg3 = (long int) (__arg3); \
+	LOADARGS_2(name, __arg1, __arg2); \
+	extern void __illegally_sized_syscall_arg3 (void); \
+	if (__builtin_classify_type (__arg3) != 5 && sizeof (__arg3) > 8) \
+	  __illegally_sized_syscall_arg3 (); \
+	r5 = arg3
+#define LOADARGS_4(name, __arg1, __arg2, __arg3, __arg4) \
+	long int arg4 = (long int) (__arg4); \
+	LOADARGS_3(name, __arg1, __arg2, __arg3); \
+	extern void __illegally_sized_syscall_arg4 (void); \
+	if (__builtin_classify_type (__arg4) != 5 && sizeof (__arg4) > 8) \
+	  __illegally_sized_syscall_arg4 (); \
+	r6 = arg4
+#define LOADARGS_5(name, __arg1, __arg2, __arg3, __arg4, __arg5) \
+	long int arg5 = (long int) (__arg5); \
+	LOADARGS_4(name, __arg1, __arg2, __arg3, __arg4); \
+	extern void __illegally_sized_syscall_arg5 (void); \
+	if (__builtin_classify_type (__arg5) != 5 && sizeof (__arg5) > 8) \
+	  __illegally_sized_syscall_arg5 (); \
+	r7 = arg5
+#define LOADARGS_6(name, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \
+	long int arg6 = (long int) (__arg6); \
+	LOADARGS_5(name, __arg1, __arg2, __arg3, __arg4, __arg5); \
+	extern void __illegally_sized_syscall_arg6 (void); \
+	if (__builtin_classify_type (__arg6) != 5 && sizeof (__arg6) > 8) \
+	  __illegally_sized_syscall_arg6 (); \
+	r8 = arg6
+
+#define ASM_INPUT_0 "0" (r0)
+#define ASM_INPUT_1 ASM_INPUT_0, "1" (r3)
+#define ASM_INPUT_2 ASM_INPUT_1, "2" (r4)
+#define ASM_INPUT_3 ASM_INPUT_2, "3" (r5)
+#define ASM_INPUT_4 ASM_INPUT_3, "4" (r6)
+#define ASM_INPUT_5 ASM_INPUT_4, "5" (r7)
+#define ASM_INPUT_6 ASM_INPUT_5, "6" (r8)
+
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+	ld	tmpreg,POINTER_GUARD(r13); \
+	xor	reg,tmpreg,reg
+#  define PTR_MANGLE2(reg, tmpreg) \
+	xor	reg,tmpreg,reg
+#  define PTR_MANGLE3(destreg, reg, tmpreg) \
+	ld	tmpreg,POINTER_GUARD(r13); \
+	xor	destreg,tmpreg,reg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+#  define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg)
+#  define PTR_DEMANGLE3(destreg, reg, tmpreg) PTR_MANGLE3 (destreg, 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/powerpc/powerpc64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
new file mode 100644
index 0000000000..d307135003
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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/powerpc/powerpc64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
new file mode 100644
index 0000000000..2dd94f5c7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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/powerpc/powerpc64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
new file mode 100644
index 0000000000..22eaff5cda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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/powerpc/powerpc64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
new file mode 100644
index 0000000000..cea524bae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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/powerpc/powerpc64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
new file mode 100644
index 0000000000..fa231149d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/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/powerpc/powerpc64/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
new file mode 100644
index 0000000000..8364e4614f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
@@ -0,0 +1,29 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_STACK_SP		ucontext (uc_stack.ss_sp)
+UCONTEXT_STACK_FLAGS		ucontext (uc_stack.ss_flags)
+UCONTEXT_STACK_SIZE		ucontext (uc_stack.ss_size)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+SIGCONTEXT_SIGNAL		mcontext (signal)
+SIGCONTEXT_HANDLER		mcontext (handler)
+SIGCONTEXT_OLDMASK		mcontext (oldmask)
+SIGCONTEXT_PT_REGS		mcontext (regs)
+SIGCONTEXT_GP_REGS		mcontext (gp_regs)
+SIGCONTEXT_FP_REGS		mcontext (fp_regs)
+SIGCONTEXT_V_REGS_PTR		mcontext (v_regs)
+SIGCONTEXT_V_RESERVE		mcontext (vmx_reserve)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c
new file mode 100644
index 0000000000..e10b40f96c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/umount.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
new file mode 100644
index 0000000000..f4fdfe2ffb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
@@ -0,0 +1,39 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+	CALL_MCOUNT 0
+
+	DO_CALL (SYS_ify (vfork))
+
+	PSEUDO_RET
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies
new file mode 100644
index 0000000000..4eacd3ae86
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies
@@ -0,0 +1 @@
+unix/sysv/linux/powerpc/powerpc64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies
new file mode 100644
index 0000000000..5da96db05b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies
@@ -0,0 +1 @@
+unix/sysv/linux/powerpc/powerpc64/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/profil-counter.h
new file mode 100644
index 0000000000..8a6a0bcf3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/profil-counter.h
@@ -0,0 +1,2 @@
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
new file mode 100644
index 0000000000..0a977136b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
@@ -0,0 +1,61 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <setjmp.h>
+#include <stdlib.h>
+#include <bits/wordsize.h>
+#include "pthreadP.h"
+#include  <shlib-compat.h>
+#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_4)
+
+/* These functions are not declared anywhere since they shouldn't be
+   used at another place but here.  */
+extern void __novmx__libc_siglongjmp (sigjmp_buf env, int val)
+     __attribute__ ((noreturn));
+extern void __novmx__libc_longjmp (sigjmp_buf env, int val)
+     __attribute__ ((noreturn));
+
+
+void __novmx_siglongjmp (sigjmp_buf env, int val)
+{
+  __novmx__libc_siglongjmp (env, val);
+}
+
+void __novmx_longjmp (jmp_buf env, int val)
+{
+  __novmx__libc_longjmp (env, val);
+}
+
+compat_symbol (libpthread, __novmx_longjmp, longjmp, GLIBC_2_0);
+compat_symbol (libpthread, __novmx_siglongjmp, siglongjmp, GLIBC_2_0);
+#endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4))  */
+
+void
+__vmx_longjmp (jmp_buf env, int val)
+{
+  __libc_longjmp (env, val);
+}
+
+void
+__vmx_siglongjmp (jmp_buf env, int val)
+{
+  __libc_siglongjmp (env, val);
+}
+
+versioned_symbol (libpthread, __vmx_longjmp, longjmp, GLIBC_2_3_4);
+versioned_symbol (libpthread, __vmx_siglongjmp, siglongjmp, GLIBC_2_3_4);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c
new file mode 100644
index 0000000000..2cb0a13bcb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c
@@ -0,0 +1,2 @@
+#define NEW_VERNUM GLIBC_2_6
+#include <nptl/pthread_attr_setstack.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c
new file mode 100644
index 0000000000..6fedac1b33
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c
@@ -0,0 +1,9 @@
+#include <unistd.h>	/* For __getpagesize.  */
+#define NEW_VERNUM GLIBC_2_6
+#define STACKSIZE_ADJUST \
+  do {									      \
+    size_t ps = __getpagesize ();					      \
+    if (stacksize < 2 * ps)						      \
+      stacksize = 2 * ps;						      \
+  } while (0)
+#include <nptl/pthread_attr_setstacksize.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c
new file mode 100644
index 0000000000..22f9f745a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The cond lock is not actually elided yet, but we still need to handle
+   already elided locks.  */
+#include <elision-conf.h>
+
+#include <nptl/pthread_mutex_cond_lock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c
new file mode 100644
index 0000000000..927b32d597
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_lock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_lock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c
new file mode 100644
index 0000000000..1073ae05eb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_timedlock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_timedlock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c
new file mode 100644
index 0000000000..80e7743ef8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_trylock.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_trylock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/putmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/putmsg.c
new file mode 100644
index 0000000000..ebc1680ca7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/putmsg.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64.c
new file mode 100644
index 0000000000..2ea26dd409
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64_r.c
new file mode 100644
index 0000000000..9f54f897e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readdir64_r.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readelflib.c
new file mode 100644
index 0000000000..0b789e7f41
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/readelflib.c
@@ -0,0 +1,60 @@
+/* Special checks on libraries for ldconfig.  Linux/PowerPC version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret;
+
+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+    return process_elf32_file (file_name, lib, flag, osversion, soname,
+			       file_contents, file_length);
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* PowerPC 64bit libraries are always libc.so.6+.  */
+      if (!ret)
+	*flag = FLAG_POWERPC_LIB64|FLAG_ELF_LIBC6;
+      return ret;
+    }
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c
new file mode 100644
index 0000000000..3ff55952e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c
@@ -0,0 +1 @@
+#include <sysdep.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
new file mode 100644
index 0000000000..b8b59970f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+
+#define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
+#define GET_PC(ctx)	((void *)((ctx)->regs->nip))
+#define GET_FRAME(ctx)	(*(void **)((ctx)->regs->gpr[1]))
+#define GET_STACK(ctx)	((void *)((ctx)->regs->gpr[1]))
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h
new file mode 100644
index 0000000000..61ded22955
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h
@@ -0,0 +1,139 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* These definitions are normally provided by ucontext.h via
+   asm/sigcontext.h, asm/ptrace.h, and asm/elf.h.  Otherwise we define
+   them here.  */
+#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
+#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
+#define ELF_NFPREG      33      /* includes fpscr */
+#if __WORDSIZE == 32
+# define ELF_NVRREG      33      /* includes vscr */
+#else
+# define ELF_NVRREG      34      /* includes vscr */
+#endif
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+/* Altivec registers */
+typedef struct {
+  unsigned int u[4];
+} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
+typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
+#endif
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+#if 0
+    long int pr_flags;			/* XXX Process flags.  */
+    short int pr_why;			/* XXX Reason for process halt.  */
+    short int pr_what;			/* XXX More detailed reason.  */
+#endif
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#if 0
+    stack_t pr_altstack;		/* Alternate stack info.  */
+    struct sigaction pr_action;		/* Signal action for current sig.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+#if 0
+    long int pr_instr;			/* Current instruction.  */
+#endif
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    __uid_t pr_uid;
+    __gid_t pr_gid;
+    __pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
new file mode 100644
index 0000000000..ed1ed63cca
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
@@ -0,0 +1,199 @@
+/* `ptrace' debugger support interface.  Linux 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/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process.
+     This is not supported on all machines.  */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
new file mode 100644
index 0000000000..b460f23bc9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
@@ -0,0 +1,193 @@
+/* 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 _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/sigcontext.h>
+#include <bits/types/sigset_t.h>
+#include <bits/types/stack_t.h>
+
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+#if __WORDSIZE == 32
+
+/* Number of general registers.  */
+# define __NGREG	48
+# ifdef __USE_MISC
+#  define NGREG	__NGREG
+# endif
+
+/* Container for all general registers.  */
+typedef unsigned long gregset_t[__NGREG];
+
+/* Container for floating-point registers and status */
+typedef struct _libc_fpstate
+{
+	double __ctx(fpregs)[32];
+	double __ctx(fpscr);
+	unsigned int _pad[2];
+} fpregset_t;
+
+/* Container for Altivec/VMX registers and status.
+   Needs to be aligned on a 16-byte boundary. */
+typedef struct _libc_vrstate
+{
+	unsigned int __ctx(vrregs)[32][4];
+	unsigned int __ctx(vrsave);
+	unsigned int _pad[2];
+	unsigned int __ctx(vscr);
+} vrregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+{
+	gregset_t __ctx(gregs);
+	fpregset_t __ctx(fpregs);
+	vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
+} mcontext_t;
+
+#else
+
+/* For 64-bit kernels with Altivec support, a machine context is exactly
+ * a sigcontext.  For older kernel (without Altivec) the sigcontext matches
+ * the mcontext upto but not including the v_regs field.  For kernels that
+ * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
+ * v_regs field may not exist and should not be referenced.  The v_regd field
+ * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
+ * is set in AT_HWCAP.  */
+
+/* Number of general registers.  */
+# define __NGREG	48	/* includes r0-r31, nip, msr, lr, etc.   */
+# define __NFPREG	33	/* includes fp0-fp31 &fpscr.  */
+# define __NVRREG	34	/* includes v0-v31, vscr, & vrsave in
+				   split vectors */
+# ifdef __USE_MISC
+#  define NGREG	__NGREG
+#  define NFPREG	__NFPREG
+#  define NVRREG	__NVRREG
+# endif
+
+typedef unsigned long gregset_t[__NGREG];
+typedef double fpregset_t[__NFPREG];
+
+/* Container for Altivec/VMX Vector Status and Control Register.  Only 32-bits
+   but can only be copied to/from a 128-bit vector register.  So we allocated
+   a whole quadword speedup save/restore.  */
+typedef struct _libc_vscr
+{
+	unsigned int __pad[3];
+	unsigned int __ctx(vscr_word);
+} vscr_t;
+
+/* Container for Altivec/VMX registers and status.
+   Must to be aligned on a 16-byte boundary. */
+typedef struct _libc_vrstate
+{
+	unsigned int	__ctx(vrregs)[32][4];
+	vscr_t		__ctx(vscr);
+	unsigned int	__ctx(vrsave);
+	unsigned int	__pad[3];
+} vrregset_t  __attribute__((__aligned__(16)));
+
+typedef struct {
+	unsigned long	__glibc_reserved[4];
+	int		__ctx(signal);
+	int		__pad0;
+	unsigned long	__ctx(handler);
+	unsigned long	__ctx(oldmask);
+	struct pt_regs	*__ctx(regs);
+	gregset_t	__ctx(gp_regs);
+	fpregset_t	__ctx(fp_regs);
+/*
+ * To maintain compatibility with current implementations the sigcontext is
+ * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
+ * followed by an unstructured (vmx_reserve) field of 69 doublewords.  This
+ * allows the array of vector registers to be quadword aligned independent of
+ * the alignment of the containing sigcontext or ucontext. It is the
+ * responsibility of the code setting the sigcontext to set this pointer to
+ * either NULL (if this processor does not support the VMX feature) or the
+ * address of the first quadword within the allocated (vmx_reserve) area.
+ *
+ * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually
+ * an array of 34 quadword entries.  The entries with
+ * indexes 0-31 contain the corresponding vector registers.  The entry with
+ * index 32 contains the vscr as the last word (offset 12) within the
+ * quadword.  This allows the vscr to be stored as either a quadword (since
+ * it must be copied via a vector register to/from storage) or as a word.
+ * The entry with index 33 contains the vrsave as the first word (offset 0)
+ * within the quadword.
+ */
+	vrregset_t	*__ctx(v_regs);
+	long		__ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
+} mcontext_t;
+
+#endif
+
+#undef __ctx
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+#if __WORDSIZE == 32
+    /*
+     * These fields are set up this way to maximize source and
+     * binary compatibility with code written for the old
+     * ucontext_t definition, which didn't include space for the
+     * registers.
+     *
+     * Different versions of the kernel have stored the registers on
+     * signal delivery at different offsets from the ucontext struct.
+     * Programs should thus use the uc_mcontext.uc_regs pointer to
+     * find where the registers are actually stored.  The registers
+     * will be stored within the ucontext_t struct but not necessarily
+     * at a fixed address.  As a side-effect, this lets us achieve
+     * 16-byte alignment for the register storage space if the
+     * Altivec registers are to be saved, without requiring 16-byte
+     * alignment on the whole ucontext_t.
+     *
+     * The uc_mcontext.regs field is included for source compatibility
+     * with programs written against the older ucontext_t definition,
+     * and its name should therefore not change.  The uc_pad field
+     * is for binary compatibility with programs compiled against the
+     * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
+     * are at the same offset as previously.
+     */
+    int uc_pad[7];
+    union uc_regs_ptr {
+      struct pt_regs *regs;
+      mcontext_t *uc_regs;
+    } uc_mcontext;
+    sigset_t    uc_sigmask;
+    char uc_reg_space[sizeof(mcontext_t) + 12];  /* last for extensibility */
+#else /* 64-bit */
+    sigset_t    uc_sigmask;
+    mcontext_t  uc_mcontext;  /* last for extensibility */
+#endif
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/user.h
new file mode 100644
index 0000000000..a56697d0e9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sys/user.h
@@ -0,0 +1,40 @@
+/* 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 _SYS_USER_H
+
+#define _SYS_USER_H	1
+#include <stddef.h>
+#include <features.h>
+
+#include <asm/ptrace.h>
+
+struct user {
+	struct pt_regs	regs;			/* entire machine state */
+	size_t		u_tsize;		/* text size (pages) */
+	size_t		u_dsize;		/* data size (pages) */
+	size_t		u_ssize;		/* stack size (pages) */
+	unsigned long	start_code;		/* text starting address */
+	unsigned long	start_data;		/* data starting address */
+	unsigned long	start_stack;		/* stack starting address */
+	long int	signal;			/* signal causing core dump */
+	struct regs *	u_ar0;			/* help gdb find registers */
+	unsigned long	magic;			/* identifies a core file */
+	char		u_comm[32];		/* user command name */
+};
+
+#endif  /* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/syscall.S
new file mode 100644
index 0000000000..0522ccd1ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/syscall.S
@@ -0,0 +1,31 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY (syscall)
+	ABORT_TRANSACTION
+	mr   r0,r3
+	mr   r3,r4
+	mr   r4,r5
+	mr   r5,r6
+	mr   r6,r7
+	mr   r7,r8
+	mr   r8,r9
+	sc
+	PSEUDO_RET
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sysdep.c
new file mode 100644
index 0000000000..6df0b35448
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/sysdep.c
@@ -0,0 +1,28 @@
+/* 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>
+#include <errno.h>
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  */
+int
+__syscall_error (int err_no)
+{
+  __set_errno (err_no);
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c
new file mode 100644
index 0000000000..81cb8aa746
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/test-gettimebasefreq.c
@@ -0,0 +1,63 @@
+/* Check __ppc_get_timebase_freq() for architecture changes
+   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/>.  */
+
+/* Test if __ppc_get_timebase_freq() works and is different from zero.  A read
+   failure might indicate a Linux Kernel change.
+   This test also use the frequency to compute the real elapsed time.  */
+
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdint.h>
+
+#include <sys/platform/ppc.h>
+
+/* Maximum value of the Time Base Register: 2^60 - 1.  */
+#define MAX_TB 0xFFFFFFFFFFFFFFF
+
+static int
+do_test (void)
+{
+  uint64_t t1, t2, f, diff;
+
+  t1 = __ppc_get_timebase ();
+  printf ("t1 = %"PRIu64"\n", t1);
+
+  f = __ppc_get_timebase_freq ();
+  printf ("Time Base frequency = %"PRIu64" Hz\n", f);
+
+  if (f == 0) {
+      printf ("Fail: The time base frequency can't be zero.\n");
+      return 1;
+  }
+
+  t2 = __ppc_get_timebase ();
+  printf ("t2 = %"PRIu64"\n", t2);
+
+  if (t2 > t1) {
+    diff = t2 - t1;
+  } else {
+    diff = (MAX_TB - t2) + t1;
+  }
+
+  printf ("Elapsed time  = %1.2f usecs\n", (double) diff * 1000000 / f );
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/time.c b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/time.c
new file mode 100644
index 0000000000..8fc901ee22
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/powerpc/time.c
@@ -0,0 +1,84 @@
+/* time system call for Linux/PowerPC.
+   Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# ifndef __powerpc64__
+#  define time __redirect_time
+# else
+#  define __redirect_time time
+# endif
+
+# include <time.h>
+# include <sysdep.h>
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+# include <dl-machine.h>
+
+# ifndef __powerpc64__
+#  undef time
+
+time_t
+__time_vsyscall (time_t *t)
+{
+  return INLINE_VSYSCALL (time, 1, t);
+}
+
+/* __GI_time is defined as hidden and for ppc32 it enables the
+   compiler make a local call (symbol@local) for internal GLIBC usage. It
+   means the PLT won't be used and the ifunc resolver will be called directly.
+   For ppc64 a call to a function in another translation unit might use a
+   different toc pointer thus disallowing direct branchess and making internal
+   ifuncs calls safe.  */
+#  undef libc_hidden_def
+#  define libc_hidden_def(name)					\
+  __hidden_ver1 (__time_vsyscall, __GI_time, __time_vsyscall);
+
+# endif /* !__powerpc64__  */
+
+static time_t
+time_syscall (time_t *t)
+{
+  struct timeval tv;
+  time_t result;
+
+  if (INLINE_VSYSCALL (gettimeofday, 2, &tv, NULL) < 0)
+    result = (time_t) -1;
+  else
+    result = (time_t) tv.tv_sec;
+
+  if (t != NULL)
+    *t = result;
+  return result;
+}
+
+# define INIT_ARCH()							\
+  PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);		\
+  void *vdso_time = _dl_vdso_vsym ("__kernel_time", &linux2615);
+
+/* If the vDSO is not available we fall back to the syscall.  */
+libc_ifunc_hidden (__redirect_time, time,
+		   vdso_time
+		   ? VDSO_IFUNC_RET (vdso_time)
+		   : (void *) time_syscall);
+libc_hidden_def (time)
+
+#else
+
+#include <sysdeps/posix/time.c>
+
+#endif /* !SHARED */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ppoll.c b/REORG.TODO/sysdeps/unix/sysv/linux/ppoll.c
new file mode 100644
index 0000000000..8e336518b5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ppoll.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2006.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <time.h>
+#include <sys/poll.h>
+#include <sysdep-cancel.h>
+
+
+int
+ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
+       const sigset_t *sigmask)
+{
+  /* The Linux kernel can in some situations update the timeout value.
+     We do not want that so use a local variable.  */
+  struct timespec tval;
+  if (timeout != NULL)
+    {
+      tval = *timeout;
+      timeout = &tval;
+    }
+
+  return SYSCALL_CANCEL (ppoll, fds, nfds, timeout, sigmask, _NSIG / 8);
+}
+libc_hidden_def (ppoll)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pread.c b/REORG.TODO/sysdeps/unix/sysv/linux/pread.c
new file mode 100644
index 0000000000..96df99747a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pread.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <unistd.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+# ifndef __NR_pread
+#  define __NR_pread __NR_pread64
+# endif
+
+ssize_t
+__libc_pread (int fd, void *buf, size_t count, off_t offset)
+{
+  return SYSCALL_CANCEL (pread, fd, buf, count, SYSCALL_LL_PRW (offset));
+}
+
+strong_alias (__libc_pread, __pread)
+libc_hidden_weak (__pread)
+weak_alias (__libc_pread, pread)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pread64.c b/REORG.TODO/sysdeps/unix/sysv/linux/pread64.c
new file mode 100644
index 0000000000..0c2c80e9e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pread64.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <unistd.h>
+#include <sysdep-cancel.h>
+
+#ifndef __NR_pread64
+# define __NR_pread64 __NR_pread
+#endif
+
+ssize_t
+__libc_pread64 (int fd, void *buf, size_t count, off64_t offset)
+{
+  return SYSCALL_CANCEL (pread64, fd, buf, count, SYSCALL_LL64_PRW (offset));
+}
+
+weak_alias (__libc_pread64, __pread64)
+libc_hidden_weak (__pread64)
+weak_alias (__libc_pread64, pread64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (__libc_pread64, __libc_pread)
+weak_alias (__libc_pread64, __pread)
+weak_alias (__libc_pread64, pread)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/preadv.c b/REORG.TODO/sysdeps/unix/sysv/linux/preadv.c
new file mode 100644
index 0000000000..ecabc8c9c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/preadv.c
@@ -0,0 +1,55 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+# ifdef __ASSUME_PREADV
+
+#  ifndef __NR_preadv
+#   define __NR_preadv __NR_preadv64
+#  endif
+
+ssize_t
+preadv (int fd, const struct iovec *vector, int count, off_t offset)
+{
+  return SYSCALL_CANCEL (preadv, fd, vector, count, LO_HI_LONG (offset));
+}
+# else
+static ssize_t __atomic_preadv_replacement (int, const struct iovec *,
+					    int, off_t) internal_function;
+ssize_t
+preadv (int fd, const struct iovec *vector, int count, off_t offset)
+{
+#  ifdef __NR_preadv
+  ssize_t result = SYSCALL_CANCEL (preadv, fd, vector, count,
+				   LO_HI_LONG (offset));
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#  endif
+  return __atomic_preadv_replacement (fd, vector, count, offset);
+}
+#  define PREADV static internal_function __atomic_preadv_replacement
+#  define PREAD __pread
+#  define OFF_T off_t
+#  include <sysdeps/posix/preadv_common.c>
+# endif /* __ASSUME_PREADV  */
+
+libc_hidden_def (preadv)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/preadv2.c b/REORG.TODO/sysdeps/unix/sysv/linux/preadv2.c
new file mode 100644
index 0000000000..11fe85eaa8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/preadv2.c
@@ -0,0 +1,55 @@
+/* Linux implementation of preadv2.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+# if !defined (__NR_preadv2) && defined (__NR_pread64v2)
+#  define __NR_preadv2 __NR_pread64v2
+# endif
+
+ssize_t
+preadv2 (int fd, const struct iovec *vector, int count, off_t offset,
+	 int flags)
+{
+# ifdef __NR_preadv2
+  ssize_t result = SYSCALL_CANCEL (preadv2, fd, vector, count,
+				   LO_HI_LONG (offset), flags);
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+# endif
+  /* Trying to emulate the preadv2 syscall flags is troublesome:
+
+     * We can not temporary change the file state of the O_DSYNC and O_SYNC
+       flags to emulate RWF_{D}SYNC (attempts to change the state of using
+       fcntl are silently ignored).
+
+     * IOCB_HIPRI requires the file opened in O_DIRECT and uses an internal
+       semantic not provided by any other flag (O_NONBLOCK for instance).  */
+
+  if (flags != 0)
+    {
+      __set_errno (EOPNOTSUPP);
+      return -1;
+    }
+  return preadv (fd, vector, count, offset);
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/preadv64.c b/REORG.TODO/sysdeps/unix/sysv/linux/preadv64.c
new file mode 100644
index 0000000000..c96b2142e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/preadv64.c
@@ -0,0 +1,56 @@
+/* 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/uio.h>
+#include <sysdep-cancel.h>
+
+#ifdef __ASSUME_PREADV
+
+# ifndef __NR_preadv64
+#  define __NR_preadv64 __NR_preadv
+# endif
+
+ssize_t
+preadv64 (int fd, const struct iovec *vector, int count, off64_t offset)
+{
+  return SYSCALL_CANCEL (preadv64, fd, vector, count, LO_HI_LONG (offset));
+}
+#else
+static ssize_t __atomic_preadv64_replacement (int, const struct iovec *,
+					      int, off64_t) internal_function;
+ssize_t
+preadv64 (int fd, const struct iovec *vector, int count, off64_t offset)
+{
+#ifdef __NR_preadv64
+  ssize_t result = SYSCALL_CANCEL (preadv64, fd, vector, count,
+				   LO_HI_LONG (offset));
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#endif
+  return __atomic_preadv64_replacement (fd, vector, count, offset);
+}
+# define PREADV static internal_function __atomic_preadv64_replacement
+# define PREAD __pread64
+# define OFF_T off64_t
+# include <sysdeps/posix/preadv_common.c>
+#endif
+libc_hidden_def (preadv64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (preadv64, preadv)
+libc_hidden_def (preadv)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/preadv64v2.c b/REORG.TODO/sysdeps/unix/sysv/linux/preadv64v2.c
new file mode 100644
index 0000000000..9d7f8c9893
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/preadv64v2.c
@@ -0,0 +1,55 @@
+/* Linux implementation of preadv2 (LFS version).
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#if !defined(__NR_preadv64v2) && defined(__NR_preadv2)
+# define __NR_preadv64v2 __NR_preadv2
+#endif
+
+ssize_t
+preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
+	    int flags)
+{
+#ifdef __NR_preadv64v2
+  ssize_t result = SYSCALL_CANCEL (preadv64v2, fd, vector, count,
+				   LO_HI_LONG (offset), flags);
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#endif
+  /* Trying to emulate the preadv2 syscall flags is troublesome:
+
+     * We can not temporary change the file state of the O_DSYNC and O_SYNC
+       flags to emulate RWF_{D}SYNC (attempts to change the state of using
+       fcntl are silently ignored).
+
+     * IOCB_HIPRI requires the file opened in O_DIRECT and uses an internal
+       semantic not provided by any other flag (O_NONBLOCK for instance).  */
+
+  if (flags != 0)
+    {
+      __set_errno (EOPNOTSUPP);
+      return -1;
+    }
+  return preadv64 (fd, vector, count, offset);
+}
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (preadv64v2, preadv2)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/prlimit.c b/REORG.TODO/sysdeps/unix/sysv/linux/prlimit.c
new file mode 100644
index 0000000000..d31980f10c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/prlimit.c
@@ -0,0 +1,74 @@
+/* Copyright (C) 2010-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 <sys/resource.h>
+#include <sys/syscall.h>
+
+
+int
+prlimit (__pid_t pid, enum __rlimit_resource resource,
+	 const struct rlimit *new_rlimit, struct rlimit *old_rlimit)
+{
+  struct rlimit64 new_rlimit64_mem;
+  struct rlimit64 *new_rlimit64 = NULL;
+  struct rlimit64 old_rlimit64_mem;
+  struct rlimit64 *old_rlimit64 = (old_rlimit != NULL
+				   ? &old_rlimit64_mem : NULL);
+
+  if (new_rlimit != NULL)
+    {
+      if (new_rlimit->rlim_cur == RLIM_INFINITY)
+	new_rlimit64_mem.rlim_cur = RLIM64_INFINITY;
+      else
+	new_rlimit64_mem.rlim_cur = new_rlimit->rlim_cur;
+      if (new_rlimit->rlim_max == RLIM_INFINITY)
+	new_rlimit64_mem.rlim_max = RLIM64_INFINITY;
+      else
+	new_rlimit64_mem.rlim_max = new_rlimit->rlim_max;
+      new_rlimit64 = &new_rlimit64_mem;
+    }
+
+  int res = INLINE_SYSCALL (prlimit64, 4, pid, resource, new_rlimit64,
+			    old_rlimit64);
+
+  if (res == 0 && old_rlimit != NULL)
+    {
+      /* The prlimit64 syscall is ill-designed for 32-bit machines.
+	 We have to provide a 32-bit variant since otherwise the LFS
+	 system would not work.  But what shall we do if the syscall
+	 succeeds but the old values do not fit into a rlimit
+	 structure?  We cannot return an error because the operation
+	 itself worked.  Best is perhaps to return RLIM_INFINITY.  */
+      old_rlimit->rlim_cur = old_rlimit64_mem.rlim_cur;
+      if (old_rlimit->rlim_cur != old_rlimit64_mem.rlim_cur)
+	{
+	  if (new_rlimit == NULL)
+	    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+	  old_rlimit->rlim_cur = RLIM_INFINITY;
+	}
+      old_rlimit->rlim_max = old_rlimit64_mem.rlim_max;
+      if (old_rlimit->rlim_max != old_rlimit64_mem.rlim_max)
+	{
+	  if (new_rlimit == NULL)
+	    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+	  old_rlimit->rlim_max = RLIM_INFINITY;
+	}
+    }
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/prof-freq.c b/REORG.TODO/sysdeps/unix/sysv/linux/prof-freq.c
new file mode 100644
index 0000000000..b8cb6d0f5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/prof-freq.c
@@ -0,0 +1,29 @@
+/* Determine realtime clock frequency.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/time.h>
+#include <libc-internal.h>
+#include <ldsodefs.h>
+
+
+int
+__profile_frequency (void)
+{
+  return GLRO(dl_clktck);
+}
+libc_hidden_def (__profile_frequency)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/profil.c b/REORG.TODO/sysdeps/unix/sysv/linux/profil.c
new file mode 100644
index 0000000000..5918ecebfc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/profil.c
@@ -0,0 +1,3 @@
+/* Linux defines the profil system call but doesn't actually implement
+   it.  Use the generic posix implementation.  */
+#include <sysdeps/posix/profil.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pselect.c b/REORG.TODO/sysdeps/unix/sysv/linux/pselect.c
new file mode 100644
index 0000000000..b5e8c7fbcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pselect.c
@@ -0,0 +1,89 @@
+/* Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2006.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <time.h>
+#include <sys/poll.h>
+#include <kernel-features.h>
+#include <sysdep-cancel.h>
+
+
+#ifdef __NR_pselect6
+# ifndef __ASSUME_PSELECT
+static int __generic_pselect (int nfds, fd_set *readfds, fd_set *writefds,
+			      fd_set *exceptfds,
+			      const struct timespec *timeout,
+			      const sigset_t *sigmask);
+# endif
+
+
+int
+__pselect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+	   const struct timespec *timeout, const sigset_t *sigmask)
+{
+  /* The Linux kernel can in some situations update the timeout value.
+     We do not want that so use a local variable.  */
+  struct timespec tval;
+  if (timeout != NULL)
+    {
+      tval = *timeout;
+      timeout = &tval;
+    }
+
+  /* Note: the system call expects 7 values but on most architectures
+     we can only pass in 6 directly.  If there is an architecture with
+     support for more parameters a new version of this file needs to
+     be created.  */
+  struct
+  {
+    __syscall_ulong_t ss;
+    __syscall_ulong_t ss_len;
+  } data;
+
+  data.ss = (__syscall_ulong_t) (uintptr_t) sigmask;
+  data.ss_len = _NSIG / 8;
+
+  int result;
+
+#ifndef CALL_PSELECT6
+# define CALL_PSELECT6(nfds, readfds, writefds, exceptfds, timeout, data) \
+  SYSCALL_CANCEL (pselect6, nfds, readfds, writefds, exceptfds,	timeout, data)
+#endif
+
+  result = CALL_PSELECT6 (nfds, readfds, writefds, exceptfds, timeout,
+			  &data);
+
+# ifndef __ASSUME_PSELECT
+  if (result == -1 && errno == ENOSYS)
+    result = __generic_pselect (nfds, readfds, writefds, exceptfds, timeout,
+				sigmask);
+# endif
+
+  return result;
+}
+weak_alias (__pselect, pselect)
+
+# ifndef __ASSUME_PSELECT
+#  define __pselect static __generic_pselect
+# endif
+#endif
+
+#ifndef __ASSUME_PSELECT
+# include <misc/pselect.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pt-raise.c b/REORG.TODO/sysdeps/unix/sysv/linux/pt-raise.c
new file mode 100644
index 0000000000..171fcddf5d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pt-raise.c
@@ -0,0 +1,20 @@
+/* ISO C raise function for libpthread.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/unix/sysv/linux/raise.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread-pids.h b/REORG.TODO/sysdeps/unix/sysv/linux/pthread-pids.h
new file mode 100644
index 0000000000..e67e4f7d5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread-pids.h
@@ -0,0 +1,30 @@
+/* Initialize pid and tid fields of struct pthread.  Linux version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthreadP.h>
+#include <sysdep.h>
+
+/* Initialize PD->pid and PD->tid for the initial thread.  If there is
+   setup required to arrange that __exit_thread causes PD->tid to be
+   cleared and futex-woken, then this function should do that as well.  */
+static inline void
+__pthread_initialize_pids (struct pthread *pd)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  pd->tid = INTERNAL_SYSCALL_CALL (set_tid_address, err, &pd->tid);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getaffinity.c
new file mode 100644
index 0000000000..08a9a46645
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getaffinity.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <limits.h>
+#include <pthreadP.h>
+#include <string.h>
+#include <sysdep.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+
+int
+__pthread_getaffinity_new (pthread_t th, size_t cpusetsize, cpu_set_t *cpuset)
+{
+  const struct pthread *pd = (const struct pthread *) th;
+
+  INTERNAL_SYSCALL_DECL (err);
+  int res = INTERNAL_SYSCALL (sched_getaffinity, err, 3, pd->tid,
+			      MIN (INT_MAX, cpusetsize), cpuset);
+  if (INTERNAL_SYSCALL_ERROR_P (res, err))
+    return INTERNAL_SYSCALL_ERRNO (res, err);
+
+  /* Clean the rest of the memory the kernel didn't do.  */
+  memset ((char *) cpuset + res, '\0', cpusetsize - res);
+
+  return 0;
+}
+strong_alias (__pthread_getaffinity_new, __pthread_getaffinity_np)
+versioned_symbol (libpthread, __pthread_getaffinity_new,
+		  pthread_getaffinity_np, GLIBC_2_3_4);
+
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)
+int
+__pthread_getaffinity_old (pthread_t th, cpu_set_t *cpuset)
+{
+  /* The old interface by default assumed a 1024 processor bitmap.  */
+  return __pthread_getaffinity_new (th, 128, cpuset);
+}
+compat_symbol (libpthread, __pthread_getaffinity_old, pthread_getaffinity_np,
+	       GLIBC_2_3_3);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c
new file mode 100644
index 0000000000..f5af64ea88
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c
@@ -0,0 +1,42 @@
+/* pthread_getcpuclockid -- Get POSIX clockid_t for a pthread_t.  Linux version
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthreadP.h>
+#include <sys/time.h>
+#include <tls.h>
+#include <kernel-posix-cpu-timers.h>
+
+
+int
+pthread_getcpuclockid (pthread_t threadid, clockid_t *clockid)
+{
+  struct pthread *pd = (struct pthread *) threadid;
+
+  /* Make sure the descriptor is valid.  */
+  if (INVALID_TD_P (pd))
+    /* Not a valid thread handle.  */
+    return ESRCH;
+
+  /* The clockid_t value is a simple computation from the TID.  */
+
+  const clockid_t tidclock = MAKE_THREAD_CPUCLOCK (pd->tid, CPUCLOCK_SCHED);
+
+  *clockid = tidclock;
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getname.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getname.c
new file mode 100644
index 0000000000..9a5343a1d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_getname.c
@@ -0,0 +1,69 @@
+/* pthread_getname_np -- Get  thread name.  Linux version
+   Copyright (C) 2010-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; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <pthreadP.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/prctl.h>
+
+#include <not-cancel.h>
+
+
+int
+pthread_getname_np (pthread_t th, char *buf, size_t len)
+{
+  const struct pthread *pd = (const struct pthread *) th;
+
+  /* Unfortunately the kernel headers do not export the TASK_COMM_LEN
+     macro.  So we have to define it here.  */
+#define TASK_COMM_LEN 16
+  if (len < TASK_COMM_LEN)
+    return ERANGE;
+
+  if (pd == THREAD_SELF)
+    return prctl (PR_GET_NAME, buf) ? errno : 0;
+
+#define FMT "/proc/self/task/%u/comm"
+  char fname[sizeof (FMT) + 8];
+  sprintf (fname, FMT, (unsigned int) pd->tid);
+
+  int fd = open_not_cancel_2 (fname, O_RDONLY);
+  if (fd == -1)
+    return errno;
+
+  int res = 0;
+  ssize_t n = TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, len));
+  if (n < 0)
+    res = errno;
+  else
+    {
+      if (buf[n - 1] == '\n')
+	buf[n - 1] = '\0';
+      else if (n == len)
+	res = ERANGE;
+      else
+	buf[n] = '\0';
+    }
+
+  close_not_cancel_no_status (fd);
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_kill.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_kill.c
new file mode 100644
index 0000000000..cd6f16e955
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_kill.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <pthreadP.h>
+#include <tls.h>
+#include <sysdep.h>
+#include <unistd.h>
+
+
+int
+__pthread_kill (pthread_t threadid, int signo)
+{
+  struct pthread *pd = (struct pthread *) threadid;
+
+  /* Make sure the descriptor is valid.  */
+  if (DEBUGGING_P && INVALID_TD_P (pd))
+    /* Not a valid thread handle.  */
+    return ESRCH;
+
+  /* Force load of pd->tid into local variable or register.  Otherwise
+     if a thread exits between ESRCH test and tgkill, we might return
+     EINVAL, because pd->tid would be cleared by the kernel.  */
+  pid_t tid = atomic_forced_read (pd->tid);
+  if (__glibc_unlikely (tid <= 0))
+    /* Not a valid thread handle.  */
+    return ESRCH;
+
+  /* Disallow sending the signal we use for cancellation, timers,
+     for the setxid implementation.  */
+  if (signo == SIGCANCEL || signo == SIGTIMER || signo == SIGSETXID)
+    return EINVAL;
+
+  /* We have a special syscall to do the work.  */
+  INTERNAL_SYSCALL_DECL (err);
+
+  pid_t pid = __getpid ();
+
+  int val = INTERNAL_SYSCALL_CALL (tgkill, err, pid, tid, signo);
+  return (INTERNAL_SYSCALL_ERROR_P (val, err)
+	  ? INTERNAL_SYSCALL_ERRNO (val, err) : 0);
+}
+strong_alias (__pthread_kill, pthread_kill)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setaffinity.c
new file mode 100644
index 0000000000..a3167717b9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setaffinity.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthreadP.h>
+#include <sysdep.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+
+int
+__pthread_setaffinity_new (pthread_t th, size_t cpusetsize,
+			   const cpu_set_t *cpuset)
+{
+  const struct pthread *pd = (const struct pthread *) th;
+  INTERNAL_SYSCALL_DECL (err);
+  int res;
+
+  res = INTERNAL_SYSCALL (sched_setaffinity, err, 3, pd->tid, cpusetsize,
+			  cpuset);
+
+#ifdef RESET_VGETCPU_CACHE
+  if (!INTERNAL_SYSCALL_ERROR_P (res, err))
+    RESET_VGETCPU_CACHE ();
+#endif
+
+  return (INTERNAL_SYSCALL_ERROR_P (res, err)
+	  ? INTERNAL_SYSCALL_ERRNO (res, err)
+	  : 0);
+}
+versioned_symbol (libpthread, __pthread_setaffinity_new,
+		  pthread_setaffinity_np, GLIBC_2_3_4);
+
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4)
+int
+__pthread_setaffinity_old (pthread_t th, cpu_set_t *cpuset)
+{
+  /* The old interface by default assumed a 1024 processor bitmap.  */
+  return __pthread_setaffinity_new (th, 128, cpuset);
+}
+compat_symbol (libpthread, __pthread_setaffinity_old, pthread_setaffinity_np,
+	       GLIBC_2_3_3);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setname.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setname.c
new file mode 100644
index 0000000000..5769c5b460
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_setname.c
@@ -0,0 +1,63 @@
+/* pthread_setname_np -- Set  thread name.  Linux version
+   Copyright (C) 2010-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; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <pthreadP.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/prctl.h>
+
+#include <not-cancel.h>
+
+
+int
+pthread_setname_np (pthread_t th, const char *name)
+{
+  const struct pthread *pd = (const struct pthread *) th;
+
+  /* Unfortunately the kernel headers do not export the TASK_COMM_LEN
+     macro.  So we have to define it here.  */
+#define TASK_COMM_LEN 16
+  size_t name_len = strlen (name);
+  if (name_len >= TASK_COMM_LEN)
+    return ERANGE;
+
+  if (pd == THREAD_SELF)
+    return prctl (PR_SET_NAME, name) ? errno : 0;
+
+#define FMT "/proc/self/task/%u/comm"
+  char fname[sizeof (FMT) + 8];
+  sprintf (fname, FMT, (unsigned int) pd->tid);
+
+  int fd = open_not_cancel_2 (fname, O_RDWR);
+  if (fd == -1)
+    return errno;
+
+  int res = 0;
+  ssize_t n = TEMP_FAILURE_RETRY (write_not_cancel (fd, name, name_len));
+  if (n < 0)
+    res = errno;
+  else if (n != name_len)
+    res = EIO;
+
+  close_not_cancel_no_status (fd);
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigmask.c
new file mode 100644
index 0000000000..99fdd43cd5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigmask.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <pthreadP.h>
+#include <sysdep.h>
+
+
+int
+pthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask)
+{
+  sigset_t local_newmask;
+
+  /* The only thing we have to make sure here is that SIGCANCEL and
+     SIGSETXID is not blocked.  */
+  if (newmask != NULL
+      && (__builtin_expect (__sigismember (newmask, SIGCANCEL), 0)
+	  || __builtin_expect (__sigismember (newmask, SIGSETXID), 0)))
+    {
+      local_newmask = *newmask;
+      __sigdelset (&local_newmask, SIGCANCEL);
+      __sigdelset (&local_newmask, SIGSETXID);
+      newmask = &local_newmask;
+    }
+
+#ifdef INTERNAL_SYSCALL
+  /* We know that realtime signals are available if NPTL is used.  */
+  INTERNAL_SYSCALL_DECL (err);
+  int result = INTERNAL_SYSCALL (rt_sigprocmask, err, 4, how, newmask,
+				 oldmask, _NSIG / 8);
+
+  return (INTERNAL_SYSCALL_ERROR_P (result, err)
+	  ? INTERNAL_SYSCALL_ERRNO (result, err)
+	  : 0);
+#else
+  return sigprocmask (how, newmask, oldmask) == -1 ? errno : 0;
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigqueue.c b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigqueue.c
new file mode 100644
index 0000000000..c73b92e2da
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pthread_sigqueue.c
@@ -0,0 +1,73 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+#include <unistd.h>
+#include <pthreadP.h>
+#include <tls.h>
+#include <sysdep.h>
+
+
+int
+pthread_sigqueue (pthread_t threadid, int signo, const union sigval value)
+{
+#ifdef __NR_rt_tgsigqueueinfo
+  struct pthread *pd = (struct pthread *) threadid;
+
+  /* Make sure the descriptor is valid.  */
+  if (DEBUGGING_P && INVALID_TD_P (pd))
+    /* Not a valid thread handle.  */
+    return ESRCH;
+
+  /* Force load of pd->tid into local variable or register.  Otherwise
+     if a thread exits between ESRCH test and tgkill, we might return
+     EINVAL, because pd->tid would be cleared by the kernel.  */
+  pid_t tid = atomic_forced_read (pd->tid);
+  if (__glibc_unlikely (tid <= 0))
+    /* Not a valid thread handle.  */
+    return ESRCH;
+
+  /* Disallow sending the signal we use for cancellation, timers,
+     for the setxid implementation.  */
+  if (signo == SIGCANCEL || signo == SIGTIMER || signo == SIGSETXID)
+    return EINVAL;
+
+  pid_t pid = getpid ();
+
+  /* Set up the siginfo_t structure.  */
+  siginfo_t info;
+  memset (&info, '\0', sizeof (siginfo_t));
+  info.si_signo = signo;
+  info.si_code = SI_QUEUE;
+  info.si_pid = pid;
+  info.si_uid = getuid ();
+  info.si_value = value;
+
+  /* We have a special syscall to do the work.  */
+  INTERNAL_SYSCALL_DECL (err);
+
+  int val = INTERNAL_SYSCALL_CALL (rt_tgsigqueueinfo, err, pid, tid, signo,
+				   &info);
+  return (INTERNAL_SYSCALL_ERROR_P (val, err)
+	  ? INTERNAL_SYSCALL_ERRNO (val, err) : 0);
+#else
+  return ENOSYS;
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ptrace.c b/REORG.TODO/sysdeps/unix/sysv/linux/ptrace.c
new file mode 100644
index 0000000000..e39127e1cf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ptrace.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/ptrace.h>
+#include <sys/user.h>
+#include <stdarg.h>
+#include <signal.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+long int
+ptrace (enum __ptrace_request request, ...)
+{
+  long int res, ret;
+  va_list ap;
+  pid_t pid;
+  void *addr, *data;
+
+  va_start (ap, request);
+  pid = va_arg (ap, pid_t);
+  addr = va_arg (ap, void *);
+  data = va_arg (ap, void *);
+  va_end (ap);
+
+  if (request > 0 && request < 4)
+    data = &ret;
+
+  res = INLINE_SYSCALL (ptrace, 4, request, pid, addr, data);
+  if (res >= 0 && request > 0 && request < 4)
+    {
+      __set_errno (0);
+      return ret;
+    }
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ptsname.c b/REORG.TODO/sysdeps/unix/sysv/linux/ptsname.c
new file mode 100644
index 0000000000..41bb0bbb0e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ptsname.c
@@ -0,0 +1,165 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <paths.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include <_itoa.h>
+
+/* Check if DEV corresponds to a master pseudo terminal device.  */
+#define MASTER_P(Dev)                                                         \
+  (major ((Dev)) == 2                                                         \
+   || (major ((Dev)) == 4 && minor ((Dev)) >= 128 && minor ((Dev)) < 192)     \
+   || (major ((Dev)) >= 128 && major ((Dev)) < 136))
+
+/* Check if DEV corresponds to a slave pseudo terminal device.  */
+#define SLAVE_P(Dev)                                                          \
+  (major ((Dev)) == 3                                                         \
+   || (major ((Dev)) == 4 && minor ((Dev)) >= 192 && minor ((Dev)) < 256)     \
+   || (major ((Dev)) >= 136 && major ((Dev)) < 144))
+
+/* Note that major number 4 corresponds to the old BSD style pseudo
+   terminal devices.  As of Linux 2.1.115 these are no longer
+   supported.  They have been replaced by major numbers 2 (masters)
+   and 3 (slaves).  */
+
+/* Directory where we can find the slave pty nodes.  */
+#define _PATH_DEVPTS "/dev/pts/"
+
+/* The are declared in getpt.c.  */
+extern const char __libc_ptyname1[] attribute_hidden;
+extern const char __libc_ptyname2[] attribute_hidden;
+
+/* Static buffer for `ptsname'.  */
+static char buffer[sizeof (_PATH_DEVPTS) + 20];
+
+
+/* Return the pathname of the pseudo terminal slave associated with
+   the master FD is open on, or NULL on errors.
+   The returned storage is good until the next call to this function.  */
+char *
+ptsname (int fd)
+{
+  return __ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer;
+}
+
+
+int
+__ptsname_internal (int fd, char *buf, size_t buflen, struct stat64 *stp)
+{
+  int save_errno = errno;
+  unsigned int ptyno;
+
+  if (!__isatty (fd))
+    {
+      __set_errno (ENOTTY);
+      return ENOTTY;
+    }
+
+#ifdef TIOCGPTN
+  if (__ioctl (fd, TIOCGPTN, &ptyno) == 0)
+    {
+      /* Buffer we use to print the number in.  For a maximum size for
+	 `int' of 8 bytes we never need more than 20 digits.  */
+      char numbuf[21];
+      const char *devpts = _PATH_DEVPTS;
+      const size_t devptslen = strlen (_PATH_DEVPTS);
+      char *p;
+
+      numbuf[sizeof (numbuf) - 1] = '\0';
+      p = _itoa_word (ptyno, &numbuf[sizeof (numbuf) - 1], 10, 0);
+
+      if (buflen < devptslen + (&numbuf[sizeof (numbuf)] - p))
+	{
+	  __set_errno (ERANGE);
+	  return ERANGE;
+	}
+
+      memcpy (__stpcpy (buf, devpts), p, &numbuf[sizeof (numbuf)] - p);
+    }
+  else if (errno != EINVAL)
+    return errno;
+  else
+#endif
+    {
+      char *p;
+
+      if (buflen < strlen (_PATH_TTY) + 3)
+	{
+	  __set_errno (ERANGE);
+	  return ERANGE;
+	}
+
+      if (__fxstat64 (_STAT_VER, fd, stp) < 0)
+	return errno;
+
+      /* Check if FD really is a master pseudo terminal.  */
+      if (! MASTER_P (stp->st_rdev))
+	{
+	  __set_errno (ENOTTY);
+	  return ENOTTY;
+	}
+
+      ptyno = minor (stp->st_rdev);
+
+      if (ptyno / 16 >= strlen (__libc_ptyname1))
+	{
+	  __set_errno (ENOTTY);
+	  return ENOTTY;
+	}
+
+      p = __stpcpy (buf, _PATH_TTY);
+      p[0] = __libc_ptyname1[ptyno / 16];
+      p[1] = __libc_ptyname2[ptyno % 16];
+      p[2] = '\0';
+    }
+
+  if (__xstat64 (_STAT_VER, buf, stp) < 0)
+    return errno;
+
+  /* Check if the name we're about to return really corresponds to a
+     slave pseudo terminal.  */
+  if (! S_ISCHR (stp->st_mode) || ! SLAVE_P (stp->st_rdev))
+    {
+      /* This really is a configuration problem.  */
+      __set_errno (ENOTTY);
+      return ENOTTY;
+    }
+
+  __set_errno (save_errno);
+  return 0;
+}
+
+
+/* Store at most BUFLEN characters of the pathname of the slave pseudo
+   terminal associated with the master FD is open on in BUF.
+   Return 0 on success, otherwise an error number.  */
+int
+__ptsname_r (int fd, char *buf, size_t buflen)
+{
+  struct stat64 st;
+  return __ptsname_internal (fd, buf, buflen, &st);
+}
+weak_alias (__ptsname_r, ptsname_r)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwrite.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwrite.c
new file mode 100644
index 0000000000..ef11d8f8a1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwrite.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <unistd.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+# ifndef __NR_pwrite
+#  define __NR_pwrite __NR_pwrite64
+# endif
+
+ssize_t
+__libc_pwrite (int fd, const void *buf, size_t count, off_t offset)
+{
+  return SYSCALL_CANCEL (pwrite, fd, buf, count, SYSCALL_LL_PRW (offset));
+}
+
+strong_alias (__libc_pwrite, __pwrite)
+libc_hidden_weak (__pwrite)
+weak_alias (__libc_pwrite, pwrite)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwrite64.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwrite64.c
new file mode 100644
index 0000000000..71959c0de2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwrite64.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <unistd.h>
+#include <sysdep-cancel.h>
+
+#ifndef __NR_pwrite64
+# define __NR_pwrite64 __NR_pwrite
+#endif
+
+ssize_t
+__libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
+{
+  return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL64_PRW (offset));
+}
+
+weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_weak (__pwrite64)
+weak_alias (__libc_pwrite64, pwrite64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (__libc_pwrite64, __libc_pwrite)
+weak_alias (__libc_pwrite64, __pwrite)
+weak_alias (__libc_pwrite64, pwrite)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwritev.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev.c
new file mode 100644
index 0000000000..7545cb3e1e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev.c
@@ -0,0 +1,55 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+# ifdef __ASSUME_PREADV
+
+#  ifndef __NR_pwritev
+#   define __NR_pwritev __NR_pwritev64
+#  endif
+
+ssize_t
+pwritev (int fd, const struct iovec *vector, int count, off_t offset)
+{
+  return SYSCALL_CANCEL (pwritev, fd, vector, count, LO_HI_LONG (offset));
+}
+# else
+static ssize_t __atomic_pwritev_replacement (int, const struct iovec *,
+					     int, off_t) internal_function;
+ssize_t
+pwritev (int fd, const struct iovec *vector, int count, off_t offset)
+{
+#  ifdef __NR_pwritev
+  ssize_t result = SYSCALL_CANCEL (pwritev, fd, vector, count,
+				   LO_HI_LONG (offset));
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#  endif
+  return __atomic_pwritev_replacement (fd, vector, count, offset);
+}
+#  define PWRITEV static internal_function __atomic_pwritev_replacement
+#  define PWRITE __pwrite
+#  define OFF_T off_t
+#  include <sysdeps/posix/pwritev_common.c>
+# endif /* __ASSUME_PREADV  */
+
+libc_hidden_def (pwritev)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwritev2.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev2.c
new file mode 100644
index 0000000000..72f0471f96
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev2.c
@@ -0,0 +1,51 @@
+/* Linux implementation of pwritev2.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+
+ssize_t
+pwritev2 (int fd, const struct iovec *vector, int count, off_t offset,
+	  int flags)
+{
+# ifdef __NR_pwritev2
+  ssize_t result = SYSCALL_CANCEL (pwritev2, fd, vector, count,
+				   LO_HI_LONG (offset), flags);
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+# endif
+  /* Trying to emulate the pwritev2 syscall flags is troublesome:
+
+     * We can not temporary change the file state of the O_DSYNC and O_SYNC
+       flags to emulate RWF_{D}SYNC (attempts to change the state of using
+       fcntl are silently ignored).
+
+     * IOCB_HIPRI requires the file opened in O_DIRECT and uses an internal
+       semantic not provided by any other flag (O_NONBLOCK for instance).  */
+
+  if (flags != 0)
+    {
+      __set_errno (EOPNOTSUPP);
+      return -1;
+    }
+  return pwritev (fd, vector, count, offset);
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64.c
new file mode 100644
index 0000000000..9dc4e55f96
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64.c
@@ -0,0 +1,56 @@
+/* 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/uio.h>
+#include <sysdep-cancel.h>
+
+#ifdef __ASSUME_PWRITEV
+
+# ifndef __NR_pwritev64
+#  define __NR_pwritev64 __NR_pwritev
+# endif
+
+ssize_t
+pwritev64 (int fd, const struct iovec *vector, int count, off64_t offset)
+{
+  return SYSCALL_CANCEL (pwritev64, fd, vector, count, LO_HI_LONG (offset));
+}
+#else
+static ssize_t __atomic_pwritev64_replacement (int, const struct iovec *,
+					       int, off64_t) internal_function;
+ssize_t
+pwritev64 (int fd, const struct iovec *vector, int count, off64_t offset)
+{
+#ifdef __NR_pwritev64
+  ssize_t result = SYSCALL_CANCEL (pwritev64, fd, vector, count,
+				   LO_HI_LONG (offset));
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#endif
+  return __atomic_pwritev64_replacement (fd, vector, count, offset);
+}
+# define PWRITEV static internal_function __atomic_pwritev64_replacement
+# define PWRITE __pwrite64
+# define OFF_T off64_t
+# include <sysdeps/posix/pwritev_common.c>
+#endif
+libc_hidden_def (pwritev64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (pwritev64, pwritev)
+libc_hidden_def (pwritev)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64v2.c b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64v2.c
new file mode 100644
index 0000000000..def9a0bc57
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/pwritev64v2.c
@@ -0,0 +1,55 @@
+/* Linux implementation of pwritev2 (LFS version).
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+#if !defined(__NR_pwritev64v2) && defined(__NR_pwritev2)
+# define __NR_pwritev64v2 __NR_pwritev2
+#endif
+
+ssize_t
+pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
+	     int flags)
+{
+#ifdef __NR_pwritev64v2
+  ssize_t result = SYSCALL_CANCEL (pwritev64v2, fd, vector, count,
+				   LO_HI_LONG (offset), flags);
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+#endif
+  /* Trying to emulate the pwritev2 syscall flags is troublesome:
+
+     * We can not temporary change the file state of the O_DSYNC and O_SYNC
+       flags to emulate RWF_{D}SYNC (attempts to change the state of using
+       fcntl are silently ignored).
+
+     * IOCB_HIPRI requires the file opened in O_DIRECT and uses an internal
+       semantic not provided by any other flag (O_NONBLOCK for instance).  */
+
+  if (flags != 0)
+    {
+      __set_errno (EOPNOTSUPP);
+      return -1;
+    }
+  return pwritev64 (fd, vector, count, offset);
+}
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (pwritev64v2, pwritev2)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/raise.c b/REORG.TODO/sysdeps/unix/sysv/linux/raise.c
new file mode 100644
index 0000000000..70e5a98922
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/raise.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sysdep.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <nptl-signals.h>
+
+int
+raise (int sig)
+{
+  /* rt_sigprocmask may fail if:
+
+     1. sigsetsize != sizeof (sigset_t) (EINVAL)
+     2. a failure in copy from/to user space (EFAULT)
+     3. an invalid 'how' operation (EINVAL)
+
+     The first case is already handle in glibc syscall call by using the arch
+     defined _NSIG.  Second case is handled by using a stack allocated mask.
+     The last one should be handled by the block/unblock functions.  */
+
+  sigset_t set;
+  __libc_signal_block_app (&set);
+
+  INTERNAL_SYSCALL_DECL (err);
+  pid_t pid = INTERNAL_SYSCALL (getpid, err, 0);
+  pid_t tid = INTERNAL_SYSCALL (gettid, err, 0);
+
+  int ret = INLINE_SYSCALL (tgkill, 3, pid, tid, sig);
+
+  __libc_signal_restore_set (&set);
+
+  return ret;
+}
+libc_hidden_def (raise)
+weak_alias (raise, gsignal)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/read.c b/REORG.TODO/sysdeps/unix/sysv/linux/read.c
new file mode 100644
index 0000000000..2a02c1bae4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/read.c
@@ -0,0 +1,33 @@
+/* Linux read syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Read NBYTES into BUF from FD.  Return the number read or -1.  */
+ssize_t
+__libc_read (int fd, void *buf, size_t nbytes)
+{
+  return SYSCALL_CANCEL (read, fd, buf, nbytes);
+}
+libc_hidden_def (__libc_read)
+
+libc_hidden_def (__read)
+weak_alias (__libc_read, __read)
+libc_hidden_def (read)
+weak_alias (__libc_read, read)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/readahead.c b/REORG.TODO/sysdeps/unix/sysv/linux/readahead.c
new file mode 100644
index 0000000000..8adcc9a81b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/readahead.c
@@ -0,0 +1,46 @@
+/* Provide kernel hint to read ahead.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+#ifdef __NR_readahead
+
+ssize_t
+__readahead (int fd, off64_t offset, size_t count)
+{
+  return INLINE_SYSCALL (readahead, 4, fd,
+			 __LONG_LONG_PAIR ((off_t) (offset >> 32),
+					   (off_t) (offset & 0xffffffff)),
+			 count);
+}
+#else
+ssize_t
+__readahead (int fd, off64_t offset, size_t count)
+{
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOSYS);
+}
+stub_warning (readahead)
+#endif
+
+weak_alias (__readahead, readahead)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/readdir64.c
new file mode 100644
index 0000000000..224f53db88
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/readdir64.c
@@ -0,0 +1,7 @@
+#define __READDIR __readdir64
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+
+#include <sysdeps/posix/readdir.c>
+
+weak_alias (__readdir64, readdir64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/readdir64_r.c
new file mode 100644
index 0000000000..3dfbf4fd2c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/readdir64_r.c
@@ -0,0 +1,7 @@
+#define __READDIR_R __readdir64_r
+#define __GETDENTS __getdents64
+#define DIRENT_TYPE struct dirent64
+
+#include <sysdeps/posix/readdir_r.c>
+
+weak_alias (__readdir64_r, readdir64_r)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/readonly-area.c b/REORG.TODO/sysdeps/unix/sysv/linux/readonly-area.c
new file mode 100644
index 0000000000..e2288e98d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/readonly-area.c
@@ -0,0 +1,102 @@
+/* Copyright (C) 2004-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 <stdint.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdlib.h>
+#include <string.h>
+#include "libio/libioP.h"
+
+/* Return 1 if the whole area PTR .. PTR+SIZE is not writable.
+   Return -1 if it is writable.  */
+
+int
+__readonly_area (const char *ptr, size_t size)
+{
+  const void *ptr_end = ptr + size;
+
+  FILE *fp = fopen ("/proc/self/maps", "rce");
+  if (fp == NULL)
+    {
+      /* It is the system administrator's choice to not have /proc
+	 available to this process (e.g., because it runs in a chroot
+	 environment.  Don't fail in this case.  */
+      if (errno == ENOENT
+	  /* The kernel has a bug in that a process is denied access
+	     to the /proc filesystem if it is set[ug]id.  There has
+	     been no willingness to change this in the kernel so
+	     far.  */
+	  || errno == EACCES)
+	return 1;
+      return -1;
+    }
+
+  /* We need no locking.  */
+  __fsetlocking (fp, FSETLOCKING_BYCALLER);
+
+  char *line = NULL;
+  size_t linelen = 0;
+
+  while (! feof_unlocked (fp))
+    {
+      if (_IO_getdelim (&line, &linelen, '\n', fp) <= 0)
+	break;
+
+      char *p;
+      uintptr_t from = strtoul (line, &p, 16);
+
+      if (p == line || *p++ != '-')
+	break;
+
+      char *q;
+      uintptr_t to = strtoul (p, &q, 16);
+
+      if (q == p || *q++ != ' ')
+	break;
+
+      if (from < (uintptr_t) ptr_end && to > (uintptr_t) ptr)
+	{
+	  /* Found an entry that at least partially covers the area.  */
+	  if (*q++ != 'r' || *q++ != '-')
+	    break;
+
+	  if (from <= (uintptr_t) ptr && to >= (uintptr_t) ptr_end)
+	    {
+	      size = 0;
+	      break;
+	    }
+	  else if (from <= (uintptr_t) ptr)
+	    size -= to - (uintptr_t) ptr;
+	  else if (to >= (uintptr_t) ptr_end)
+	    size -= (uintptr_t) ptr_end - from;
+	  else
+	    size -= to - from;
+
+	  if (!size)
+	    break;
+	}
+    }
+
+  fclose (fp);
+  free (line);
+
+  /* If the whole area between ptr and ptr_end is covered by read-only
+     VMAs, return 1.  Otherwise return -1.  */
+  return size == 0 ? 1 : -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/readv.c b/REORG.TODO/sysdeps/unix/sysv/linux/readv.c
new file mode 100644
index 0000000000..142a0a92a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/readv.c
@@ -0,0 +1,27 @@
+/* Linux implementation for readv syscall.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+__readv (int fd, const struct iovec *iov, int iovcnt)
+{
+  return SYSCALL_CANCEL (readv, fd, iov, iovcnt);
+}
+weak_alias (__readv, readv)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/reboot.c b/REORG.TODO/sysdeps/unix/sysv/linux/reboot.c
new file mode 100644
index 0000000000..dfaed404eb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/reboot.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/reboot.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Call kernel with additional two arguments the syscall requires.  */
+int
+reboot (int howto)
+{
+  return INLINE_SYSCALL (reboot, 3, (int) 0xfee1dead, 672274793, howto);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/recv.c b/REORG.TODO/sysdeps/unix/sysv/linux/recv.c
new file mode 100644
index 0000000000..2467d9955d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/recv.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+ssize_t
+__libc_recv (int fd, void *buf, size_t len, int flags)
+{
+#ifdef __ASSUME_RECV_SYSCALL
+  return SYSCALL_CANCEL (recv, fd, buf, len, flags);
+#elif defined __ASSUME_RECVFROM_SYSCALL
+  return SYSCALL_CANCEL (recvfrom, fd, buf, len, flags, NULL, NULL);
+#else
+  return SOCKETCALL_CANCEL (recv, fd, buf, len, flags);
+#endif
+}
+weak_alias (__libc_recv, recv)
+weak_alias (__libc_recv, __recv)
+libc_hidden_weak (__recv)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/recvfrom.c b/REORG.TODO/sysdeps/unix/sysv/linux/recvfrom.c
new file mode 100644
index 0000000000..27c2360f64
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/recvfrom.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+ssize_t
+__libc_recvfrom (int fd, void *buf, size_t len, int flags,
+		 __SOCKADDR_ARG addr, socklen_t *addrlen)
+{
+#ifdef __ASSUME_RECVFROM_SYSCALL
+  return SYSCALL_CANCEL (recvfrom, fd, buf, len, flags, addr.__sockaddr__,
+                         addrlen);
+#else
+  return SOCKETCALL_CANCEL (recvfrom, fd, buf, len, flags, addr.__sockaddr__,
+			    addrlen);
+#endif
+}
+weak_alias (__libc_recvfrom, recvfrom)
+weak_alias (__libc_recvfrom, __recvfrom)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/recvmmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/recvmmsg.c
new file mode 100644
index 0000000000..60e06b7754
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/recvmmsg.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@redhat.com>, 2010.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <sys/socket.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+#include <socketcall.h>
+#include <kernel-features.h>
+
+int
+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
+	  struct timespec *tmo)
+{
+#ifdef __ASSUME_RECVMMSG_SYSCALL
+  return SYSCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
+#else
+  return SOCKETCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/recvmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/recvmsg.c
new file mode 100644
index 0000000000..020be8bf56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/recvmsg.c
@@ -0,0 +1,34 @@
+/* Linux recvmsg syscall wrapper.
+   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/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+#include <shlib-compat.h>
+
+ssize_t
+__libc_recvmsg (int fd, struct msghdr *msg, int flags)
+{
+# ifdef __ASSUME_RECVMSG_SYSCALL
+  return SYSCALL_CANCEL (recvmsg, fd, msg, flags);
+# else
+  return SOCKETCALL_CANCEL (recvmsg, fd, msg, flags);
+# endif
+}
+weak_alias (__libc_recvmsg, recvmsg)
+weak_alias (__libc_recvmsg, __recvmsg)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/remove.c b/REORG.TODO/sysdeps/unix/sysv/linux/remove.c
new file mode 100644
index 0000000000..4abf34a73d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/remove.c
@@ -0,0 +1,2 @@
+#define IS_NO_DIRECTORY_ERROR errno != EISDIR
+#include <sysdeps/posix/remove.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/rename.c b/REORG.TODO/sysdeps/unix/sysv/linux/rename.c
new file mode 100644
index 0000000000..ebf59bc39c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/rename.c
@@ -0,0 +1,35 @@
+/* Linux implementation for rename function.
+   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 <stdio.h>
+#include <fcntl.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Rename the file OLD to NEW.  */
+int
+rename (const char *old, const char *new)
+{
+#if defined (__NR_rename)
+  return INLINE_SYSCALL_CALL (rename, old, new);
+#elif defined (__NR_renameat)
+  return INLINE_SYSCALL_CALL (renameat, AT_FDCWD, old, AT_FDCWD, new);
+#else
+  return INLINE_SYSCALL_CALL (renameat2, AT_FDCWD, old, AT_FDCWD, new, 0);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/renameat.c b/REORG.TODO/sysdeps/unix/sysv/linux/renameat.c
new file mode 100644
index 0000000000..603159ccc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/renameat.c
@@ -0,0 +1,32 @@
+/* Linux implementation for renameat function.
+   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 <stdio.h>
+#include <fcntl.h>
+#include <sysdep.h>
+#include <errno.h>
+
+int
+renameat (int oldfd, const char *old, int newfd, const char *new)
+{
+#ifdef __NR_renameat
+  return INLINE_SYSCALL_CALL (renameat, oldfd, old, newfd, new);
+#else
+  return INLINE_SYSCALL_CALL (renameat2, oldfd, old, newfd, new, 0);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Implies
new file mode 100644
index 0000000000..e6e51fa5a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Implies
@@ -0,0 +1,5 @@
+s390/nptl
+
+# These supply the ABI compatibility for when long double was double.
+ieee754/ldbl-64-128
+ieee754/ldbl-opt
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Makefile
new file mode 100644
index 0000000000..3867c33d91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Makefile
@@ -0,0 +1,31 @@
+abi-variants := 32 64
+abi-32-options := -U__s390x__
+abi-32-condition := __WORDSIZE == 32
+abi-64-options := -D__s390x__
+abi-64-condition := __WORDSIZE == 64
+
+ifeq ($(subdir),rt)
+librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+endif
+
+ifeq ($(subdir),nptl)
+ifeq ($(enable-lock-elision),yes)
+libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
+			      elision-trylock
+
+elision-CFLAGS = -mhtm -msoft-float
+CFLAGS-elision-lock.c = $(elision-CFLAGS)
+CFLAGS-elision-timed.c = $(elision-CFLAGS)
+CFLAGS-elision-trylock.c = $(elision-CFLAGS)
+CFLAGS-elision-unlock.c = $(elision-CFLAGS)
+endif
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Versions
new file mode 100644
index 0000000000..55518a7e5f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/Versions
@@ -0,0 +1,16 @@
+libc {
+  GLIBC_2.19 {
+    __longjmp_chk;
+    getcontext;
+  }
+  GLIBC_PRIVATE {
+    __vdso_clock_gettime;
+    __vdso_clock_getres;
+  }
+}
+
+libpthread {
+  GLIBC_2.19 {
+    longjmp; siglongjmp;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/arch-fork.h
new file mode 100644
index 0000000000..299e638ce8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/arch-fork.h
@@ -0,0 +1,29 @@
+/* ARCH_FORK definition for Linux fork implementation. S390 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						      \
+		  0, CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,     \
+		  NULL, &THREAD_SELF->tid, NULL)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/elfclass.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/elfclass.h
new file mode 100644
index 0000000000..723f75158e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/elfclass.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file specifies the native word size of the machine, which indicates
+   the ELF file class used for executables and shared objects on this
+   machine.  */
+
+#ifndef _LINK_H
+# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#define __ELF_NATIVE_CLASS __WORDSIZE
+
+#if __WORDSIZE == 64
+/* 64 bit Linux for S/390 is exceptional as it has .hash section with
+   64 bit entries.  */
+typedef uint64_t Elf_Symndx;
+#else
+/* 32 bit Linux for S/390 has normal .hash section entries with 32 bits.  */
+typedef uint32_t Elf_Symndx;
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/environments.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/environments.h
new file mode 100644
index 0000000000..ab29ebfcc1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/environments.h
@@ -0,0 +1,96 @@
+/* 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/>.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+   Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
+   # undef _POSIX_V6_ILP32_OFF32
+   # undef _POSIX_V6_ILP32_OFFBIG
+   # undef _XBS5_ILP32_OFF32
+   # undef _XBS5_ILP32_OFFBIG
+   and users need to check at runtime.  */
+
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64	1
+# define _POSIX_V6_LP64_OFF64	1
+# define _XBS5_LP64_OFF64	1
+
+#else /* __WORDSIZE == 32 */
+
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32	1
+# define _POSIX_V7_ILP32_OFFBIG	1
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
+# define _XBS5_ILP32_OFF32	1
+# define _XBS5_ILP32_OFFBIG	1
+
+/* We optionally provide an environment with the above size but an 64-bit
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
+
+/* Environments with 64-bit wide pointers can be provided,
+   so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
+   # undef _POSIX_V6_LP64_OFF64
+   # undef _POSIX_V6_LPBIG_OFFBIG
+   # undef _XBS5_LP64_OFF64
+   # undef _XBS5_LPBIG_OFFBIG
+   and sysconf tests for it at runtime.  */
+
+#endif /* __WORDSIZE == 32 */
+
+#define __ILP32_OFF32_CFLAGS	"-m31"
+#define __ILP32_OFFBIG_CFLAGS	"-m31 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+#define __ILP32_OFF32_LDFLAGS	"-m31"
+#define __ILP32_OFFBIG_LDFLAGS	"-m31"
+#define __LP64_OFF64_CFLAGS	"-m64"
+#define __LP64_OFF64_LDFLAGS	"-m64"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
new file mode 100644
index 0000000000..bce5f1a577
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
@@ -0,0 +1,71 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+/* Not necessary, files are always with 64bit off_t.  */
+# define __O_LARGEFILE	0
+#endif
+
+#if __WORDSIZE == 64
+/* Not necessary, we always have 64-bit offsets.  */
+# define F_GETLK64	5	/* Get record locking info.  */
+# define F_SETLK64	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	7	/* Set record locking info (blocking).	*/
+#endif
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+#if __WORDSIZE == 64
+# define __POSIX_FADV_DONTNEED	6 /* Don't need these pages.  */
+# define __POSIX_FADV_NOREUSE	7 /* Data will be accessed once.  */
+#else
+# define __POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
+# define __POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/hwcap.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
new file mode 100644
index 0000000000..6a7e4328c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
@@ -0,0 +1,38 @@
+/* Defines for bits in AT_HWCAP.
+   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/>.  */
+
+#ifndef _SYS_AUXV_H
+# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
+#endif
+
+/*
+ * The following must match the kernels asm/elf.h.
+ * Note that these are *not* the same as the STORE FACILITY LIST bits.
+ */
+#define HWCAP_S390_ESAN3        1
+#define HWCAP_S390_ZARCH        2
+#define HWCAP_S390_STFLE        4
+#define HWCAP_S390_MSA          8
+#define HWCAP_S390_LDISP        16
+#define HWCAP_S390_EIMM         32
+#define HWCAP_S390_DFP          64
+#define HWCAP_S390_HPAGE        128
+#define HWCAP_S390_ETF3EH       256
+#define HWCAP_S390_HIGH_GPRS    512
+#define HWCAP_S390_TE           1024
+#define HWCAP_S390_VX           2048
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/ipc.h
new file mode 100644
index 0000000000..3d462dbca4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/ipc.h
@@ -0,0 +1,60 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.	*/
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+#define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.	*/
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.	 */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.	 */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.	*/
+#if __WORDSIZE == 64
+    __mode_t mode;			/* Read/write permission.  */
+#else
+    unsigned short int mode;		/* Read/write permission.  */
+    unsigned short int __pad1;
+#endif
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned short int __pad2;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/mman.h
new file mode 100644
index 0000000000..922cd4dfbb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/mman.h
@@ -0,0 +1,41 @@
+/* Definitions for POSIX memory map interface.  Linux/s390 version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/msq.h
new file mode 100644
index 0000000000..5eb0b9a155
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/msq.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved2;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved3;
+#endif
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved4;
+  unsigned long int __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sem.h
new file mode 100644
index 0000000000..0ff0be10ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sem.h
@@ -0,0 +1,90 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t sem_ctime;			/* last time changed by semctl() */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved2;
+#endif
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved3;
+  unsigned long int __glibc_reserved4;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct	seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/shm.h
new file mode 100644
index 0000000000..768b16929a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/shm.h
@@ -0,0 +1,110 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Permission flag for shmget.	*/
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved1;
+#endif
+    __time_t shm_dtime;			/* time of last shmdt() */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved2;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+#if __WORDSIZE != 64
+  unsigned long int __glibc_reserved3;
+#endif
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT	13
+# define SHM_INFO	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000	/* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sigaction.h
new file mode 100644
index 0000000000..9fc4ba41ca
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/sigaction.h
@@ -0,0 +1,112 @@
+/* Definitions for 31 & 64 bit S/390 sigaction.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.	*/
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Special flags.  */
+    int __glibc_reserved0;
+    int sa_flags;
+
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+
+    /* Additional set of signals to be blocked.	 */
+    __sigset_t sa_mask;
+  };
+#else
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* Special flags.  */
+    int sa_flags;
+
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+  };
+#endif
+
+/* Bits in `sa_flags'.  */
+#define	SA_NOCLDSTOP  1		 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    4		 /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
+				    its handler is being executed.	 */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
+
+/* Some aliases for the SA_ constants.	*/
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define	SIG_BLOCK     0		 /* Block signals.  */
+#define	SIG_UNBLOCK   1		 /* Unblock signals.  */
+#define	SIG_SETMASK   2		 /* Set the set of blocked signals.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/stat.h
new file mode 100644
index 0000000000..c13b697737
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/stat.h
@@ -0,0 +1,265 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+/* Versions of the `struct stat' data structure.  */
+# define _STAT_VER_KERNEL	0
+# define _STAT_VER_LINUX	1
+# define _STAT_VER		_STAT_VER_LINUX
+
+/* Versions of the `xmknod' interface.	*/
+#define _MKNOD_VER_LINUX	0
+#else
+/* Versions of the `struct stat' data structure.  */
+# define _STAT_VER_LINUX_OLD	1
+# define _STAT_VER_KERNEL	1
+# define _STAT_VER_SVR4		2
+# define _STAT_VER_LINUX	3
+# define _STAT_VER		_STAT_VER_LINUX
+
+/* Versions of the `xmknod' interface.  */
+# define _MKNOD_VER_LINUX	1
+# define _MKNOD_VER_SVR4	2
+# define _MKNOD_VER		_MKNOD_VER_LINUX
+#endif
+
+#if __WORDSIZE == 64
+struct stat
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino_t st_ino;		/* File serial number.	*/
+    __nlink_t st_nlink;		/* Link count.	*/
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    int __glibc_reserved0;
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.	*/
+    __blkcnt_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    long int __glibc_reserved[3];
+  };
+#else
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned int __pad1;
+# ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;			/* File serial number.	*/
+# else
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+# endif
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned int __pad2;
+# ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+# else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+# endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+# ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+# else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# endif
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#  define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#  define st_mtime st_mtim.tv_sec
+#  define st_ctime st_ctim.tv_sec
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+# ifndef __USE_FILE_OFFSET64
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+# else
+    __ino64_t st_ino;			/* File serial number.	*/
+# endif
+  };
+#endif
+
+#ifdef __USE_LARGEFILE64
+# if __WORDSIZE == 64
+/* Note stat64 is the same shape as stat.  */
+struct stat64
+  {
+    __dev_t st_dev;		/* Device.  */
+    __ino64_t st_ino;		/* File serial number.	*/
+    __nlink_t st_nlink;		/* Link count.	*/
+    __mode_t st_mode;		/* File mode.  */
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+    int __glibc_reserved0;
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+#  ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#   define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+#  else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#  endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.	*/
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    long int __glibc_reserved[3];
+  };
+# else
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+    unsigned int __pad1;
+
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#  ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#   define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+#  else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#  endif
+    __ino64_t st_ino;			/* File serial number.		*/
+  };
+# endif
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/statfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/statfs.h
new file mode 100644
index 0000000000..4413da4f57
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/statfs.h
@@ -0,0 +1,69 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_STATFS_H
+# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
+#endif
+
+#include <bits/types.h>  /* for __fsid_t and __fsblkcnt_t.  */
+
+struct statfs
+  {
+    unsigned int f_type;
+    unsigned int f_bsize;
+#ifndef __USE_FILE_OFFSET64
+    __fsblkcnt_t f_blocks;
+    __fsblkcnt_t f_bfree;
+    __fsblkcnt_t f_bavail;
+    __fsfilcnt_t f_files;
+    __fsfilcnt_t f_ffree;
+#else
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+#endif
+    __fsid_t f_fsid;
+    unsigned int f_namelen;
+    unsigned int f_frsize;
+    unsigned int f_flags;
+    unsigned int f_spare[4];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct statfs64
+  {
+    unsigned int f_type;
+    unsigned int f_bsize;
+    __fsblkcnt64_t f_blocks;
+    __fsblkcnt64_t f_bfree;
+    __fsblkcnt64_t f_bavail;
+    __fsfilcnt64_t f_files;
+    __fsfilcnt64_t f_ffree;
+    __fsid_t f_fsid;
+    unsigned int f_namelen;
+    unsigned int f_frsize;
+    unsigned int f_flags;
+    unsigned int f_spare[4];
+  };
+#endif
+
+/* Tell code we have this member.  */
+#define _STATFS_F_NAMELEN
+#define _STATFS_F_FRSIZE
+#define _STATFS_F_FLAGS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
new file mode 100644
index 0000000000..566849c8ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
@@ -0,0 +1,89 @@
+/* bits/typesizes.h -- underlying types for *_t.  Linux/s390 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef	_BITS_TYPESIZES_H
+#define	_BITS_TYPESIZES_H	1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+#define __DEV_T_TYPE		__UQUAD_TYPE
+#define __UID_T_TYPE		__U32_TYPE
+#define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
+#define __INO64_T_TYPE		__UQUAD_TYPE
+#define __MODE_T_TYPE		__U32_TYPE
+#define __NLINK_T_TYPE		__UWORD_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
+#define __OFF64_T_TYPE		__SQUAD_TYPE
+#define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
+#define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
+#define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
+#define	__ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
+#define __USECONDS_T_TYPE	__U32_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
+#define __DADDR_T_TYPE		__S32_TYPE
+#define __KEY_T_TYPE		__S32_TYPE
+#define __CLOCKID_T_TYPE	__S32_TYPE
+#define __TIMER_T_TYPE		void *
+#define __BLKSIZE_T_TYPE	__SLONGWORD_TYPE
+#define __FSID_T_TYPE		struct { int __val[2]; }
+#if defined __GNUC__ && __GNUC__ <= 2
+/* Compatibility with g++ 2.95.x.  */
+#define __SSIZE_T_TYPE		__SWORD_TYPE
+#else
+/* size_t is unsigned long int on s390 -m31.  */
+#define __SSIZE_T_TYPE		__SLONGWORD_TYPE
+#endif
+#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
+
+#ifdef __s390x__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
+
+/* And for __rlim_t and __rlim64_t.  */
+# define __RLIM_T_MATCHES_RLIM64_T	1
+#else
+# define __RLIM_T_MATCHES_RLIM64_T	0
+#endif
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define	__FD_SETSIZE		1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmp.h
new file mode 100644
index 0000000000..36114c3b0e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmp.h
@@ -0,0 +1,123 @@
+/* The `struct utmp' type, describing entries in the utmp file.  GNU version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UTMP_H
+# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
+#endif
+
+#include <paths.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <bits/wordsize.h>
+
+
+#define UT_LINESIZE	32
+#define UT_NAMESIZE	32
+#define UT_HOSTSIZE	256
+
+
+/* The structure describing an entry in the database of
+   previous logins.  */
+struct lastlog
+  {
+#if __WORDSIZE == 32
+    int64_t ll_time;
+#else
+    __time_t ll_time;
+#endif
+    char ll_line[UT_LINESIZE];
+    char ll_host[UT_HOSTSIZE];
+  };
+
+
+/* The structure describing the status of a terminated process.  This
+   type is used in `struct utmp' below.  */
+struct exit_status
+  {
+    short int e_termination;	/* Process termination status.  */
+    short int e_exit;		/* Process exit status.  */
+  };
+
+
+/* The structure describing an entry in the user accounting database.  */
+struct utmp
+{
+  short int ut_type;		/* Type of login.  */
+  pid_t ut_pid;			/* Process ID of login process.  */
+  char ut_line[UT_LINESIZE];	/* Devicename.  */
+  char ut_id[4];		/* Inittab ID.  */
+  char ut_user[UT_NAMESIZE];	/* Username.  */
+  char ut_host[UT_HOSTSIZE];	/* Hostname for remote login.  */
+  struct exit_status ut_exit;	/* Exit status of a process marked
+				   as DEAD_PROCESS.  */
+/* The ut_session and ut_tv fields must be the same size when compiled
+   32- and 64-bit.  This allows data files and shared memory to be
+   shared between 32- and 64-bit applications.  */
+#if __WORDSIZE == 32
+  int64_t ut_session;		/* Session ID, used for windowing.  */
+  struct
+  {
+    int64_t tv_sec;		/* Seconds.  */
+    int64_t tv_usec;		/* Microseconds.  */
+  } ut_tv;			/* Time entry was made.  */
+#else
+  long int ut_session;		/* Session ID, used for windowing.  */
+  struct timeval ut_tv;		/* Time entry was made.  */
+#endif
+
+  int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
+  char __glibc_reserved[20];		/* Reserved for future use.  */
+};
+
+/* Backwards compatibility hacks.  */
+#define ut_name		ut_user
+#ifndef _NO_UT_TIME
+/* We have a problem here: `ut_time' is also used otherwise.  Define
+   _NO_UT_TIME if the compiler complains.  */
+# define ut_time	ut_tv.tv_sec
+#endif
+#define ut_xtime	ut_tv.tv_sec
+#define ut_addr		ut_addr_v6[0]
+
+
+/* Values for the `ut_type' field of a `struct utmp'.  */
+#define EMPTY		0	/* No valid user accounting information.  */
+
+#define RUN_LVL		1	/* The system's runlevel.  */
+#define BOOT_TIME	2	/* Time of system boot.  */
+#define NEW_TIME	3	/* Time after system clock changed.  */
+#define OLD_TIME	4	/* Time when system clock changed.  */
+
+#define INIT_PROCESS	5	/* Process spawned by the init process.  */
+#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */
+#define USER_PROCESS	7	/* Normal process.  */
+#define DEAD_PROCESS	8	/* Terminated process.  */
+
+#define ACCOUNTING	9
+
+/* Old Linux name for the EMPTY type.  */
+#define UT_UNKNOWN	EMPTY
+
+
+/* Tell the user that we have a modern system with UT_HOST, UT_PID,
+   UT_TYPE, UT_ID and UT_TV fields.  */
+#define _HAVE_UT_TYPE	1
+#define _HAVE_UT_PID	1
+#define _HAVE_UT_ID	1
+#define _HAVE_UT_TV	1
+#define _HAVE_UT_HOST	1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
new file mode 100644
index 0000000000..5850c1ec63
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
@@ -0,0 +1,102 @@
+/* Structures and definitions for the user accounting database.  GNU version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UTMPX_H
+# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <sys/time.h>
+#include <bits/wordsize.h>
+
+
+#ifdef __USE_GNU
+# include <paths.h>
+# define _PATH_UTMPX	_PATH_UTMP
+# define _PATH_WTMPX	_PATH_WTMP
+#endif
+
+
+#define __UT_LINESIZE	32
+#define __UT_NAMESIZE	32
+#define __UT_HOSTSIZE	256
+
+
+/* The structure describing the status of a terminated process.  This
+   type is used in `struct utmpx' below.  */
+struct __exit_status
+  {
+#ifdef __USE_GNU
+    short int e_termination;	/* Process termination status.  */
+    short int e_exit;		/* Process exit status.  */
+#else
+    short int __e_termination;	/* Process termination status.  */
+    short int __e_exit;		/* Process exit status.  */
+#endif
+  };
+
+
+/* The structure describing an entry in the user accounting database.  */
+struct utmpx
+{
+  short int ut_type;		/* Type of login.  */
+  __pid_t ut_pid;		/* Process ID of login process.  */
+  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_id[4];		/* Inittab ID. */
+  char ut_user[__UT_NAMESIZE];	/* Username.  */
+  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  struct __exit_status ut_exit;	/* Exit status of a process marked
+				   as DEAD_PROCESS.  */
+
+/* The fields ut_session and ut_tv must be the same size when compiled
+   32- and 64-bit.  This allows files and shared memory to be shared
+   between 32- and 64-bit applications.  */
+#if __WORDSIZE == 32
+  __int64_t ut_session;		/* Session ID, used for windowing.  */
+  struct
+  {
+    __int64_t tv_sec;		/* Seconds.  */
+    __int64_t tv_usec;		/* Microseconds.  */
+  } ut_tv;			/* Time entry was made.  */
+#else
+  long int ut_session;		/* Session ID, used for windowing.  */
+  struct timeval ut_tv;		/* Time entry was made.  */
+#endif
+  __int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
+  char __glibc_reserved[20];		/* Reserved for future use.  */
+};
+
+
+/* Values for the `ut_type' field of a `struct utmpx'.  */
+#define EMPTY		0	/* No valid user accounting information.  */
+
+#ifdef __USE_GNU
+# define RUN_LVL	1	/* The system's runlevel.  */
+#endif
+#define BOOT_TIME	2	/* Time of system boot.  */
+#define NEW_TIME	3	/* Time after system clock changed.  */
+#define OLD_TIME	4	/* Time when system clock changed.  */
+
+#define INIT_PROCESS	5	/* Process spawned by the init process.  */
+#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */
+#define USER_PROCESS	7	/* Normal process.  */
+#define DEAD_PROCESS	8	/* Terminated process.  */
+
+#ifdef __USE_GNU
+# define ACCOUNTING	9	/* System accounting.  */
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/brk.c
new file mode 100644
index 0000000000..2e5ad701ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/brk.c
@@ -0,0 +1,55 @@
+/*
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux/x86 ELF
+   dynamic linker.  Sigh.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  {
+    register void *__addr __asm__("2") = addr;
+
+    __asm__ ("svc  %b1\n\t"		/* call sys_brk */
+	     : "=d" (__addr)
+	     : "I" (SYS_ify(brk)), "r" (__addr)
+	     : "cc", "memory" );
+    newbrk = __addr;
+  }
+  __curbrk = newbrk;
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure b/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure
new file mode 100644
index 0000000000..1d735d7b9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure
@@ -0,0 +1,5 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/s390.
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure.ac
new file mode 100644
index 0000000000..978450c94b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/configure.ac
@@ -0,0 +1,5 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/s390.
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-cache.h
new file mode 100644
index 0000000000..766bba4265
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-cache.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
new file mode 100644
index 0000000000..7cbce0a043
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
@@ -0,0 +1,49 @@
+/* Linux/s390 version of processor capability information handling macros.
+   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2006.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_S390_PROCINFO_H
+#define _DL_S390_PROCINFO_H	1
+#include <sysdeps/s390/dl-procinfo.h>
+#include <ldsodefs.h>
+
+
+#undef _dl_procinfo
+static inline int
+__attribute__ ((unused))
+_dl_procinfo (unsigned int type, unsigned long int word)
+{
+  /* This table should match the information from arch/s390/kernel/setup.c
+     in the kernel sources.  */
+  int i;
+
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
+  _dl_printf ("AT_HWCAP:   ");
+
+  for (i = 0; i < _DL_HWCAP_COUNT; ++i)
+    if (word & (1UL << i))
+      _dl_printf (" %s", GLRO(dl_s390_cap_flags)[i]);
+
+  _dl_printf ("\n");
+
+  return 0;
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.c
new file mode 100644
index 0000000000..cc0fdef2aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.c
@@ -0,0 +1,82 @@
+/* Lock elision tunable parameters.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+#include <pthreadP.h>
+#include <elision-conf.h>
+#include <unistd.h>
+#include <dl-procinfo.h>
+
+/* Reasonable initial tuning values, may be revised in the future.
+   This is a conservative initial value.  */
+
+struct elision_config __elision_aconf =
+  {
+    /* How often to not attempt to use elision if a transaction aborted
+       because the lock is already acquired.  Expressed in number of lock
+       acquisition attempts.  */
+    .skip_lock_busy = 3,
+    /* How often to not attempt to use elision if a transaction aborted due
+       to reasons other than other threads' memory accesses.  Expressed in
+       number of lock acquisition attempts.  */
+    .skip_lock_internal_abort = 3,
+    /* How often to not attempt to use elision if a lock used up all retries
+       without success.  Expressed in number of lock acquisition attempts.  */
+    .skip_lock_out_of_tbegin_retries = 3,
+    /* How often we try using elision if there is chance for the transaction
+       to finish execution (e.g., it wasn't aborted due to the lock being
+       already acquired.  */
+    .try_tbegin = 3,
+    /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock.  */
+    .skip_trylock_internal_abort = 3,
+  };
+
+/* Force elision for all new locks.  This is used to decide whether existing
+   DEFAULT locks should be automatically upgraded to elision in
+   pthread_mutex_lock().  Disabled for suid programs.  Only used when elision
+   is available.  */
+
+int __pthread_force_elision attribute_hidden = 0;
+
+/* Initialize elison.  */
+
+static void
+elision_init (int argc __attribute__ ((unused)),
+	      char **argv  __attribute__ ((unused)),
+	      char **environ)
+{
+  /* Set when the CPU and the kernel supports transactional execution.
+     When false elision is never attempted.  */
+  int elision_available = (GLRO (dl_hwcap) & HWCAP_S390_TE) ? 1 : 0;
+
+  __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
+}
+
+#ifdef SHARED
+# define INIT_SECTION ".init_array"
+# define MAYBE_CONST
+#else
+# define INIT_SECTION ".preinit_array"
+# define MAYBE_CONST const
+#endif
+
+void (*MAYBE_CONST __pthread_init_array []) (int, char **, char **)
+  __attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
+{
+  &elision_init
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.h
new file mode 100644
index 0000000000..3143f3b114
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-conf.h
@@ -0,0 +1,44 @@
+/* Lock elision tunable parameters.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+#ifdef ENABLE_LOCK_ELISION
+#ifndef _ELISION_CONF_H
+#define _ELISION_CONF_H 1
+
+#include <pthread.h>
+#include <time.h>
+
+/* Should make sure there is no false sharing on this.  */
+
+struct elision_config
+{
+  int skip_lock_busy;
+  int skip_lock_internal_abort;
+  int skip_lock_out_of_tbegin_retries;
+  int try_tbegin;
+  int skip_trylock_internal_abort;
+};
+
+extern struct elision_config __elision_aconf attribute_hidden;
+
+extern int __pthread_force_elision attribute_hidden;
+
+/* Tell the test suite to test elision for this architecture.  */
+#define HAVE_ELISION 1
+
+#endif
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-lock.c
new file mode 100644
index 0000000000..00815375c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-lock.c
@@ -0,0 +1,125 @@
+/* Elided pthread mutex lock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include <htm.h>
+#include <elision-conf.h>
+#include <stdint.h>
+
+#if !defined(LLL_LOCK) && !defined(EXTRAARG)
+/* Make sure the configuration code is always linked in for static
+   libraries.  */
+#include "elision-conf.c"
+#endif
+
+#ifndef EXTRAARG
+#define EXTRAARG
+#endif
+#ifndef LLL_LOCK
+#define LLL_LOCK(a,b) lll_lock(a,b), 0
+#endif
+
+#define aconf __elision_aconf
+
+/* Adaptive lock using transactions.
+   By default the lock region is run as a transaction, and when it
+   aborts or the lock is busy the lock adapts itself.  */
+
+int
+__lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private)
+{
+  /* adapt_count can be accessed concurrently; these accesses can be both
+     inside of transactions (if critical sections are nested and the outer
+     critical section uses lock elision) and outside of transactions.  Thus,
+     we need to use atomic accesses to avoid data races.  However, the
+     value of adapt_count is just a hint, so relaxed MO accesses are
+     sufficient.  */
+    if (atomic_load_relaxed (adapt_count) <= 0 && aconf.try_tbegin > 0)
+    {
+      /* Start a transaction and retry it automatically if it aborts with
+	 _HTM_TBEGIN_TRANSIENT.  This macro calls tbegin at most retry_cnt
+	 + 1 times.  The second argument is considered as retry_cnt.  */
+      int status = __libc_tbegin_retry ((void *) 0, aconf.try_tbegin - 1);
+      if (__glibc_likely (status == _HTM_TBEGIN_STARTED))
+	{
+	  /* Check the futex to make sure nobody has touched it in the
+	     mean time.  This forces the futex into the cache and makes
+	     sure the transaction aborts if another thread acquires the lock
+	     concurrently.  */
+	  if (__glibc_likely (atomic_load_relaxed (futex) == 0))
+	    /* Lock was free.  Return to user code in a transaction.  */
+	    return 0;
+
+	  /* Lock was busy.  Fall back to normal locking.
+	     This can be the case if e.g. adapt_count was decremented to zero
+	     by a former release and another thread has been waken up and
+	     acquired it.  */
+	  if (__glibc_likely (__libc_tx_nesting_depth () <= 1))
+	    {
+	      /* In a non-nested transaction there is no need to abort,
+		 which is expensive.  Simply end the started transaction.  */
+	      __libc_tend ();
+	      /* Don't try to use transactions for the next couple of times.
+		 See above for why relaxed MO is sufficient.  */
+	      if (aconf.skip_lock_busy > 0)
+		atomic_store_relaxed (adapt_count, aconf.skip_lock_busy);
+	    }
+	  else /* nesting depth is > 1 */
+	    {
+	      /* A nested transaction will abort eventually because it
+		 cannot make any progress before *futex changes back to 0.
+		 So we may as well abort immediately.
+		 This persistently aborts the outer transaction to force
+		 the outer mutex use the default lock instead of retrying
+		 with transactions until the try_tbegin of the outer mutex
+		 is zero.
+		 The adapt_count of this inner mutex is not changed,
+		 because using the default lock with the inner mutex
+		 would abort the outer transaction.  */
+	      __libc_tabort (_HTM_FIRST_USER_ABORT_CODE | 1);
+	      __builtin_unreachable ();
+	    }
+	}
+      else if (status != _HTM_TBEGIN_TRANSIENT)
+	{
+	  /* A persistent abort (cc 1 or 3) indicates that a retry is
+	     probably futile.  Use the normal locking now and for the
+	     next couple of calls.
+	     Be careful to avoid writing to the lock.  See above for why
+	     relaxed MO is sufficient.  */
+	  if (aconf.skip_lock_internal_abort > 0)
+	    atomic_store_relaxed (adapt_count,
+				  aconf.skip_lock_internal_abort);
+	}
+      else
+	{
+	  /* The transaction failed for some retries with
+	     _HTM_TBEGIN_TRANSIENT.  Use the normal locking now and for the
+	     next couple of calls.  */
+	  if (aconf.skip_lock_out_of_tbegin_retries > 0)
+	    atomic_store_relaxed (adapt_count,
+				  aconf.skip_lock_out_of_tbegin_retries);
+	}
+    }
+
+  /* Use normal locking as fallback path if the transaction does not
+     succeed.  */
+  return LLL_LOCK ((*futex), private);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-timed.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-timed.c
new file mode 100644
index 0000000000..8096ca14ad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-timed.c
@@ -0,0 +1,26 @@
+/* Lock elision timed lock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+#include <elision-conf.h>
+#include <lowlevellock.h>
+#define __lll_lock_elision __lll_timedlock_elision
+#define EXTRAARG const struct timespec *t,
+#undef LLL_LOCK
+#define LLL_LOCK(a, b) lll_timedlock(a, t, b)
+#include "elision-lock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-trylock.c
new file mode 100644
index 0000000000..aa09073324
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-trylock.c
@@ -0,0 +1,97 @@
+/* Elided pthread mutex trylock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include <htm.h>
+#include <elision-conf.h>
+
+#define aconf __elision_aconf
+
+/* Try to elide a futex trylock.  FUTEX is the futex variable.  ADAPT_COUNT is
+   the adaptation counter in the mutex.  */
+
+int
+__lll_trylock_elision (int *futex, short *adapt_count)
+{
+  /* Implement POSIX semantics by forbiding nesting elided trylocks.
+     Sorry.  After the abort the code is re-executed
+     non transactional and if the lock was already locked
+     return an error.  */
+  if (__libc_tx_nesting_depth () > 0)
+    {
+      /* Note that this abort may terminate an outermost transaction that
+	 was created outside glibc.
+	 This persistently aborts the current transactions to force
+	 them to use the default lock instead of retrying transactions
+	 until their try_tbegin is zero.
+      */
+      __libc_tabort (_HTM_FIRST_USER_ABORT_CODE | 1);
+      __builtin_unreachable ();
+    }
+
+  /* adapt_count can be accessed concurrently; these accesses can be both
+     inside of transactions (if critical sections are nested and the outer
+     critical section uses lock elision) and outside of transactions.  Thus,
+     we need to use atomic accesses to avoid data races.  However, the
+     value of adapt_count is just a hint, so relaxed MO accesses are
+     sufficient.  */
+    if (atomic_load_relaxed (adapt_count) <= 0 && aconf.try_tbegin > 0)
+    {
+      int status = __libc_tbegin ((void *) 0);
+      if (__glibc_likely (status  == _HTM_TBEGIN_STARTED))
+	{
+	  /* Check the futex to make sure nobody has touched it in the
+	     mean time.  This forces the futex into the cache and makes
+	     sure the transaction aborts if another thread acquires the lock
+	     concurrently.  */
+	  if (__glibc_likely (atomic_load_relaxed (futex) == 0))
+	    /* Lock was free.  Return to user code in a transaction.  */
+	    return 0;
+
+	  /* Lock was busy.  Fall back to normal locking.
+	     This can be the case if e.g. adapt_count was decremented to zero
+	     by a former release and another thread has been waken up and
+	     acquired it.
+	     Since we are in a non-nested transaction there is no need to abort,
+	     which is expensive.  Simply end the started transaction.  */
+	  __libc_tend ();
+	  /* Note: Changing the adapt_count here might abort a transaction on a
+	     different CPU, but that could happen anyway when the futex is
+	     acquired, so there's no need to check the nesting depth here.
+	     See above for why relaxed MO is sufficient.  */
+	  if (aconf.skip_lock_busy > 0)
+	    atomic_store_relaxed (adapt_count, aconf.skip_lock_busy);
+	}
+      else if (status != _HTM_TBEGIN_TRANSIENT)
+	{
+	  /* A persistent abort (cc 1 or 3) indicates that a retry is
+	     probably futile.  Use the normal locking now and for the
+	     next couple of calls.
+	     Be careful to avoid writing to the lock.  */
+	  if (aconf.skip_trylock_internal_abort > 0)
+	    *adapt_count = aconf.skip_trylock_internal_abort;
+	}
+      /* Could do some retries here.  */
+    }
+
+  /* Use normal locking as fallback path if the transaction does not
+     succeed.  */
+  return lll_trylock (*futex);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-unlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-unlock.c
new file mode 100644
index 0000000000..c062d71b77
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/elision-unlock.c
@@ -0,0 +1,61 @@
+/* Commit an elided pthread lock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include <htm.h>
+
+int
+__lll_unlock_elision(int *futex, short *adapt_count, int private)
+{
+  /* If the lock is free, we elided the lock earlier.  This does not
+     necessarily mean that we are in a transaction, because the user code may
+     have closed the transaction, but that is impossible to detect reliably.
+     Relaxed MO access to futex is sufficient because a correct program
+     will only release a lock it has acquired; therefore, it must either
+     changed the futex word's value to something !=0 or it must have used
+     elision; these are actions by the same thread, so these actions are
+     sequenced-before the relaxed load (and thus also happens-before the
+     relaxed load).  Therefore, relaxed MO is sufficient.  */
+  if (atomic_load_relaxed (futex) == 0)
+    {
+      __libc_tend ();
+    }
+  else
+    {
+      /* Update the adapt_count while unlocking before completing the critical
+	 section.  adapt_count is accessed concurrently outside of a
+	 transaction or a critical section (e.g. in elision-lock.c). So we need
+	 to use atomic accesses.  However, the value of adapt_count is just a
+	 hint, so relaxed MO accesses are sufficient.
+	 If adapt_count would be decremented while locking, multiple
+	 CPUs, trying to lock the acquired mutex, will decrement adapt_count to
+	 zero and another CPU will try to start a transaction, which will be
+	 immediately aborted as the mutex is locked.
+	 The update of adapt_count is done before releasing the lock as POSIX'
+	 mutex destruction requirements disallow accesses to the mutex after it
+	 has been released and thus could have been acquired or destroyed by
+	 another thread.  */
+      short adapt_count_val = atomic_load_relaxed (adapt_count);
+      if (adapt_count_val > 0)
+	atomic_store_relaxed (adapt_count, adapt_count_val - 1);
+
+      lll_unlock ((*futex), private);
+    }
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/force-elision.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/force-elision.h
new file mode 100644
index 0000000000..3ae3bcd566
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/force-elision.h
@@ -0,0 +1,28 @@
+/* Automatic enabling of elision for mutexes
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef ENABLE_LOCK_ELISION
+/* Automatically enable elision for existing user lock kinds.  */
+#define FORCE_ELISION(m, s)						\
+  if (__pthread_force_elision						\
+      && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0)	\
+    {									\
+      mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP;			\
+      s;								\
+    }
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/Implies
new file mode 100644
index 0000000000..3a8e225986
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/Implies
@@ -0,0 +1,2 @@
+# Override ldbl-opt with s390 specific routines.
+s390/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c
new file mode 100644
index 0000000000..2b2d505030
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c
@@ -0,0 +1,5 @@
+#include <math_ldbl_opt.h>
+#include <sysdeps/s390/fpu/s_fma.c>
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fma, fmal, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/htm.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/htm.h
new file mode 100644
index 0000000000..70d7f66000
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/htm.h
@@ -0,0 +1,187 @@
+/* Shared HTM header.  Work around false transactional execution facility
+   intrinsics.
+
+   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/>.  */
+
+#ifndef _HTM_H
+#define _HTM_H 1
+
+#include <htmintrin.h>
+
+#ifdef __s390x__
+# define TX_FPRS_BYTES 64
+# define TX_SAVE_FPRS						\
+  "   std %%f8, 0(%[R_FPRS])\n\t"				\
+  "   std %%f9, 8(%[R_FPRS])\n\t"				\
+  "   std %%f10, 16(%[R_FPRS])\n\t"				\
+  "   std %%f11, 24(%[R_FPRS])\n\t"				\
+  "   std %%f12, 32(%[R_FPRS])\n\t"				\
+  "   std %%f13, 40(%[R_FPRS])\n\t"				\
+  "   std %%f14, 48(%[R_FPRS])\n\t"				\
+  "   std %%f15, 56(%[R_FPRS])\n\t"
+
+# define TX_RESTORE_FPRS					\
+  "   ld %%f8, 0(%[R_FPRS])\n\t"				\
+  "   ld %%f9, 8(%[R_FPRS])\n\t"				\
+  "   ld %%f10, 16(%[R_FPRS])\n\t"				\
+  "   ld %%f11, 24(%[R_FPRS])\n\t"				\
+  "   ld %%f12, 32(%[R_FPRS])\n\t"				\
+  "   ld %%f13, 40(%[R_FPRS])\n\t"				\
+  "   ld %%f14, 48(%[R_FPRS])\n\t"				\
+  "   ld %%f15, 56(%[R_FPRS])\n\t"
+
+#else
+
+# define TX_FPRS_BYTES 16
+# define TX_SAVE_FPRS						\
+  "   std %%f4, 0(%[R_FPRS])\n\t"				\
+  "   std %%f6, 8(%[R_FPRS])\n\t"
+
+# define TX_RESTORE_FPRS					\
+  "   ld %%f4, 0(%[R_FPRS])\n\t"				\
+  "   ld %%f6, 8(%[R_FPRS])\n\t"
+
+#endif /* ! __s390x__  */
+
+/* Use own inline assembly instead of __builtin_tbegin, as tbegin
+   has to filter program interruptions which can't be done with the builtin.
+   Now the fprs have to be saved / restored here, too.
+   The fpc is also not saved / restored with the builtin.
+   The used inline assembly does not clobber the volatile fprs / vrs!
+   Clobbering the latter ones would force the compiler to save / restore
+   the call saved fprs as those overlap with the vrs, but they only need to be
+   restored if the transaction fails but not if the transaction is successfully
+   started.  Thus the user of the tbegin macros in this header file has to
+   compile the file / function with -msoft-float.  It prevents gcc from using
+   fprs / vrs.  */
+#define __libc_tbegin(tdb) __libc_tbegin_base(tdb,,,)
+
+#define __libc_tbegin_retry_output_regs , [R_TX_CNT] "+&d" (__tx_cnt)
+#define __libc_tbegin_retry_input_regs(retry_cnt) , [R_RETRY] "d" (retry_cnt)
+#define __libc_tbegin_retry_abort_path_insn				\
+  /* If tbegin returned _HTM_TBEGIN_TRANSIENT, retry immediately so	\
+     that max tbegin_cnt transactions are tried.  Otherwise return and	\
+     let the caller of this macro do the fallback path.  */		\
+  "   jnh 1f\n\t" /* cc 1/3: jump to fallback path.  */			\
+  /* tbegin returned _HTM_TBEGIN_TRANSIENT: retry with transaction.  */ \
+  "   crje %[R_TX_CNT], %[R_RETRY], 1f\n\t" /* Reached max retries?  */	\
+  "   ahi %[R_TX_CNT], 1\n\t"						\
+  "   ppa %[R_TX_CNT], 0, 1\n\t" /* Transaction-Abort Assist.  */	\
+  "   j 2b\n\t" /* Loop to tbegin.  */
+
+/* Same as __libc_tbegin except if tbegin aborts with _HTM_TBEGIN_TRANSIENT.
+   Then this macros restores the fpc, fprs and automatically retries up to
+   retry_cnt tbegins.  Further saving of the state is omitted as it is already
+   saved.  This macro calls tbegin at most as retry_cnt + 1 times.  */
+#define __libc_tbegin_retry(tdb, retry_cnt)				\
+  ({ int __ret;								\
+    int __tx_cnt = 0;							\
+    __ret = __libc_tbegin_base(tdb,					\
+			       __libc_tbegin_retry_abort_path_insn,	\
+			       __libc_tbegin_retry_output_regs,		\
+			       __libc_tbegin_retry_input_regs(retry_cnt)); \
+    __ret;								\
+  })
+
+#define __libc_tbegin_base(tdb, abort_path_insn, output_regs, input_regs) \
+  ({ int __ret;								\
+     int __fpc;								\
+     char __fprs[TX_FPRS_BYTES];					\
+     __asm__ __volatile__ (".machine push\n\t"				\
+			   ".machinemode \"zarch_nohighgprs\"\n\t"	\
+			   ".machine \"all\"\n\t"			\
+			   /* Save state at the outermost transaction.	\
+			      As extracting nesting depth is expensive	\
+			      on at least zEC12, save fprs at inner	\
+			      transactions, too.			\
+			      The fpc and fprs are saved here as they	\
+			      are not saved by tbegin.  There exist no	\
+			      call-saved vrs, thus they are not saved	\
+			      here.  */					\
+			   "   efpc %[R_FPC]\n\t"			\
+			   TX_SAVE_FPRS					\
+			   /* Begin transaction: save all gprs, allow	\
+			      ar modification and fp operations.  Some	\
+			      program-interruptions (e.g. a null	\
+			      pointer access) are filtered and the	\
+			      transaction will abort.  In this case	\
+			      the normal lock path will execute it	\
+			      again and result in a core dump wich does	\
+			      now show at tbegin but the real executed	\
+			      instruction.				\
+			      However it is not guaranteed that this	\
+			      retry operate on the same data and thus	\
+			      may not end in an program-interruption.	\
+			      Note: This could also be used to probe	\
+			      memory for being accessible!  */		\
+			   "2: tbegin 0, 0xFF0E\n\t"			\
+			   /* Branch away in abort case (this is the	\
+			      prefered sequence.  See PoP in chapter 5	\
+			      Transactional-Execution Facility		\
+			      Operation).  */				\
+			   "   jnz 0f\n\t"				\
+			   /* Transaction has successfully started.  */	\
+			   "   lhi %[R_RET], 0\n\t"			\
+			   "   j 1f\n\t"				\
+			   /* Transaction has aborted.  Now we are at	\
+			      the outermost transaction.  Restore fprs	\
+			      and fpc. */				\
+			   "0: ipm %[R_RET]\n\t"			\
+			   "   srl %[R_RET], 28\n\t"			\
+			   "   sfpc %[R_FPC]\n\t"			\
+			   TX_RESTORE_FPRS				\
+			   abort_path_insn				\
+			   "1:\n\t"					\
+			   ".machine pop\n"				\
+			   : [R_RET] "=&d" (__ret),			\
+			     [R_FPC] "=&d" (__fpc)			\
+			     output_regs				\
+			   : [R_FPRS] "a" (__fprs)			\
+			     input_regs					\
+			   : "cc", "memory");				\
+     __ret;								\
+     })
+
+/* These builtins are usable in context of glibc lock elision code without any
+   changes.  Use them.  */
+#define __libc_tend()							\
+  ({ __asm__ __volatile__ (".machine push\n\t"				\
+			   ".machinemode \"zarch_nohighgprs\"\n\t"	\
+			   ".machine \"all\"\n\t");			\
+    int __ret = __builtin_tend ();					\
+    __asm__ __volatile__ (".machine pop");				\
+    __ret;								\
+  })
+
+#define __libc_tabort(abortcode)					\
+  __asm__ __volatile__ (".machine push\n\t"				\
+			".machinemode \"zarch_nohighgprs\"\n\t"		\
+			".machine \"all\"\n\t");			\
+  __builtin_tabort (abortcode);						\
+  __asm__ __volatile__ (".machine pop")
+
+#define __libc_tx_nesting_depth() \
+  ({ __asm__ __volatile__ (".machine push\n\t"				\
+			   ".machinemode \"zarch_nohighgprs\"\n\t"	\
+			   ".machine \"all\"\n\t");			\
+    int __ret = __builtin_tx_nesting_depth ();				\
+    __asm__ __volatile__ (".machine pop");				\
+    __ret;								\
+  })
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/init-first.c
new file mode 100644
index 0000000000..8bc86cf473
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/init-first.c
@@ -0,0 +1,60 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/s390.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+long int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+
+long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
+  __attribute__ ((nocommon));
+
+long int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *)
+  __attribute__ ((nocommon));
+
+long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
+   attribute_hidden;
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION (linux2629, "LINUX_2.6.29", 123718585);
+
+  void *p = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2629);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_gettime", &linux2629);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_getres", &linux2629);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_getres) = p;
+
+  p = _dl_vdso_vsym ("__kernel_getcpu", &linux2629);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (getcpu) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
new file mode 100644
index 0000000000..3d9d4bc0b0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
@@ -0,0 +1,33 @@
+/* Clean up stack frames unwound by longjmp.  Linux/s390 version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <setjmp.h>
+#include <stddef.h>
+#include <libc-lock.h>
+
+extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
+#pragma weak __pthread_cleanup_upto
+
+
+void
+_longjmp_unwind (jmp_buf env, int val)
+{
+  char local_var;
+
+  __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/kernel-features.h
new file mode 100644
index 0000000000..f44d429365
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/kernel-features.h
@@ -0,0 +1,52 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  S/390 version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* S/390 uses socketcall.  */
+#define __ASSUME_SOCKETCALL		1
+
+/* Direct socketcalls available with kernel 4.3.  */
+#if __LINUX_KERNEL_VERSION >= 0x040300
+# define __ASSUME_SOCKET_SYSCALL             1
+# define __ASSUME_SOCKETPAIR_SYSCALL         1
+# define __ASSUME_BIND_SYSCALL               1
+# define __ASSUME_LISTEN_SYSCALL             1
+# define __ASSUME_GETSOCKOPT_SYSCALL         1
+# define __ASSUME_SETSOCKOPT_SYSCALL         1
+# define __ASSUME_GETSOCKNAME_SYSCALL        1
+# define __ASSUME_GETPEERNAME_SYSCALL        1
+# define __ASSUME_SHUTDOWN_SYSCALL           1
+#endif
+
+#include_next <kernel-features.h>
+
+#undef __ASSUME_ACCEPT_SYSCALL
+
+#if __LINUX_KERNEL_VERSION < 0x040300
+# undef __ASSUME_ACCEPT4_SYSCALL
+# undef __ASSUME_RECVMMSG_SYSCALL
+# undef __ASSUME_SENDMMSG_SYSCALL
+# undef __ASSUME_SENDMSG_SYSCALL
+# undef __ASSUME_RECVMSG_SYSCALL
+# undef __ASSUME_CONNECT_SYSCALL
+# undef __ASSUME_RECVFROM_SYSCALL
+# undef __ASSUME_SENDTO_SYSCALL
+#endif
+
+/* s390 only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldconfig.h
new file mode 100644
index 0000000000..f5f1c33692
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldconfig.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld.so.1", FLAG_ELF_LIBC6 },	\
+  { "/lib/ld64.so.1", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
new file mode 100644
index 0000000000..6b4f1bfcad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
@@ -0,0 +1,15 @@
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+
+# ldd is generated from elf/ldd.bash.in with the name
+# of ld.so as generated in Makeconfig
+
+# that name is replaced by a pair referring to both
+# the 32bit and 64bit dynamic linker.
+
+# /lib(64|)/*(64|).so* is replaced with /lib/*.so* and /lib/*64.so*
+# this works for /lib64/ld64.so.x and /lib/ld.so.x as input
+s_lib64_lib_
+s_64\.so_\.so_
+s_^RTLDLIST=\(.*lib\)\(/[^/]*\)\(\.so\.[0-9.]*\)[[:blank:]]*$_RTLDLIST="\1\2\3 \1\264\3"_
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/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/s390/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/libc-vdso.h
new file mode 100644
index 0000000000..077e4aeac9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/libc-vdso.h
@@ -0,0 +1,38 @@
+/* Resolve function pointers to VDSO functions.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+#include <sysdep-vdso.h>
+
+extern long int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+
+extern long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+extern long int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+
+extern long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
+   attribute_hidden;
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/s390/localplt.data
new file mode 100644
index 0000000000..50006317c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/localplt.data
@@ -0,0 +1,16 @@
+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/s390/longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/longjmp_chk.c
new file mode 100644
index 0000000000..878cbd4850
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/longjmp_chk.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.
+
+   Versioned copy of debug/longjmp_chk.c modified for versioning
+   the reverted jmpbuf extension.  */
+
+#include <shlib-compat.h>
+
+#if IS_IN (libc) && defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+/* this is a copy from debug/longjmp_chk.c because we need an unique name
+   for __longjmp_chk, but it is already named via a define
+   for __libc_siglongjmp in debug/longjmp_chk.c.  */
+# include <setjmp.h>
+
+// XXX Should move to include/setjmp.h
+extern void ____longjmp_chk (__jmp_buf __env, int __val)
+     __attribute__ ((__noreturn__));
+
+# define __longjmp ____longjmp_chk
+# define __libc_siglongjmp __v1__longjmp_chk
+
+# include <setjmp/longjmp.c>
+
+/* In glibc release 2.19 a new versions of __longjmp_chk was introduced,
+   but was reverted before 2.20. Thus both versions are the same function.  */
+strong_alias (__v1__longjmp_chk, __v2__longjmp_chk);
+versioned_symbol (libc, __v1__longjmp_chk, __longjmp_chk, GLIBC_2_11);
+compat_symbol (libc, __v2__longjmp_chk, __longjmp_chk, GLIBC_2_19);
+
+#else
+
+# include <debug/longjmp_chk.c>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/lowlevellock.h
new file mode 100644
index 0000000000..604137f7f2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/lowlevellock.h
@@ -0,0 +1,50 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _S390_LOWLEVELLOCK_H
+#define _S390_LOWLEVELLOCK_H	1
+
+#include <sysdeps/nptl/lowlevellock.h>
+
+/* Transactional lock elision definitions.  */
+# ifdef ENABLE_LOCK_ELISION
+extern int __lll_timedlock_elision
+  (int *futex, short *adapt_count, const struct timespec *timeout, int private)
+  attribute_hidden;
+
+#  define lll_timedlock_elision(futex, adapt_count, timeout, private)	\
+  __lll_timedlock_elision(&(futex), &(adapt_count), timeout, private)
+
+extern int __lll_lock_elision (int *futex, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_unlock_elision(int *futex, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_trylock_elision(int *futex, short *adapt_count)
+  attribute_hidden;
+
+#  define lll_lock_elision(futex, adapt_count, private) \
+  __lll_lock_elision (&(futex), &(adapt_count), private)
+#  define lll_unlock_elision(futex, adapt_count, private) \
+  __lll_unlock_elision (&(futex), &(adapt_count), private)
+#  define lll_trylock_elision(futex, adapt_count) \
+  __lll_trylock_elision(&(futex), &(adapt_count))
+# endif  /* ENABLE_LOCK_ELISION */
+
+#endif	/* lowlevellock.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/mmap_internal.h
new file mode 100644
index 0000000000..2b11ce4e68
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/mmap_internal.h
@@ -0,0 +1,32 @@
+/* mmap - map files or devices into memory.  Linux/s390 version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef MMAP_S390_INTERNAL_H
+# define MMAP_S390_INTERNAL_H
+
+#define MMAP_CALL(__nr, __addr, __len, __prot, __flags, __fd, __offset)	\
+  ({									\
+    long int __args[6] = { (long int) (__addr), (long int) (__len),	\
+			   (long int) (__prot), (long int) (__flags),	\
+			   (long int) (__fd), (long int) (__offset) };	\
+    INLINE_SYSCALL_CALL (__nr, __args);					\
+  })
+
+#include_next <mmap_internal.h>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/nldbl-abi.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/nldbl-abi.h
new file mode 100644
index 0000000000..bd985cc59c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/nldbl-abi.h
@@ -0,0 +1,8 @@
+/* ABI version for long double switch.
+   This is used by the Versions and math_ldbl_opt.h files in
+   sysdeps/ieee754/ldbl-opt/.  It gives the ABI version where
+   long double == double was replaced with proper long double
+   for libm *l functions and libc functions using long double.  */
+
+#define NLDBL_VERSION			GLIBC_2.4
+#define LONG_DOUBLE_COMPAT_VERSION	GLIBC_2_4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/opensock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/opensock.c
new file mode 100644
index 0000000000..f099d651ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/opensock.c
@@ -0,0 +1,2 @@
+#define NEED_AF_IUCV 1
+#include "../opensock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-longjmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
new file mode 100644
index 0000000000..d324237edd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.
+
+   Versioned copy of nptl/pt-longjmp.c modified for versioning
+   the reverted jmpbuf extension.  */
+
+#include  <shlib-compat.h>
+
+#include <nptl/pt-longjmp.c>
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)
+/* In glibc release 2.19 new versions of longjmp-functions were introduced,
+   but were reverted before 2.20. Thus both versions are the same function.  */
+
+strong_alias (longjmp_ifunc, __v2longjmp)
+compat_symbol (libpthread, __v2longjmp, longjmp, GLIBC_2_19);
+strong_alias (siglongjmp_ifunc, __v2siglongjmp)
+compat_symbol (libpthread, __v2siglongjmp, siglongjmp, GLIBC_2_19);
+#endif /* SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20))  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-vfork.S
new file mode 100644
index 0000000000..65cc3823ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pt-vfork.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c
new file mode 100644
index 0000000000..15889799a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The cond lock is not actually elided yet, but we still need to handle
+   already elided locks.  */
+#include <elision-conf.h>
+
+#include <nptl/pthread_mutex_cond_lock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_lock.c
new file mode 100644
index 0000000000..eb02b02033
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_lock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_lock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_lock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_timedlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_timedlock.c
new file mode 100644
index 0000000000..096e2d83d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_timedlock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_timedlock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_timedlock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_trylock.c
new file mode 100644
index 0000000000..75349e0c3a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/pthread_mutex_trylock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_trylock.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include <force-elision.h>
+
+#include <nptl/pthread_mutex_trylock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/readelflib.c
new file mode 100644
index 0000000000..df8e5ab72d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/readelflib.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/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret;
+
+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+    return process_elf32_file (file_name, lib, flag, osversion, soname,
+			       file_contents, file_length);
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* S/390 64bit libraries are always libc.so.6+.  */
+      if (!ret)
+	*flag = FLAG_S390_LIB64|FLAG_ELF_LIBC6;
+      return ret;
+    }
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/rt-sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/rt-sysdep.S
new file mode 100644
index 0000000000..f966bf1e59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/rt-sysdep.S
@@ -0,0 +1 @@
+#include <sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
new file mode 100644
index 0000000000..fd8cf92633
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
@@ -0,0 +1,31 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
+ifeq ($(subdir),login)
+sysdep_routines += utmp32 utmpx32
+libutil-routines += login32
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h
+endif
+
+ifeq ($(subdir),elf)
+ifeq (yes,$(build-shared))
+# This is needed to support g++ v2 and v3.
+sysdep_routines += framestate
+shared-only-routines += framestate
+endif
+endif
+
+ifeq ($(subdir),stdlib)
+sysdep_routines += __makecontext_ret
+endif
+
+ifeq ($(subdir),csu)
+ifeq (yes,$(build-shared))
+sysdep_routines += divdi3
+shared-only-routines += divdi3
+CPPFLAGS-divdi3.c = -Din_divdi3_c
+endif
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Versions
new file mode 100644
index 0000000000..1c120e8cbe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/Versions
@@ -0,0 +1,58 @@
+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.1 {
+    __chown;
+  }
+  GLIBC_2.2 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # a*
+    alphasort64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+
+    # v*
+    versionsort64;
+  }
+  GLIBC_2.3.3 {
+    posix_fadvise64; posix_fallocate64;
+  }
+  GLIBC_2.9 {
+    getutent;
+    getutid;
+    getutline;
+    pututline;
+    updwtmp;
+    getutent_r;
+    getutid_r;
+    getutline_r;
+    getutxent;
+    getutxid;
+    getutxline;
+    pututxline;
+    updwtmpx;
+    getutmp;
+    getutmpx;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+}
+
+libutil {
+  GLIBC_2.9 {
+    login;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
new file mode 100644
index 0000000000..e25130179d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2009-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 <errno.h>
+#include <sysdep.h>
+#include <setjmp.h>
+#include <bits/setjmp.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <signal.h>
+#include <sys/syscall.h>
+
+#define __longjmp ____longjmp_chk
+
+#define CHECK_SP(env, guard) \
+  do									\
+    {									\
+      uintptr_t cur_sp;							\
+      uintptr_t new_sp = env->__gregs[9];				\
+      __asm__ ("lr %0, %%r15" : "=r" (cur_sp));				\
+      new_sp ^= guard;							\
+      if (new_sp < cur_sp)						\
+	{								\
+	  stack_t oss;							\
+	  INTERNAL_SYSCALL_DECL (err);					\
+	  int res = INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &oss);	\
+	  if (!INTERNAL_SYSCALL_ERROR_P (res, err))			\
+	    {								\
+	      if ((oss.ss_flags & SS_ONSTACK) == 0			\
+		  || ((uintptr_t) (oss.ss_sp + oss.ss_size) - new_sp	\
+		      < oss.ss_size))					\
+		__fortify_fail ("longjmp causes uninitialized stack frame");\
+	    }								\
+	}								\
+    } while (0)
+
+#include "__longjmp.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
new file mode 100644
index 0000000000..f32cd3ca39
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
@@ -0,0 +1,56 @@
+/* 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>
+
+/* We do not want .eh_frame info so that __makecontext_ret stops unwinding
+   if backtrace was called within a context created by makecontext. (There
+   is also no .eh_frame info for _start or thread_start.)  */
+#undef cfi_startproc
+#define cfi_startproc
+#undef cfi_endproc
+#define cfi_endproc
+
+ENTRY(__makecontext_ret)
+	basr  %r14,%r7
+	ltr   %r8,%r8			/* Check whether uc_link is 0.  */
+	jz    1f
+	lr    %r2,%r8
+	br    %r9
+1:	lhi   %r2,0			/* EXIT return value.  */
+	basr	%r13,0
+2:
+#ifdef PIC
+	l       %r12,4f-2b(%r13)
+	la      %r12,0(%r12,%r13)	/* GOT pointer in r12 after this.  */
+	l       %r1,3f-2b(%r13)
+	bas     %r14,0(%r1,%r12)
+	.align  4
+3:
+	.long   HIDDEN_JUMPTARGET (exit)@GOTOFF
+4:
+	.long   _GLOBAL_OFFSET_TABLE_-2b
+#else
+	l	%r1,3f-2b(%r13)
+	basr	%r14,%r1
+	.align  4
+3:
+	.long   HIDDEN_JUMPTARGET (exit)
+#endif
+	.align	2
+	j	.+2			/* Trap if exit returns for some reason.  */
+END(__makecontext_ret)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c
new file mode 100644
index 0000000000..0b5ae47d2f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/alphasort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/c++-types.data
new file mode 100644
index 0000000000..6e2036ec01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
new file mode 100644
index 0000000000..a8b4dbc90f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/clone.S
@@ -0,0 +1,65 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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/>.  */
+
+/* clone is even more special than fork as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+/* int __clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+               pid_t *parent_tid, void *tls, pid_t *child_tid);  */
+/* sys_clone  (void *child_stack, unsigned long flags,
+               pid_t *parent_tid, pid_t *child_tid, void *tls);  */
+
+	.text
+ENTRY(__clone)
+	st	%r6,24(%r15)		/* store %r6 to save area */
+	cfi_offset (%r6, -72)
+	lr	%r0,%r5			/* move *arg out of the way */
+	ltr     %r1,%r2			/* check fn and move to %r1 */
+	jz      error			/* no NULL function pointers */
+	ltr     %r2,%r3			/* check child_stack and move to %r2 */
+	jz	error			/* no NULL stack pointers */
+	lr	%r3,%r4			/* move flags to %r3 */
+	lr	%r4,%r6			/* move parent_tid to %r4 */
+	l	%r5,100(%r15)		/* load child_tid from stack */
+	l	%r6,96(%r15)		/* load tls from stack */
+	svc	SYS_ify(clone)
+	ltr	%r2,%r2			/* check return code */
+	jz	thread_start
+	l	%r6,24(%r15)		/* restore %r6 */
+	jm	SYSCALL_ERROR_LABEL
+	br	%r14
+error:
+	lhi	%r2,-EINVAL
+	j	SYSCALL_ERROR_LABEL
+PSEUDO_END (__clone)
+
+thread_start:
+	/* fn is in gpr 1, arg in gpr 0 */
+	lr      %r2,%r0         /* set first parameter to void *arg */
+	ahi     %r15,-96        /* make room on the stack for the save area */
+	xc	0(4,%r15),0(%r15)
+	basr    %r14,%r1        /* jump to fn */
+	DO_CALL (exit, 1)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S
new file mode 100644
index 0000000000..5b931831ae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S
@@ -0,0 +1,89 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+#include <shlib-compat.h>
+
+/*  __getcontext (const ucontext_t *ucp)
+
+  Saves the machine context in UCP such that when it is activated,
+  it appears as if __getcontext() returned again.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__getcontext)
+	lr      %r1,%r2
+
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &sc->sc_mask, sigsetsize).  */
+	la      %r2,SIG_BLOCK
+	slr	%r3,%r3
+	la	%r4,SC_MASK(%r1)
+	lhi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Store fpu context.  */
+	stfpc   SC_FPC(%r1)
+	std     %f0,SC_FPRS(%r1)
+	std     %f1,SC_FPRS+8(%r1)
+	std     %f2,SC_FPRS+16(%r1)
+	std     %f3,SC_FPRS+24(%r1)
+	std     %f4,SC_FPRS+32(%r1)
+	std     %f5,SC_FPRS+40(%r1)
+	std     %f6,SC_FPRS+48(%r1)
+	std     %f7,SC_FPRS+56(%r1)
+	std     %f8,SC_FPRS+64(%r1)
+	std     %f9,SC_FPRS+72(%r1)
+	std     %f10,SC_FPRS+80(%r1)
+	std     %f11,SC_FPRS+88(%r1)
+	std     %f12,SC_FPRS+96(%r1)
+	std     %f13,SC_FPRS+104(%r1)
+	std     %f14,SC_FPRS+112(%r1)
+	std     %f15,SC_FPRS+120(%r1)
+
+	/* Set __getcontext return value to 0.  */
+	slr     %r2,%r2
+
+	/* Store access registers.  */
+	stam    %a0,%a15,SC_ACRS(%r1)
+
+	/* Store general purpose registers.  */
+	stm     %r0,%r15,SC_GPRS(%r1)
+
+	/* Return.  */
+	br	%r14
+END(__getcontext)
+
+#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+/* In glibc release 2.19 a new version of getcontext was introduced,
+   but was reverted before 2.20. Thus both versions are the same function.  */
+weak_alias (__getcontext, __v1__getcontext)
+weak_alias (__getcontext, __v2__getcontext)
+versioned_symbol (libc, __v1__getcontext, getcontext, GLIBC_2_1)
+compat_symbol (libc, __v2__getcontext, getcontext, GLIBC_2_19)
+
+#else
+
+weak_alias (__getcontext, getcontext)
+
+#endif /* !(defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20))  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c
new file mode 100644
index 0000000000..0c34565bb0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutent.c"
+
+#if defined SHARED
+default_symbol_version (__getutent, getutent, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c
new file mode 100644
index 0000000000..99bc11a062
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <libc-lock.h>
+#include <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+#include "utmp-private.h"
+
+#if defined SHARED
+weak_alias (__setutent, setutent)
+weak_alias (__endutent, endutent)
+
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutent_r.c"
+
+#if defined SHARED
+default_symbol_version (__getutent_r, getutent_r, UTMP_COMPAT_BASE);
+default_symbol_version (__pututline, pututline, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c
new file mode 100644
index 0000000000..41e59936b1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutid.c"
+
+#if defined SHARED
+default_symbol_version (__getutid, getutid, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c
new file mode 100644
index 0000000000..815e37372e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <libc-lock.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+#include "utmp-private.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutid_r.c"
+
+#if defined SHARED
+default_symbol_version (__getutid_r, getutid_r, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c
new file mode 100644
index 0000000000..25b94d980d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutline.c"
+
+#if defined SHARED
+default_symbol_version (__getutline, getutline, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c
new file mode 100644
index 0000000000..b118acc1bc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <libc-lock.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+#include "utmp-private.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "login/getutline_r.c"
+
+#if defined SHARED
+default_symbol_version (__getutline_r, getutline_r, UTMP_COMPAT_BASE);;
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c
new file mode 100644
index 0000000000..11b7ef012b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#include <utmp.h>
+/* This is an ugly hack but we must not see the getutmpx declaration.  */
+#define getutmpx XXXgetutmpx
+#include <utmpx.h>
+#undef getutmpx
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define getutmp __getutmp
+#define getutmpx __getutmpx
+#include "sysdeps/gnu/getutmp.c"
+#undef getutmp
+#undef getutmpx
+
+default_symbol_version (__getutmp, getutmp, UTMP_COMPAT_BASE);
+default_symbol_version (__getutmpx, getutmpx, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c
new file mode 100644
index 0000000000..c1d967c6a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+#include <utmpx.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define getutxent __getutxent
+#include "login/getutxent.c"
+#undef getutxent
+
+default_symbol_version (__getutxent, getutxent, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c
new file mode 100644
index 0000000000..18251fdef6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+#include <utmpx.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define getutxid __getutxid
+#include "login/getutxid.c"
+#undef getutxid
+
+default_symbol_version (__getutxid, getutxid, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c
new file mode 100644
index 0000000000..63f79ea68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+#include <utmpx.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define getutxline __getutxline
+#include "login/getutxline.c"
+#undef getutxline
+
+default_symbol_version (__getutxline, getutxline, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
new file mode 100644
index 0000000000..c16b2c1344
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x4
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_offset F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
new file mode 100644
index 0000000000..63d33e8b37
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -0,0 +1,2476 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __divdi3 F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __moddi3 F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __udivdi3 F
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __umoddi3 F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1ec
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 mcount F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1ec
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __chown F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1f4
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 chown F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1f4
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 __longjmp_chk F
+GLIBC_2.19 __sigsetjmp F
+GLIBC_2.19 _longjmp F
+GLIBC_2.19 _setjmp F
+GLIBC_2.19 getcontext F
+GLIBC_2.19 longjmp F
+GLIBC_2.19 setjmp F
+GLIBC_2.19 siglongjmp F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 alphasort64 F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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 getutent F
+GLIBC_2.9 getutent_r F
+GLIBC_2.9 getutid F
+GLIBC_2.9 getutid_r F
+GLIBC_2.9 getutline F
+GLIBC_2.9 getutline_r F
+GLIBC_2.9 getutmp F
+GLIBC_2.9 getutmpx F
+GLIBC_2.9 getutxent F
+GLIBC_2.9 getutxid F
+GLIBC_2.9 getutxline F
+GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 pipe2 F
+GLIBC_2.9 pututline F
+GLIBC_2.9 pututxline F
+GLIBC_2.9 updwtmp F
+GLIBC_2.9 updwtmpx F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/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/s390/s390-32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/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/s390/s390-32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
new file mode 100644
index 0000000000..604dff18d4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -0,0 +1,565 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 sqrtl F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetexcept 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
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/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/s390/s390-32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
new file mode 100644
index 0000000000..3c5e11aafe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -0,0 +1,260 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 longjmp F
+GLIBC_2.19 siglongjmp F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 pthread_attr_getaffinity_np F
+GLIBC_2.3.4 pthread_attr_setaffinity_np F
+GLIBC_2.3.4 pthread_getaffinity_np F
+GLIBC_2.3.4 pthread_setaffinity_np F
+GLIBC_2.3.4 pthread_setschedprio F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/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/s390/s390-32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist
new file mode 100644
index 0000000000..8a99773ccf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist
@@ -0,0 +1,9 @@
+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
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 login F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login.c
new file mode 100644
index 0000000000..c9fc8a4845
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <limits.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <utmp.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define login __login
+#include "login/login.c"
+#undef login
+
+default_symbol_version (__login, login, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login32.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login32.c
new file mode 100644
index 0000000000..339b13d900
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/login32.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/types.h>
+#include <utmp.h>
+#include <libc-symbols.h>
+
+#include "utmp32.h"
+#include "utmp-convert.h"
+
+/* Write the given entry into utmp and wtmp.  */
+void
+login32 (const struct utmp32 *entry)
+{
+  struct utmp in64;
+
+  utmp_convert32to64 (entry, &in64);
+  login (&in64);
+}
+
+symbol_version (login32, login, GLIBC_2.0);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c
new file mode 100644
index 0000000000..0efa0aea49
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c
new file mode 100644
index 0000000000..de828fd8f3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c
@@ -0,0 +1,96 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <libintl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+
+/* This implementation can handle any ARGC value but only
+   normal integer type parameters. Parameters of type float,
+   double, complex and structure with sizes 0, 2, 4 or 8
+   won't work.
+   makecontext sets up a stack and the registers for the
+   user context. The stack looks like this:
+	   size                         offset
+    %r15 ->    +-----------------------+
+	     4 | back chain (zero)     |  0
+	     4 | reserved              |  4
+	    88 | save area for (*func) |  8
+	       +-----------------------+
+	     n | overflow parameters   | 96
+	       +-----------------------+
+   The registers are set up like this:
+     %r2-%r6: parameters 1 to 5
+     %r7    : (*func) pointer
+     %r8    : uc_link from ucontext structure
+     %r9    : address of setcontext
+     %r14   : return address to uc_link trampoline
+     %r15   : stack pointer.
+
+   The trampoline looks like this:
+     basr  %r14,%r7
+     lr    %r2,%r8
+     br    %r9.  */
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __makecontext_ret (void);
+  unsigned long int *sp;
+  va_list ap;
+
+  sp = (unsigned long int *) (((unsigned long int) ucp->uc_stack.ss_sp
+			       + ucp->uc_stack.ss_size) & -8L);
+
+  /* Set the return address to trampoline.  */
+  ucp->uc_mcontext.gregs[14] = (long int) __makecontext_ret;
+
+  /* Set register parameters.  */
+  va_start (ap, argc);
+  for (int i = 0; i < argc && i < 5; ++i)
+    ucp->uc_mcontext.gregs[2 + i] = va_arg (ap, long int);
+
+  /* The remaining arguments go to the overflow area.  */
+  if (argc > 5)
+    {
+      sp -= argc - 5;
+      for (int i = 5; i < argc; ++i)
+	sp[i - 5] = va_arg (ap, long int);
+    }
+  va_end (ap);
+
+  /* Make room for the save area and set the backchain.  */
+  sp -= 24;
+  *sp = 0;
+
+  /* Pass (*func) to __makecontext_ret in %r7.  */
+  ucp->uc_mcontext.gregs[7] = (long int) func;
+
+  /* Pass ucp->uc_link to __makecontext_ret in %r8.  */
+  ucp->uc_mcontext.gregs[8] = (long int) ucp->uc_link;
+
+  /* Pass address of setcontext in %r9.  */
+  ucp->uc_mcontext.gregs[9] = (long int) &setcontext;
+
+  /* Set stack pointer.  */
+  ucp->uc_mcontext.gregs[15] = (long int) sp;
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
new file mode 100644
index 0000000000..1ca2853b23
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
@@ -0,0 +1,67 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep.h>
+
+int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
+int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
+
+/* Advice the system about the expected behaviour of the application with
+   respect to the file associated with FD.  */
+
+struct fadvise64_64_layout
+{
+  int fd;
+  off64_t offset;
+  off64_t len;
+  int advise;
+};
+
+int
+__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
+{
+  struct fadvise64_64_layout parameters;
+  INTERNAL_SYSCALL_DECL (err);
+
+  parameters.fd = fd;
+  parameters.offset = offset;
+  parameters.len = len;
+  parameters.advise = advise;
+  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 1, &parameters);
+  if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
+    return 0;
+  return INTERNAL_SYSCALL_ERRNO (ret, err);
+}
+
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)
+
+int
+attribute_compat_text_section
+__posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise)
+{
+  return __posix_fadvise64_l64 (fd, offset, len, advise);
+}
+
+versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3);
+compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2);
+#else
+strong_alias (__posix_fadvise64_l64, posix_fadvise64);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
new file mode 100644
index 0000000000..f84940787f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h
@@ -0,0 +1,26 @@
+/* Low-level statistical profiling support function.  Linux/s390 version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigcontextinfo.h>
+
+static void
+__profil_counter (int signo, SIGCONTEXT scp)
+{
+  profil_count((void *) ((unsigned long) GET_PC (scp) & 0x7fffffffUL));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c
new file mode 100644
index 0000000000..ca88836747
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+#include <utmpx.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define pututxline __pututxline
+#include "login/pututxline.c"
+#undef pututxline
+
+default_symbol_version (__pututxline, pututxline, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c
new file mode 100644
index 0000000000..2ea26dd409
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c
new file mode 100644
index 0000000000..9f54f897e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h
new file mode 100644
index 0000000000..8a9ea87688
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h
@@ -0,0 +1,129 @@
+/* Dump registers.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   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/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ GPR0: XXXXXXXX  GPR1: XXXXXXXX  GPR2: XXXXXXXX  GPR3: XXXXXXXX
+ GPR4: XXXXXXXX  GPR5: XXXXXXXX  GPR6: XXXXXXXX  GPR7: XXXXXXXX
+ GPR8: XXXXXXXX  GPR9: XXXXXXXX  GPRA: XXXXXXXX  GPRB: XXXXXXXX
+ GPRC: XXXXXXXX  GPRD: XXXXXXXX  GPRE: XXXXXXXX  GPRF: XXXXXXXX
+
+ PSW.MASK: XXXXXXXX   PSW.ADDR: XXXXXXXX
+
+ ST(0) XXXX XXXXXXXXXXXXXXXX   ST(1) XXXX XXXXXXXXXXXXXXXX
+ ST(2) XXXX XXXXXXXXXXXXXXXX   ST(3) XXXX XXXXXXXXXXXXXXXX
+ ST(4) XXXX XXXXXXXXXXXXXXXX   ST(5) XXXX XXXXXXXXXXXXXXXX
+ ST(6) XXXX XXXXXXXXXXXXXXXX   ST(7) XXXX XXXXXXXXXXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[19][8];
+  struct iovec iov[40];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sregs->regs.gprs[0], regs[0], 8);
+  hexvalue (ctx->sregs->regs.gprs[1], regs[1], 8);
+  hexvalue (ctx->sregs->regs.gprs[2], regs[2], 8);
+  hexvalue (ctx->sregs->regs.gprs[3], regs[3], 8);
+  hexvalue (ctx->sregs->regs.gprs[4], regs[4], 8);
+  hexvalue (ctx->sregs->regs.gprs[5], regs[5], 8);
+  hexvalue (ctx->sregs->regs.gprs[6], regs[6], 8);
+  hexvalue (ctx->sregs->regs.gprs[7], regs[7], 8);
+  hexvalue (ctx->sregs->regs.gprs[8], regs[8], 8);
+  hexvalue (ctx->sregs->regs.gprs[9], regs[9], 8);
+  hexvalue (ctx->sregs->regs.gprs[10], regs[10], 8);
+  hexvalue (ctx->sregs->regs.gprs[11], regs[11], 8);
+  hexvalue (ctx->sregs->regs.gprs[12], regs[12], 8);
+  hexvalue (ctx->sregs->regs.gprs[13], regs[13], 8);
+  hexvalue (ctx->sregs->regs.gprs[14], regs[14], 8);
+  hexvalue (ctx->sregs->regs.gprs[15], regs[15], 8);
+  hexvalue (ctx->sregs->regs.psw.mask, regs[16], 8);
+  hexvalue (ctx->sregs->regs.psw.addr, regs[17], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n GPR0: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("  GPR1: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("  GPR2: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("  GPR3: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n GPR4: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("  GPR5: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("  GPR6: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("  GPR7: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n GPR8: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("  GPR9: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("  GPRA: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("  GPRB: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("\n GPRC: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("  GPRD: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("  GPRE: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("  GPRF: ");
+  ADD_MEM (regs[15], 8);
+  ADD_STRING ("\n\n PSW.MASK: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING ("  PSW.ADDR: ");
+  ADD_MEM (regs[17], 8);
+  ADD_STRING ("  TRAP: ");
+  ADD_MEM (regs[18], 4);
+  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/s390/s390-32/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c
new file mode 100644
index 0000000000..506fd8877c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
new file mode 100644
index 0000000000..b70eef0cec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
@@ -0,0 +1,72 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+ENTRY(__setcontext)
+	lr	%r1,%r2
+
+	/* rt_sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL, sigsetsize).  */
+	la      %r2,SIG_SETMASK
+	la	%r3,SC_MASK(%r1)
+	slr	%r4,%r4
+	lhi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Load fpu context.  */
+	lfpc	SC_FPC(%r1)
+	ld	%f0,SC_FPRS(%r1)
+	ld      %f1,SC_FPRS+8(%r1)
+	ld      %f2,SC_FPRS+16(%r1)
+	ld      %f3,SC_FPRS+24(%r1)
+	ld      %f4,SC_FPRS+32(%r1)
+	ld      %f5,SC_FPRS+40(%r1)
+	ld      %f6,SC_FPRS+48(%r1)
+	ld      %f7,SC_FPRS+56(%r1)
+	ld      %f8,SC_FPRS+64(%r1)
+	ld      %f9,SC_FPRS+72(%r1)
+	ld      %f10,SC_FPRS+80(%r1)
+	ld      %f11,SC_FPRS+88(%r1)
+	ld      %f12,SC_FPRS+96(%r1)
+	ld      %f13,SC_FPRS+104(%r1)
+	ld      %f14,SC_FPRS+112(%r1)
+	ld      %f15,SC_FPRS+120(%r1)
+
+	/* Don't touch %a0, used for thread purposes.  */
+	lam	%a1,%a15,SC_ACRS+4(%r1)
+
+	/* Load general purpose registers.  */
+	lm	%r0,%r15,SC_GPRS(%r1)
+
+	/* Return.  */
+	br	%r14
+END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
new file mode 100644
index 0000000000..f08d30cd7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
@@ -0,0 +1,108 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
+
+  Saves the machine context in oucp such that when it is activated,
+  it appears as if __swapcontext() returned again, restores the
+  machine context in ucp and thereby resumes execution in that
+  context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__swapcontext)
+	/* While not part of the ABI a system call never clobbers r0
+	   or r1.  So keeping the values here while calling
+	   rt_sigprocmask is ok.  */
+	lr	%r1,%r2
+	lr      %r0,%r3
+
+	/* Store fpu context.  */
+	stfpc   SC_FPC(%r1)
+	std     %f0,SC_FPRS(%r1)
+	std     %f1,SC_FPRS+8(%r1)
+	std     %f2,SC_FPRS+16(%r1)
+	std     %f3,SC_FPRS+24(%r1)
+	std     %f4,SC_FPRS+32(%r1)
+	std     %f5,SC_FPRS+40(%r1)
+	std     %f6,SC_FPRS+48(%r1)
+	std     %f7,SC_FPRS+56(%r1)
+	std     %f8,SC_FPRS+64(%r1)
+	std     %f9,SC_FPRS+72(%r1)
+	std     %f10,SC_FPRS+80(%r1)
+	std     %f11,SC_FPRS+88(%r1)
+	std     %f12,SC_FPRS+96(%r1)
+	std     %f13,SC_FPRS+104(%r1)
+	std     %f14,SC_FPRS+112(%r1)
+	std     %f15,SC_FPRS+120(%r1)
+
+	/* Set __swapcontext return value to 0.  */
+	slr     %r2,%r2
+
+	/* Store access registers.  */
+	stam    %a0,%a15,SC_ACRS(%r1)
+
+	/* Store general purpose registers.  */
+	stm     %r0,%r15,SC_GPRS(%r1)
+
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask,
+	   sigsetsize).  */
+	la      %r2,SIG_SETMASK
+	lr	%r5,%r0
+	la	%r3,SC_MASK(%r5)
+	la	%r4,SC_MASK(%r1)
+	lhi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Load fpu context.  */
+	lr	%r5,%r0
+	lfpc	SC_FPC(%r5)
+	ld	%f0,SC_FPRS(%r5)
+	ld      %f1,SC_FPRS+8(%r5)
+	ld      %f2,SC_FPRS+16(%r5)
+	ld      %f3,SC_FPRS+24(%r5)
+	ld      %f4,SC_FPRS+32(%r5)
+	ld      %f5,SC_FPRS+40(%r5)
+	ld      %f6,SC_FPRS+48(%r5)
+	ld      %f7,SC_FPRS+56(%r5)
+	ld      %f8,SC_FPRS+64(%r5)
+	ld      %f9,SC_FPRS+72(%r5)
+	ld      %f10,SC_FPRS+80(%r5)
+	ld      %f11,SC_FPRS+88(%r5)
+	ld      %f12,SC_FPRS+96(%r5)
+	ld      %f13,SC_FPRS+104(%r5)
+	ld      %f14,SC_FPRS+112(%r5)
+	ld      %f15,SC_FPRS+120(%r5)
+
+	/* Don't touch %a0, used for thread purposes.  */
+	lam	%a1,%a15,SC_ACRS+4(%r5)
+
+	/* Load general purpose registers.  */
+	lm	%r0,%r15,SC_GPRS(%r5)
+
+	/* Return.  */
+	br	%r14
+END(__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
new file mode 100644
index 0000000000..8506db1cc1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
@@ -0,0 +1,67 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Please consult the file sysdeps/unix/sysv/linux/s390/sysdep.h for
+   more information about the value -4095 used below.*/
+
+ENTRY (syscall)
+	/* Save registers and setup stack.  */
+	stm     %r6,%r15,24(%r15)  /* save registers */
+	cfi_offset (%r15, -36)
+	cfi_offset (%r14, -40)
+	cfi_offset (%r13, -44)
+	cfi_offset (%r12, -48)
+	cfi_offset (%r11, -52)
+	cfi_offset (%r10, -56)
+	cfi_offset (%r9, -60)
+	cfi_offset (%r8, -64)
+	cfi_offset (%r7, -68)
+	cfi_offset (%r6, -72)
+	lr      %r1,%r15
+	l       %r0,4(0,%r15)      /* load eos */
+	ahi     %r15,-96           /* buy stack space */
+	cfi_adjust_cfa_offset (96)
+	st      %r1,0(0,%r15)      /* store back chain */
+	st      %r0,4(0,%r15)      /* store eos */
+
+	lr     %r1,%r2             /* move syscall number */
+	lr     %r2,%r3             /* first parameter  */
+	lr     %r3,%r4             /* second parameter */
+	lr     %r4,%r5             /* third parameter  */
+	lr     %r5,%r6             /* fourth parameter */
+	l      %r6,192(%r15)       /* fifth parameter  */
+	l      %r7,196(%r15)       /* sixth parameter  */
+
+	basr   %r8,0
+0:	cl     %r1,4f-0b(%r8)      /* svc number < 256? */
+	jl     2f
+1:	svc    0
+	j      3f
+2:	ex     %r1,1b-0b(%r8)      /* lsb of R1 is subsituted as SVC number */
+3:	l      %r15,0(%r15)        /* load back chain */
+	cfi_adjust_cfa_offset (-96)
+	lm     %r6,15,24(%r15)     /* load registers */
+
+	lhi    %r0,-4095
+	clr    %r2,%r0             /* check R2 for error */
+	jnl    SYSCALL_ERROR_LABEL
+	br     %r14                /* return to caller */
+4:	.long  256
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list
new file mode 100644
index 0000000000..300b13dd01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list
@@ -0,0 +1,20 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown@@GLIBC_2.1
+lchown		-	lchown32	i:sii	__lchown	lchown@@GLIBC_2.0 chown@GLIBC_2.0
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
+getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
new file mode 100644
index 0000000000..b1e80bcfcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
@@ -0,0 +1,139 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <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;								      \
+L(pseudo_cancel):							      \
+	cfi_startproc;							      \
+	STM_##args							      \
+	stm	%r12,%r15,48(%r15);					      \
+	cfi_offset (%r15, -36);						      \
+	cfi_offset (%r14, -40);						      \
+	cfi_offset (%r13, -44);						      \
+	cfi_offset (%r12, -48);						      \
+	lr	%r14,%r15;						      \
+	ahi	%r15,-96;						      \
+	cfi_adjust_cfa_offset (96);					      \
+	st	%r14,0(%r15);						      \
+	basr    %r13,0;							      \
+0:	l	%r1,1f-0b(%r13);					      \
+	bas	%r14,0(%r1,%r13);					      \
+	lr	%r0,%r2;						      \
+	LM_##args							      \
+	.if SYS_ify (syscall_name) < 256;				      \
+	svc SYS_ify (syscall_name);					      \
+	.else;								      \
+	lhi %r1,SYS_ify (syscall_name);					      \
+	svc 0;								      \
+	.endif;								      \
+	LR7_##args							      \
+	l	%r1,2f-0b(%r13);					      \
+	lr	%r12,%r2;						      \
+	lr	%r2,%r0;						      \
+	bas	%r14,0(%r1,%r13);					      \
+	lr	%r2,%r12;						      \
+	lm	%r12,%r15,48+96(%r15);					      \
+	cfi_endproc;							      \
+	j	L(pseudo_check);					      \
+1:	.long	CENABLE-0b;						      \
+2:	.long	CDISABLE-0b;						      \
+ENTRY(name)								      \
+	SINGLE_THREAD_P(%r1)						      \
+	jne	L(pseudo_cancel);					      \
+.type	__##syscall_name##_nocancel,@function;				      \
+.globl	__##syscall_name##_nocancel;					      \
+__##syscall_name##_nocancel:						      \
+	DO_CALL(syscall_name, args);					      \
+L(pseudo_check):							      \
+	lhi	%r4,-4095;						      \
+	clr	%r2,%r4;						      \
+	jnl	SYSCALL_ERROR_LABEL;					      \
+.size	__##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+L(pseudo_end):
+
+# if IS_IN (libpthread)
+#  define CENABLE	__pthread_enable_asynccancel
+#  define CDISABLE	__pthread_disable_asynccancel
+# elif IS_IN (libc)
+#  define CENABLE	__libc_enable_asynccancel
+#  define CDISABLE	__libc_disable_asynccancel
+# elif IS_IN (librt)
+#  define CENABLE	__librt_enable_asynccancel
+#  define CDISABLE	__librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+#define STM_0		/* Nothing */
+#define STM_1		st %r2,8(%r15);
+#define STM_2		stm %r2,%r3,8(%r15);
+#define STM_3		stm %r2,%r4,8(%r15);
+#define STM_4		stm %r2,%r5,8(%r15);
+#define STM_5		stm %r2,%r5,8(%r15);
+#define STM_6		stm %r2,%r7,8(%r15);
+
+#define LM_0		/* Nothing */
+#define LM_1		l %r2,8+96(%r15);
+#define LM_2		lm %r2,%r3,8+96(%r15);
+#define LM_3		lm %r2,%r4,8+96(%r15);
+#define LM_4		lm %r2,%r5,8+96(%r15);
+#define LM_5		lm %r2,%r5,8+96(%r15);
+#define LM_6		lm %r2,%r5,8+96(%r15); \
+			cfi_offset (%r7, -68); \
+			l %r7,96+96(%r15);
+
+#define LR7_0		/* Nothing */
+#define LR7_1		/* Nothing */
+#define LR7_2		/* Nothing */
+#define LR7_3		/* Nothing */
+#define LR7_4		/* Nothing */
+#define LR7_5		/* Nothing */
+#define LR7_6		l %r7,28+96(%r15); \
+			cfi_restore (%r7);
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				      \
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P(reg) \
+	ear	reg,%a0;						      \
+	icm	reg,15,MULTIPLE_THREADS_OFFSET(reg);
+# 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/s390/s390-32/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
new file mode 100644
index 0000000000..e07fd48488
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
@@ -0,0 +1,74 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+
+/* The following code is only used in the shared library when we
+   compile the reentrant version.  Otherwise each system call defines
+   each own version.  */
+
+/* The syscall stubs jump here when they detect an error.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT
+
+	.text
+ENTRY(__syscall_error)
+#ifndef PIC
+# if IS_IN (libc)
+#  define SYSCALL_ERROR_ERRNO __libc_errno
+# else
+#  define SYSCALL_ERROR_ERRNO errno
+# endif
+	basr	%r1,0
+0:	l	%r1,1f-0b(%r1)
+	ear	%r3,%a0
+	lcr	%r2,%r2
+	st	%r2,0(%r1,%r3)
+	lhi	%r2,-1
+	br	%r14
+1:	.long	SYSCALL_ERROR_ERRNO@ntpoff
+#else
+# if RTLD_PRIVATE_ERRNO
+	basr	%r1,0
+0:	al	%r1,1f-0b(%r1)
+	lcr	%r2,%r2
+	st	%r2,0(%r1)
+	lhi	%r2,-1
+	br	%r14
+1:	.long	rtld_errno - 0b
+# else
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+	basr	%r1,0
+0:	al	%r1,1f-0b(%r1)
+	ear	%r3,%a0
+	l	%r1,SYSCALL_ERROR_ERRNO@gotntpoff(%r1)
+	lcr	%r2,%r2
+	st	%r2,0(%r1,%r3)
+	lhi	%r2,-1
+	br	%r14
+1:	.long	_GLOBAL_OFFSET_TABLE_-0b
+# endif
+#endif
+
+END (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
new file mode 100644
index 0000000000..e56fc3234f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
@@ -0,0 +1,337 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_S390_SYSDEP_H
+#define _LINUX_S390_SYSDEP_H
+
+#include <sysdeps/s390/s390-32/sysdep.h>
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <dl-sysdep.h>	/* For RTLD_PRIVATE_ERRNO.  */
+#include <tls.h>
+
+/* Define __set_errno() for INLINE_SYSCALL macro below.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+/* in newer 2.1 kernels __NR_syscall is missing so we define it here */
+#define __NR_syscall 0
+
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors, unlike
+   most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be negative
+   even if the call succeeded.  E.g., the `lseek' system call might return
+   a large offset.  Therefore we must not anymore test for < 0, but test
+   for a real error by making sure the value in gpr2 is a real error
+   number.  Linus said he will make sure that no syscall returns a value
+   in -1 .. -4095 as a valid result so we can savely test with -4095.  */
+
+#undef PSEUDO
+#define	PSEUDO(name, syscall_name, args)				      \
+  .text;                                                                      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);                                             \
+    lhi  %r4,-4095 ;                                                          \
+    clr  %r2,%r4 ;							      \
+    jnl  SYSCALL_ERROR_LABEL
+
+#undef PSEUDO_END
+#define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER;						      \
+  END (name)
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;                                                                      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args)
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
+#undef PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args)				      \
+  .text;                                                                      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    lcr %r2,%r2
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name)						      \
+  END (name)
+
+#ifndef PIC
+# define SYSCALL_ERROR_LABEL 0f
+# define SYSCALL_ERROR_HANDLER \
+0:  basr  %r1,0;							      \
+1:  l     %r1,2f-1b(%r1);						      \
+    br    %r1;								      \
+2:  .long syscall_error
+#else
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  basr  %r1,0;							      \
+1:  al    %r1,2f-1b(%r1);						      \
+    lcr   %r2,%r2;							      \
+    st    %r2,0(%r1);							      \
+    lhi   %r2,-1;							      \
+    br    %r14;								      \
+2:  .long rtld_errno-1b
+# elif defined _LIBC_REENTRANT
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  lcr   %r0,%r2;							      \
+    basr  %r1,0;							      \
+1:  al    %r1,2f-1b(%r1);						      \
+    l     %r1,SYSCALL_ERROR_ERRNO@gotntpoff(%r1);			      \
+    ear   %r2,%a0;							      \
+    st    %r0,0(%r1,%r2);						      \
+    lhi   %r2,-1;							      \
+    br    %r14;								      \
+2:  .long _GLOBAL_OFFSET_TABLE_-1b
+# else
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  basr  %r1,0;							      \
+1:  al    %r1,2f-1b(%r1);						      \
+    l     %r1,errno@GOT(%r1);						      \
+    lcr   %r2,%r2;							      \
+    st    %r2,0(%r1);							      \
+    lhi   %r2,-1;							      \
+    br    %r14;								      \
+2:  .long _GLOBAL_OFFSET_TABLE_-1b
+# endif /* _LIBC_REENTRANT */
+#endif /* PIC */
+
+/* Linux takes system call arguments in registers:
+
+	syscall number	1	     call-clobbered
+	arg 1		2	     call-clobbered
+	arg 2		3	     call-clobbered
+	arg 3		4	     call-clobbered
+	arg 4		5	     call-clobbered
+	arg 5		6	     call-saved
+	arg 6		7	     call-saved
+
+   (Of course a function with say 3 arguments does not have entries for
+   arguments 4 and 5.)
+   For system calls with 6 parameters a stack operation is required
+   to load the 6th parameter to register 7. Call saved register 7 is
+   moved to register 0 and back to avoid an additional stack frame.
+ */
+
+#define DO_CALL(syscall, args)						      \
+  .if args > 5;								      \
+    lr %r0,%r7;								      \
+    l %r7,96(%r15);							      \
+  .endif;								      \
+  .if SYS_ify (syscall) < 256;						      \
+    svc SYS_ify (syscall);						      \
+  .else;								      \
+    lhi %r1,SYS_ify (syscall);						      \
+    svc 0;								      \
+  .endif;								      \
+  .if args > 5;								      \
+    lr %r7,%r0;								      \
+  .endif
+
+#define ret                                                                   \
+    br      14
+
+#define ret_NOERRNO							      \
+    br      14
+
+#define ret_ERRVAL							      \
+    br      14
+
+#endif /* __ASSEMBLER__ */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				      \
+  ({									      \
+    unsigned int _ret = INTERNAL_SYSCALL (name, , nr, args);		      \
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (_ret, )))		      \
+     {									      \
+       __set_errno (INTERNAL_SYSCALL_ERRNO (_ret, ));			      \
+       _ret = 0xffffffff;						      \
+     }									      \
+    (int) _ret; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#undef INTERNAL_SYSCALL_DIRECT
+#define INTERNAL_SYSCALL_DIRECT(name, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register int _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    %b1\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "i" (__NR_##name) ASMFMT_##nr		      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL_SVC0
+#define INTERNAL_SYSCALL_SVC0(name, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register unsigned long _nr __asm__("1") = (unsigned long)(__NR_##name);   \
+    register int _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    0\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "d" (_nr) ASMFMT_##nr			      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(no, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register unsigned long _nr __asm__("1") = (unsigned long)(no);	      \
+    register int _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    0\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "d" (_nr) ASMFMT_##nr			      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)			      \
+  (((__NR_##name) < 256) ?						      \
+    INTERNAL_SYSCALL_DIRECT(name, err, nr, args) :			      \
+    INTERNAL_SYSCALL_SVC0(name, err,nr, args))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)				      \
+  ((unsigned int) (val) >= 0xfffff001u)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+#define DECLARGS_0()
+#define DECLARGS_1(arg1) \
+	register unsigned long gpr2 __asm__ ("2") = (unsigned long)(arg1);
+#define DECLARGS_2(arg1, arg2) \
+	DECLARGS_1(arg1) \
+	register unsigned long gpr3 __asm__ ("3") = (unsigned long)(arg2);
+#define DECLARGS_3(arg1, arg2, arg3) \
+	DECLARGS_2(arg1, arg2) \
+	register unsigned long gpr4 __asm__ ("4") = (unsigned long)(arg3);
+#define DECLARGS_4(arg1, arg2, arg3, arg4) \
+	DECLARGS_3(arg1, arg2, arg3) \
+	register unsigned long gpr5 __asm__ ("5") = (unsigned long)(arg4);
+#define DECLARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	DECLARGS_4(arg1, arg2, arg3, arg4) \
+	register unsigned long gpr6 __asm__ ("6") = (unsigned long)(arg5);
+#define DECLARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \
+	DECLARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	register unsigned long gpr7 __asm__ ("7") = (unsigned long)(arg6);
+
+#define ASMFMT_0
+#define ASMFMT_1 , "0" (gpr2)
+#define ASMFMT_2 , "0" (gpr2), "d" (gpr3)
+#define ASMFMT_3 , "0" (gpr2), "d" (gpr3), "d" (gpr4)
+#define ASMFMT_4 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
+#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
+#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)
+
+#define CLOBBER_0 , "3", "4", "5"
+#define CLOBBER_1 , "3", "4", "5"
+#define CLOBBER_2 , "4", "5"
+#define CLOBBER_3 , "5"
+#define CLOBBER_4
+#define CLOBBER_5
+#define CLOBBER_6
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETRES_VSYSCALL	1
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+#define HAVE_GETCPU_VSYSCALL		1
+
+/* This version is for internal uses when there is no desire
+   to set errno */
+#define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, nr, args...)	      \
+  ({									      \
+    long int _ret = ENOSYS;						      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      _ret = INTERNAL_VSYSCALL_CALL (vdsop, err, nr, ##args);		      \
+    else								      \
+      err = 1 << 28;							      \
+    _ret;								      \
+  })
+
+#define INTERNAL_VSYSCALL_CALL(fn, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register long _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "lr 10,14\n\t"				      \
+			  "basr 14,%1\n\t"				      \
+			  "lr 14,10\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "d" (fn) ASMFMT_##nr			      \
+			  : "cc", "memory", "0", "1", "10" CLOBBER_##nr);     \
+    _ret; })
+
+/* 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
+/* For the time being just use stack_guard rather than a separate
+   pointer_guard.  */
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+  ear     tmpreg,%a0;			\
+  x       reg,STACK_GUARD(tmpreg)
+#  define PTR_MANGLE2(reg, tmpreg) \
+  x       reg,STACK_GUARD(tmpreg)
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)	PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* _LINUX_S390_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c
new file mode 100644
index 0000000000..b40abd5dd8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+
+#include "utmp-compat.h"
+#include "utmp-private.h"
+
+#if defined SHARED
+# undef weak_alias
+# define weak_alias(n,a)
+#endif
+#include "sysdeps/gnu/updwtmp.c"
+
+#if defined SHARED
+default_symbol_version (__updwtmp, updwtmp, UTMP_COMPAT_BASE);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c
new file mode 100644
index 0000000000..a344fb1e2b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   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 <utmp.h>
+#include <utmpx.h>
+
+#include "utmp-compat.h"
+
+#undef weak_alias
+#define weak_alias(n,a)
+#define updwtmpx __updwtmpx
+#include "login/updwtmpx.c"
+#undef updwtmpx
+
+default_symbol_version (__updwtmpx, updwtmpx, UTMP_COMPAT_BASE);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h
new file mode 100644
index 0000000000..fe54c23e6b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h
@@ -0,0 +1,21 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This macro defines the glibc version tag at which the 64 bit struct
+   utmp functions have been added to the 32 bit glibc.  */
+#define UTMP_COMPAT_BASE GLIBC_2.9
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
new file mode 100644
index 0000000000..5a2af614c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* This file provides functions converting between the 32 and 64 bit
+   struct utmp variants.  */
+
+#ifndef _UTMP_CONVERT_H
+#define _UTMP_CONVERT_H 1
+
+#include <string.h>
+
+#include "utmp32.h"
+
+/* Convert the 64 bit struct utmp value in FROM to the 32 bit version
+   returned in TO.  */
+static inline void
+utmp_convert64to32 (const struct utmp *from, struct utmp32 *to)
+{
+#if _HAVE_UT_TYPE - 0
+  to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+  to->ut_pid = from->ut_pid;
+#endif
+  memcpy (to->ut_line, from->ut_line, UT_LINESIZE);
+  memcpy (to->ut_user, from->ut_user, UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+  memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+  memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE);
+#endif
+  to->ut_exit = from->ut_exit;
+  to->ut_session = (int32_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+  to->ut_tv.tv_sec = (int32_t) from->ut_tv.tv_sec;
+  to->ut_tv.tv_usec = (int32_t) from->ut_tv.tv_usec;
+#endif
+  memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+/* Convert the 32 bit struct utmp value in FROM to the 64 bit version
+   returned in TO.  */
+static inline void
+utmp_convert32to64 (const struct utmp32 *from, struct utmp *to)
+{
+#if _HAVE_UT_TYPE - 0
+  to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+  to->ut_pid = from->ut_pid;
+#endif
+  memcpy (to->ut_line, from->ut_line, UT_LINESIZE);
+  memcpy (to->ut_user, from->ut_user, UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+  memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+  memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE);
+#endif
+  to->ut_exit = from->ut_exit;
+  to->ut_session = (int64_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+  to->ut_tv.tv_sec = (int64_t) from->ut_tv.tv_sec;
+  to->ut_tv.tv_usec = (int64_t) from->ut_tv.tv_usec;
+#endif
+  memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+#endif /* utmp-convert.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c
new file mode 100644
index 0000000000..eb8a478a82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c
@@ -0,0 +1,184 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/types.h>
+#include <utmp.h>
+#include <errno.h>
+#include <libc-symbols.h>
+
+#include "utmp32.h"
+#include "utmp-convert.h"
+
+/* Allocate a static buffer to be returned to the caller.  As well as
+   with the existing version of these functions the caller has to be
+   aware that the contents of this buffer will change with subsequent
+   calls.  */
+#define ALLOCATE_UTMP32_OUT(OUT)			\
+  static struct utmp32 *OUT = NULL;			\
+							\
+  if (OUT == NULL)					\
+    {							\
+      OUT = malloc (sizeof (struct utmp32));		\
+      if (OUT == NULL)					\
+	return NULL;					\
+    }
+
+/* Perform a lookup for a utmp entry matching FIELD using function
+   FUNC.  FIELD is converted to a 64 bit utmp and the result is
+   converted back to 32 bit utmp.  */
+#define ACCESS_UTMP_ENTRY(FUNC, FIELD)			\
+  struct utmp in64;					\
+  struct utmp *out64;					\
+  ALLOCATE_UTMP32_OUT (out32);				\
+							\
+  utmp_convert32to64 (FIELD, &in64);			\
+  out64 = FUNC (&in64);					\
+							\
+  if (out64 == NULL)					\
+    return NULL;					\
+							\
+  utmp_convert64to32 (out64, out32);			\
+							\
+  return out32;
+
+/* Search forward from the current point in the utmp file until the
+   next entry with a ut_type matching ID->ut_type.  */
+struct utmp32 *
+getutid32 (const struct utmp32 *id)
+{
+  ACCESS_UTMP_ENTRY (__getutid, id)
+}
+symbol_version (getutid32, getutid, GLIBC_2.0);
+
+/* Search forward from the current point in the utmp file until the
+   next entry with a ut_line matching LINE->ut_line.  */
+struct utmp32 *
+getutline32 (const struct utmp32 *line)
+{
+  ACCESS_UTMP_ENTRY (__getutline, line)
+}
+symbol_version (getutline32, getutline, GLIBC_2.0);
+
+/* Write out entry pointed to by UTMP_PTR into the utmp file.  */
+struct utmp32 *
+pututline32 (const struct utmp32 *utmp_ptr)
+{
+  ACCESS_UTMP_ENTRY (__pututline, utmp_ptr)
+}
+symbol_version (pututline32, pututline, GLIBC_2.0);
+
+/* Read next entry from a utmp-like file.  */
+struct utmp32 *
+getutent32 (void)
+{
+  struct utmp *out64;
+  ALLOCATE_UTMP32_OUT (out32);
+
+  out64 = __getutent ();
+  if (!out64)
+    return NULL;
+
+  utmp_convert64to32 (out64, out32);
+  return out32;
+}
+symbol_version (getutent32, getutent, GLIBC_2.0);
+
+/* Reentrant versions of the file for handling utmp files.  */
+
+int
+getutent32_r (struct utmp32 *buffer, struct utmp32 **result)
+{
+  struct utmp out64;
+  struct utmp *out64p;
+  int ret;
+
+  ret = __getutent_r (&out64, &out64p);
+  if (ret == -1)
+    {
+      *result = NULL;
+      return -1;
+    }
+
+  utmp_convert64to32 (out64p, buffer);
+  *result = buffer;
+
+  return 0;
+}
+symbol_version (getutent32_r, getutent_r, GLIBC_2.0);
+
+int
+getutid32_r (const struct utmp32 *id, struct utmp32 *buffer,
+	       struct utmp32 **result)
+{
+  struct utmp in64;
+  struct utmp out64;
+  struct utmp *out64p;
+  int ret;
+
+  utmp_convert32to64 (id, &in64);
+
+  ret = __getutid_r (&in64, &out64, &out64p);
+  if (ret == -1)
+    {
+      *result = NULL;
+      return -1;
+    }
+
+  utmp_convert64to32 (out64p, buffer);
+  *result = buffer;
+
+  return 0;
+}
+symbol_version (getutid32_r, getutid_r, GLIBC_2.0);
+
+int
+getutline32_r (const struct utmp32 *line,
+		 struct utmp32 *buffer, struct utmp32 **result)
+{
+  struct utmp in64;
+  struct utmp out64;
+  struct utmp *out64p;
+  int ret;
+
+  utmp_convert32to64 (line, &in64);
+
+  ret = __getutline_r (&in64, &out64, &out64p);
+  if (ret == -1)
+    {
+      *result = NULL;
+      return -1;
+    }
+
+  utmp_convert64to32 (out64p, buffer);
+  *result = buffer;
+
+  return 0;
+
+}
+symbol_version (getutline32_r, getutline_r, GLIBC_2.0);
+
+/* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
+void
+updwtmp32 (const char *wtmp_file, const struct utmp32 *utmp)
+{
+  struct utmp in32;
+
+  utmp_convert32to64 (utmp, &in32);
+  __updwtmp (wtmp_file, &in32);
+}
+symbol_version (updwtmp32, updwtmp, GLIBC_2.0);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h
new file mode 100644
index 0000000000..d5019292c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h
@@ -0,0 +1,51 @@
+/* The `struct utmp' type, describing entries in the utmp file.  GNU version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UTMP32_H
+#define _UTMP32_H 1
+
+#include <paths.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <bits/wordsize.h>
+#include <utmp.h>
+
+/* The structure describing an entry in the user accounting database.  */
+struct utmp32
+{
+  short int ut_type;		/* Type of login.  */
+  pid_t ut_pid;			/* Process ID of login process.  */
+  char ut_line[UT_LINESIZE];	/* Devicename.  */
+  char ut_id[4];		/* Inittab ID.  */
+  char ut_user[UT_NAMESIZE];	/* Username.  */
+  char ut_host[UT_HOSTSIZE];	/* Hostname for remote login.  */
+  struct exit_status ut_exit;	/* Exit status of a process marked
+				   as DEAD_PROCESS.  */
+  int32_t ut_session;		/* Session ID, used for windowing.  */
+  struct
+  {
+    int32_t tv_sec;		/* Seconds.  */
+    int32_t tv_usec;		/* Microseconds.  */
+  } ut_tv;			/* Time entry was made.  */
+
+  int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
+  char __glibc_reserved[20];		/* Reserved for future use.  */
+};
+
+
+#endif  /* utmp32.h  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h
new file mode 100644
index 0000000000..c10bd165aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h
@@ -0,0 +1,85 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* This file provides functions converting between the 32 and 64 bit
+   struct utmp variants.  */
+
+#ifndef _UTMPX_CONVERT_H
+#define _UTMPX_CONVERT_H 1
+
+#include <string.h>
+#include "utmpx32.h"
+
+/* Convert the 64 bit struct utmpx value in FROM to the 32 bit version
+   returned in TO.  */
+static inline void
+utmpx_convert64to32 (const struct utmpx *from, struct utmpx32 *to)
+{
+#if _HAVE_UT_TYPE - 0
+  to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+  to->ut_pid = from->ut_pid;
+#endif
+  memcpy (to->ut_line, from->ut_line, __UT_LINESIZE);
+  memcpy (to->ut_user, from->ut_user, __UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+  memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+  memcpy (to->ut_host, from->ut_host, __UT_HOSTSIZE);
+#endif
+  to->ut_exit = from->ut_exit;
+  to->ut_session = (int32_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+  to->ut_tv.tv_sec = (int32_t) from->ut_tv.tv_sec;
+  to->ut_tv.tv_usec = (int32_t) from->ut_tv.tv_usec;
+#endif
+  memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+/* Convert the 32 bit struct utmpx value in FROM to the 64 bit version
+   returned in TO.  */
+static inline void
+utmpx_convert32to64 (const struct utmpx32 *from, struct utmpx *to)
+{
+#if _HAVE_UT_TYPE - 0
+  to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+  to->ut_pid = from->ut_pid;
+#endif
+  memcpy (to->ut_line, from->ut_line, __UT_LINESIZE);
+  memcpy (to->ut_user, from->ut_user, __UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+  memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+  memcpy (to->ut_host, from->ut_host, __UT_HOSTSIZE);
+#endif
+  to->ut_exit = from->ut_exit;
+  to->ut_session = (int64_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+  to->ut_tv.tv_sec = (int64_t) from->ut_tv.tv_sec;
+  to->ut_tv.tv_usec = (int64_t) from->ut_tv.tv_usec;
+#endif
+  memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+#endif /* utmpx-convert.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c
new file mode 100644
index 0000000000..eb312f6bdb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c
@@ -0,0 +1,139 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/types.h>
+#include <utmp.h>
+#include <errno.h>
+#include <libc-symbols.h>
+
+#include "utmp32.h"
+#include "utmp-convert.h"
+
+#include "utmpx32.h"
+#include "utmpx-convert.h"
+
+/* Allocate a static buffer to be returned to the caller.  As well as
+   with the existing version of these functions the caller has to be
+   aware that the contents of this buffer will change with subsequent
+   calls.  */
+#define ALLOCATE_UTMPX32_OUT(OUT)			\
+  static struct utmpx32 *OUT = NULL;			\
+							\
+  if (OUT == NULL)					\
+    {							\
+      OUT = malloc (sizeof (struct utmpx32));		\
+      if (OUT == NULL)					\
+	return NULL;					\
+    }
+
+/* Perform a lookup for a utmpx entry matching FIELD using function
+   FUNC.  FIELD is converted to a 64 bit utmpx and the result is
+   converted back to 32 bit utmpx.  */
+#define ACCESS_UTMPX_ENTRY(FUNC, FIELD)			\
+  struct utmpx in64;					\
+  struct utmpx *out64;					\
+  ALLOCATE_UTMPX32_OUT (out32);				\
+							\
+  utmpx_convert32to64 (FIELD, &in64);			\
+  out64 = FUNC (&in64);					\
+							\
+  if (out64 == NULL)					\
+    return NULL;					\
+							\
+  utmpx_convert64to32 (out64, out32);			\
+							\
+  return out32;
+
+
+/* Get the next entry from the user accounting database.  */
+struct utmpx32 *
+getutxent32 (void)
+{
+  struct utmpx *out64;
+  ALLOCATE_UTMPX32_OUT (out32);
+
+  out64 = __getutxent ();
+  if (!out64)
+    return NULL;
+
+  utmpx_convert64to32 (out64, out32);
+  return out32;
+
+}
+symbol_version (getutxent32, getutxent, GLIBC_2.1);
+
+/* Get the user accounting database entry corresponding to ID.  */
+struct utmpx32 *
+getutxid32 (const struct utmpx32 *id)
+{
+  ACCESS_UTMPX_ENTRY (__getutxid, id);
+}
+symbol_version (getutxid32, getutxid, GLIBC_2.1);
+
+/* Get the user accounting database entry corresponding to LINE.  */
+struct utmpx32 *
+getutxline32 (const struct utmpx32 *line)
+{
+  ACCESS_UTMPX_ENTRY (__getutxline, line);
+}
+symbol_version (getutxline32, getutxline, GLIBC_2.1);
+
+/* Write the entry UTMPX into the user accounting database.  */
+struct utmpx32 *
+pututxline32 (const struct utmpx32 *utmpx)
+{
+  ACCESS_UTMPX_ENTRY (__pututxline, utmpx);
+}
+symbol_version (pututxline32, pututxline, GLIBC_2.1);
+
+/* Append entry UTMP to the wtmpx-like file WTMPX_FILE.  */
+void
+updwtmpx32 (const char *wtmpx_file, const struct utmpx32 *utmpx)
+{
+  struct utmpx in64;
+
+  utmpx_convert32to64 (utmpx, &in64);
+  __updwtmpx (wtmpx_file, &in64);
+}
+symbol_version (updwtmpx32, updwtmpx, GLIBC_2.1);
+
+/* Copy the information in UTMPX to UTMP.  */
+void
+getutmp32 (const struct utmpx32 *utmpx, struct utmp32 *utmp)
+{
+  struct utmpx in64;
+  struct utmp out64;
+
+  utmpx_convert32to64 (utmpx, &in64);
+  __getutmp (&in64, &out64);
+  utmp_convert64to32 (&out64, utmp);
+}
+symbol_version (getutmp32, getutmp, GLIBC_2.1.1);
+
+/* Copy the information in UTMP to UTMPX.  */
+void
+getutmpx32 (const struct utmp32 *utmp, struct utmpx32 *utmpx)
+{
+  struct utmp in64;
+  struct utmpx out64;
+
+  utmp_convert32to64 (utmp, &in64);
+  __getutmpx (&in64, &out64);
+  utmpx_convert64to32 (&out64, utmpx);
+}
+symbol_version (getutmpx32, getutmpx, GLIBC_2.1.1);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h
new file mode 100644
index 0000000000..ca5e60c3c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h
@@ -0,0 +1,59 @@
+/* The `struct utmp' type, describing entries in the utmp file.  GNU version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UTMPX32_H
+#define _UTMPX32_H 1
+
+#include <paths.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <bits/wordsize.h>
+#include <utmpx.h>
+
+/* The structure describing an entry in the user accounting database.  */
+struct utmpx32
+{
+  short int ut_type;		/* Type of login.  */
+  __pid_t ut_pid;		/* Process ID of login process.  */
+  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_id[4];		/* Inittab ID. */
+  char ut_user[__UT_NAMESIZE];	/* Username.  */
+  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  struct __exit_status ut_exit;	/* Exit status of a process marked
+				   as DEAD_PROCESS.  */
+  __int64_t ut_session;		/* Session ID, used for windowing.  */
+  struct
+  {
+    __int64_t tv_sec;		/* Seconds.  */
+    __int64_t tv_usec;		/* Microseconds.  */
+  } ut_tv;			/* Time entry was made.  */
+
+  __int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
+  char __glibc_reserved[20];		/* Reserved for future use.  */
+};
+
+/* The internal interface needed by the compat wrapper functions.  */
+extern struct utmpx *__getutxent (void);
+extern struct utmpx *__getutxid (const struct utmpx *__id);
+extern struct utmpx *__getutxline (const struct utmpx *__line);
+extern struct utmpx *__pututxline (const struct utmpx *__utmpx);
+extern void __updwtmpx (const char *__wtmpx_file, const struct utmpx *__utmpx);
+extern void __getutmp (const struct utmpx *__utmpx, struct utmp *__utmp);
+extern void __getutmpx (const struct utmp *__utmp, struct utmpx *__utmpx);
+
+#endif /* utmpx32.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c
new file mode 100644
index 0000000000..144b691e56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/versionsort64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
new file mode 100644
index 0000000000..4da2345836
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
@@ -0,0 +1,47 @@
+/* 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>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <bits/wordsize.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__libc_vfork)
+	/* Do vfork system call.  */
+	svc	SYS_ify (vfork)
+
+	/* Check for error.  */
+	lhi	%r4,-4095
+	clr	%r2,%r4
+	jnl	SYSCALL_ERROR_LABEL
+
+	/* Normal return.  */
+	br	%r14
+PSEUDO_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/s390/s390-32/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-32/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Implies
new file mode 100644
index 0000000000..8d91c80097
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Implies
@@ -0,0 +1 @@
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
new file mode 100644
index 0000000000..6795734747
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
@@ -0,0 +1,18 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 64
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h
+endif
+
+ifeq ($(subdir),elf)
+ifeq (yes,$(build-shared))
+# This is needed to support g++ v2 and v3.
+sysdep_routines += framestate
+shared-only-routines += framestate
+endif
+endif
+
+ifeq ($(subdir),stdlib)
+sysdep_routines += __makecontext_ret
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Versions
new file mode 100644
index 0000000000..3f4d960421
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/Versions
@@ -0,0 +1,15 @@
+libc {
+  GLIBC_2.2 {
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+  }
+}
+
+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/s390/s390-64/____longjmp_chk.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
new file mode 100644
index 0000000000..7a4492c567
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2009-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 <errno.h>
+#include <sysdep.h>
+#include <setjmp.h>
+#include <bits/setjmp.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <signal.h>
+#include <sys/syscall.h>
+
+#define __longjmp ____longjmp_chk
+
+#define CHECK_SP(env, guard) \
+  do									\
+    {									\
+      uintptr_t cur_sp;							\
+      uintptr_t new_sp = env->__gregs[9];				\
+      __asm__ ("lgr %0, %%r15" : "=r" (cur_sp));			\
+      new_sp ^= guard;							\
+      if (new_sp < cur_sp)						\
+	{								\
+	  stack_t oss;							\
+	  INTERNAL_SYSCALL_DECL (err);					\
+	  int res = INTERNAL_SYSCALL (sigaltstack, err, 2, NULL, &oss);	\
+	  if (!INTERNAL_SYSCALL_ERROR_P (res, err))			\
+	    {								\
+	      if ((oss.ss_flags & SS_ONSTACK) == 0			\
+		  || ((uintptr_t) (oss.ss_sp + oss.ss_size) - new_sp	\
+		      < oss.ss_size))					\
+		__fortify_fail ("longjmp causes uninitialized stack frame");\
+	    }								\
+	}								\
+    } while (0)
+
+#include "__longjmp.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S
new file mode 100644
index 0000000000..16901638b5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S
@@ -0,0 +1,37 @@
+/* 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>
+
+/* We do not want .eh_frame info so that __makecontext_ret stops unwinding
+   if backtrace was called within a context created by makecontext. (There
+   is also no .eh_frame info for _start or thread_start.)  */
+#undef cfi_startproc
+#define cfi_startproc
+#undef cfi_endproc
+#define cfi_endproc
+
+ENTRY(__makecontext_ret)
+	basr	%r14,%r7
+	ltgr	%r8,%r8			/* Check whether uc_link is 0.  */
+	jz	1f
+	lgr	%r2,%r8
+	br	%r9
+1:	lghi	%r2,0
+	brasl	%r14,HIDDEN_JUMPTARGET (exit)
+	j	.+2			/* Trap if exit returns.  */
+END(__makecontext_ret)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/c++-types.data
new file mode 100644
index 0000000000..23c11dc41b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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:m
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
new file mode 100644
index 0000000000..daf8a58326
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
@@ -0,0 +1,66 @@
+/* Wrapper around clone system call.  64 bit S/390 version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone is even more special than fork as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+/* int __clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+               pid_t *parent_tid, void *tls, pid_t *child_tid);  */
+/* sys_clone  (void *child_stack, unsigned long flags,
+               pid_t *parent_tid, pid_t *child_tid, void *tls);  */
+
+	.text
+ENTRY(__clone)
+	stg	%r6,48(%r15)		/* store %r6 to save area */
+	cfi_offset (%r6,-112)
+	lgr	%r0,%r5			/* move *arg out of the way */
+	ltgr    %r1,%r2			/* check fn and move to %r1 */
+	jz      error			/* no NULL function pointers */
+	ltgr    %r2,%r3			/* check child_stack and move to %r2 */
+	jz	error			/* no NULL stack pointers */
+	lgr	%r3,%r4			/* move flags to %r3 */
+	lgr	%r4,%r6			/* move parent_tid to %r4 */
+	lg	%r5,168(%r15)		/* load child_tid from stack */
+	lg	%r6,160(%r15)		/* load tls from stack */
+	svc	SYS_ify(clone)
+	ltgr	%r2,%r2			/* check return code */
+	jz	thread_start
+	lg	%r6,48(%r15)		/* restore %r6 */
+	jgm	SYSCALL_ERROR_LABEL
+	br	%r14
+error:
+	lghi	%r2,-EINVAL
+	jg	SYSCALL_ERROR_LABEL
+PSEUDO_END (__clone)
+
+thread_start:
+	/* fn is in gpr 1, arg in gpr 0 */
+	lgr	%r2,%r0		/* set first parameter to void *arg */
+	aghi	%r15,-160	/* make room on the stack for the save area */
+	xc	0(8,%r15),0(%r15)
+	basr	%r14,%r1	/* jump to fn */
+	DO_CALL	(exit, 1)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure
new file mode 100644
index 0000000000..7392cdfb42
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64.
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_complocaledir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac
new file mode 100644
index 0000000000..8c75888b62
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h
new file mode 100644
index 0000000000..391d1b72f3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h
@@ -0,0 +1,24 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   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/>.  */
+
+#define _DL_CACHE_DEFAULT_ID	0x403
+
+#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/s390/s390-64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S
new file mode 100644
index 0000000000..4b031aafdb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S
@@ -0,0 +1,89 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+#include <shlib-compat.h>
+
+/*  __getcontext (const ucontext_t *ucp)
+
+  Saves the machine context in UCP such that when it is activated,
+  it appears as if __getcontext() returned again.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__getcontext)
+	lgr     %r1,%r2
+
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &sc->sc_mask, sigsetsize).  */
+	la      %r2,SIG_BLOCK
+	slgr	%r3,%r3
+	la	%r4,SC_MASK(%r1)
+	lghi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Store fpu context.  */
+	stfpc   SC_FPC(%r1)
+	std     %f0,SC_FPRS(%r1)
+	std     %f1,SC_FPRS+8(%r1)
+	std     %f2,SC_FPRS+16(%r1)
+	std     %f3,SC_FPRS+24(%r1)
+	std     %f4,SC_FPRS+32(%r1)
+	std     %f5,SC_FPRS+40(%r1)
+	std     %f6,SC_FPRS+48(%r1)
+	std     %f7,SC_FPRS+56(%r1)
+	std     %f8,SC_FPRS+64(%r1)
+	std     %f9,SC_FPRS+72(%r1)
+	std     %f10,SC_FPRS+80(%r1)
+	std     %f11,SC_FPRS+88(%r1)
+	std     %f12,SC_FPRS+96(%r1)
+	std     %f13,SC_FPRS+104(%r1)
+	std     %f14,SC_FPRS+112(%r1)
+	std     %f15,SC_FPRS+120(%r1)
+
+	/* Set __getcontext return value to 0.  */
+	slgr    %r2,%r2
+
+	/* Store access registers.  */
+	stam    %a0,%a15,SC_ACRS(%r1)
+
+	/* Store general purpose registers.  */
+	stmg    %r0,%r15,SC_GPRS(%r1)
+
+	/* Return.  */
+	br	%r14
+END(__getcontext)
+
+#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
+/* In glibc release 2.19 a new version of getcontext was introduced,
+   but was reverted before 2.20. Thus both versions are the same function.  */
+weak_alias (__getcontext, __v1__getcontext)
+weak_alias (__getcontext, __v2__getcontext)
+versioned_symbol (libc, __v1__getcontext, getcontext, GLIBC_2_1)
+compat_symbol (libc, __v2__getcontext, getcontext, GLIBC_2_19)
+
+#else
+
+weak_alias (__getcontext, getcontext)
+
+#endif /* !(defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20))  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h
new file mode 100644
index 0000000000..945c02930c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h
@@ -0,0 +1,21 @@
+/* Definition of `struct stat' used in the kernel.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define STAT_IS_KERNEL_STAT 1
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist
new file mode 100644
index 0000000000..5e604f5376
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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_offset F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..21343df781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
new file mode 100644
index 0000000000..b1b2b29c94
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -0,0 +1,2360 @@
+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 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.19 GLIBC_2.19 A
+GLIBC_2.19 __longjmp_chk F
+GLIBC_2.19 __sigsetjmp F
+GLIBC_2.19 _longjmp F
+GLIBC_2.19 _setjmp F
+GLIBC_2.19 getcontext F
+GLIBC_2.19 longjmp F
+GLIBC_2.19 setjmp F
+GLIBC_2.19 siglongjmp 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 ___brk_addr D 0x8
+GLIBC_2.2 __adjtimex F
+GLIBC_2.2 __after_morecore_hook D 0x8
+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 0x4
+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 __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 0x3e8
+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 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 0x3e8
+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.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 0x3f0
+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 0x3f0
+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 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l 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 0x420
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x420
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/s390/s390-64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist
new file mode 100644
index 0000000000..f2854f3a0a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 crypt F
+GLIBC_2.2 crypt_r F
+GLIBC_2.2 encrypt F
+GLIBC_2.2 encrypt_r F
+GLIBC_2.2 fcrypt F
+GLIBC_2.2 setkey F
+GLIBC_2.2 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
new file mode 100644
index 0000000000..98b031bc6d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 dladdr F
+GLIBC_2.2 dlclose F
+GLIBC_2.2 dlerror F
+GLIBC_2.2 dlopen F
+GLIBC_2.2 dlsym F
+GLIBC_2.2 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/s390/s390-64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
new file mode 100644
index 0000000000..b56701e350
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -0,0 +1,563 @@
+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 __signbit F
+GLIBC_2.2 __signbitf 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 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
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist
new file mode 100644
index 0000000000..ff0199f313
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __free_fdresult F
+GLIBC_2.2 __nis_default_access F
+GLIBC_2.2 __nis_default_group F
+GLIBC_2.2 __nis_default_owner F
+GLIBC_2.2 __nis_default_ttl F
+GLIBC_2.2 __nis_finddirectory F
+GLIBC_2.2 __nis_hash F
+GLIBC_2.2 __nisbind_connect F
+GLIBC_2.2 __nisbind_create F
+GLIBC_2.2 __nisbind_destroy F
+GLIBC_2.2 __nisbind_next F
+GLIBC_2.2 __yp_check F
+GLIBC_2.2 nis_add F
+GLIBC_2.2 nis_add_entry F
+GLIBC_2.2 nis_addmember F
+GLIBC_2.2 nis_checkpoint F
+GLIBC_2.2 nis_clone_directory F
+GLIBC_2.2 nis_clone_object F
+GLIBC_2.2 nis_clone_result F
+GLIBC_2.2 nis_creategroup F
+GLIBC_2.2 nis_destroy_object F
+GLIBC_2.2 nis_destroygroup F
+GLIBC_2.2 nis_dir_cmp F
+GLIBC_2.2 nis_domain_of F
+GLIBC_2.2 nis_domain_of_r F
+GLIBC_2.2 nis_first_entry F
+GLIBC_2.2 nis_free_directory F
+GLIBC_2.2 nis_free_object F
+GLIBC_2.2 nis_free_request F
+GLIBC_2.2 nis_freenames F
+GLIBC_2.2 nis_freeresult F
+GLIBC_2.2 nis_freeservlist F
+GLIBC_2.2 nis_freetags F
+GLIBC_2.2 nis_getnames F
+GLIBC_2.2 nis_getservlist F
+GLIBC_2.2 nis_ismember F
+GLIBC_2.2 nis_leaf_of F
+GLIBC_2.2 nis_leaf_of_r F
+GLIBC_2.2 nis_lerror F
+GLIBC_2.2 nis_list F
+GLIBC_2.2 nis_local_directory F
+GLIBC_2.2 nis_local_group F
+GLIBC_2.2 nis_local_host F
+GLIBC_2.2 nis_local_principal F
+GLIBC_2.2 nis_lookup F
+GLIBC_2.2 nis_mkdir F
+GLIBC_2.2 nis_modify F
+GLIBC_2.2 nis_modify_entry F
+GLIBC_2.2 nis_name_of F
+GLIBC_2.2 nis_name_of_r F
+GLIBC_2.2 nis_next_entry F
+GLIBC_2.2 nis_perror F
+GLIBC_2.2 nis_ping F
+GLIBC_2.2 nis_print_directory F
+GLIBC_2.2 nis_print_entry F
+GLIBC_2.2 nis_print_group F
+GLIBC_2.2 nis_print_group_entry F
+GLIBC_2.2 nis_print_link F
+GLIBC_2.2 nis_print_object F
+GLIBC_2.2 nis_print_result F
+GLIBC_2.2 nis_print_rights F
+GLIBC_2.2 nis_print_table F
+GLIBC_2.2 nis_read_obj F
+GLIBC_2.2 nis_remove F
+GLIBC_2.2 nis_remove_entry F
+GLIBC_2.2 nis_removemember F
+GLIBC_2.2 nis_rmdir F
+GLIBC_2.2 nis_servstate F
+GLIBC_2.2 nis_sperrno F
+GLIBC_2.2 nis_sperror F
+GLIBC_2.2 nis_sperror_r F
+GLIBC_2.2 nis_stats F
+GLIBC_2.2 nis_verifygroup F
+GLIBC_2.2 nis_write_obj F
+GLIBC_2.2 readColdStartFile F
+GLIBC_2.2 writeColdStartFile F
+GLIBC_2.2 xdr_cback_data F
+GLIBC_2.2 xdr_domainname F
+GLIBC_2.2 xdr_keydat F
+GLIBC_2.2 xdr_mapname F
+GLIBC_2.2 xdr_obj_p F
+GLIBC_2.2 xdr_peername F
+GLIBC_2.2 xdr_valdat F
+GLIBC_2.2 xdr_yp_buf F
+GLIBC_2.2 xdr_ypall F
+GLIBC_2.2 xdr_ypbind_binding F
+GLIBC_2.2 xdr_ypbind_resp F
+GLIBC_2.2 xdr_ypbind_resptype F
+GLIBC_2.2 xdr_ypbind_setdom F
+GLIBC_2.2 xdr_ypdelete_args F
+GLIBC_2.2 xdr_ypmap_parms F
+GLIBC_2.2 xdr_ypmaplist F
+GLIBC_2.2 xdr_yppush_status F
+GLIBC_2.2 xdr_yppushresp_xfr F
+GLIBC_2.2 xdr_ypreq_key F
+GLIBC_2.2 xdr_ypreq_nokey F
+GLIBC_2.2 xdr_ypreq_xfr F
+GLIBC_2.2 xdr_ypresp_all F
+GLIBC_2.2 xdr_ypresp_key_val F
+GLIBC_2.2 xdr_ypresp_maplist F
+GLIBC_2.2 xdr_ypresp_master F
+GLIBC_2.2 xdr_ypresp_order F
+GLIBC_2.2 xdr_ypresp_val F
+GLIBC_2.2 xdr_ypresp_xfr F
+GLIBC_2.2 xdr_ypstat F
+GLIBC_2.2 xdr_ypupdate_args F
+GLIBC_2.2 xdr_ypxfrstat F
+GLIBC_2.2 yp_all F
+GLIBC_2.2 yp_bind F
+GLIBC_2.2 yp_first F
+GLIBC_2.2 yp_get_default_domain F
+GLIBC_2.2 yp_maplist F
+GLIBC_2.2 yp_master F
+GLIBC_2.2 yp_match F
+GLIBC_2.2 yp_next F
+GLIBC_2.2 yp_order F
+GLIBC_2.2 yp_unbind F
+GLIBC_2.2 yp_update F
+GLIBC_2.2 ypbinderr_string F
+GLIBC_2.2 yperr_string F
+GLIBC_2.2 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
new file mode 100644
index 0000000000..83a1fcd239
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -0,0 +1,248 @@
+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.19 GLIBC_2.19 A
+GLIBC_2.19 longjmp F
+GLIBC_2.19 siglongjmp 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_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/s390/s390-64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
new file mode 100644
index 0000000000..3cb1405aed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
@@ -0,0 +1,94 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __b64_ntop F
+GLIBC_2.2 __b64_pton F
+GLIBC_2.2 __dn_comp F
+GLIBC_2.2 __dn_count_labels F
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __dn_skipname F
+GLIBC_2.2 __fp_nquery F
+GLIBC_2.2 __fp_query F
+GLIBC_2.2 __fp_resstat F
+GLIBC_2.2 __hostalias F
+GLIBC_2.2 __loc_aton F
+GLIBC_2.2 __loc_ntoa F
+GLIBC_2.2 __p_cdname F
+GLIBC_2.2 __p_cdnname F
+GLIBC_2.2 __p_class F
+GLIBC_2.2 __p_class_syms D 0xa8
+GLIBC_2.2 __p_fqname F
+GLIBC_2.2 __p_fqnname F
+GLIBC_2.2 __p_option F
+GLIBC_2.2 __p_query F
+GLIBC_2.2 __p_secstodate F
+GLIBC_2.2 __p_time F
+GLIBC_2.2 __p_type F
+GLIBC_2.2 __p_type_syms D 0x450
+GLIBC_2.2 __putlong F
+GLIBC_2.2 __putshort F
+GLIBC_2.2 __res_close F
+GLIBC_2.2 __res_dnok F
+GLIBC_2.2 __res_hnok F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_isourserver F
+GLIBC_2.2 __res_mailok F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nameinquery 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_ownok F
+GLIBC_2.2 __res_queriesmatch F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.2 __res_send F
+GLIBC_2.2 __sym_ntop F
+GLIBC_2.2 __sym_ntos F
+GLIBC_2.2 __sym_ston F
+GLIBC_2.2 _gethtbyaddr F
+GLIBC_2.2 _gethtbyname F
+GLIBC_2.2 _gethtbyname2 F
+GLIBC_2.2 _gethtent F
+GLIBC_2.2 _getlong F
+GLIBC_2.2 _getshort F
+GLIBC_2.2 _res_opcodes D 0x80
+GLIBC_2.2 _sethtent F
+GLIBC_2.2 inet_net_ntop F
+GLIBC_2.2 inet_net_pton F
+GLIBC_2.2 inet_neta F
+GLIBC_2.2 res_gethostbyaddr F
+GLIBC_2.2 res_gethostbyname F
+GLIBC_2.2 res_gethostbyname2 F
+GLIBC_2.2 res_send_setqhook F
+GLIBC_2.2 res_send_setrhook 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/s390/s390-64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
new file mode 100644
index 0000000000..41c442bf60
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -0,0 +1,52 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 aio_cancel F
+GLIBC_2.2 aio_cancel64 F
+GLIBC_2.2 aio_error F
+GLIBC_2.2 aio_error64 F
+GLIBC_2.2 aio_fsync F
+GLIBC_2.2 aio_fsync64 F
+GLIBC_2.2 aio_init F
+GLIBC_2.2 aio_read F
+GLIBC_2.2 aio_read64 F
+GLIBC_2.2 aio_return F
+GLIBC_2.2 aio_return64 F
+GLIBC_2.2 aio_suspend F
+GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
+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 lio_listio F
+GLIBC_2.2 lio_listio64 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.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/s390/s390-64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist
new file mode 100644
index 0000000000..228bbc9de8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist
@@ -0,0 +1,44 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 td_init F
+GLIBC_2.2 td_log F
+GLIBC_2.2 td_ta_clear_event F
+GLIBC_2.2 td_ta_delete F
+GLIBC_2.2 td_ta_enable_stats F
+GLIBC_2.2 td_ta_event_addr F
+GLIBC_2.2 td_ta_event_getmsg F
+GLIBC_2.2 td_ta_get_nthreads F
+GLIBC_2.2 td_ta_get_ph F
+GLIBC_2.2 td_ta_get_stats F
+GLIBC_2.2 td_ta_map_id2thr F
+GLIBC_2.2 td_ta_map_lwp2thr F
+GLIBC_2.2 td_ta_new F
+GLIBC_2.2 td_ta_reset_stats F
+GLIBC_2.2 td_ta_set_event F
+GLIBC_2.2 td_ta_setconcurrency F
+GLIBC_2.2 td_ta_thr_iter F
+GLIBC_2.2 td_ta_tsd_iter F
+GLIBC_2.2 td_thr_clear_event F
+GLIBC_2.2 td_thr_dbresume F
+GLIBC_2.2 td_thr_dbsuspend F
+GLIBC_2.2 td_thr_event_enable F
+GLIBC_2.2 td_thr_event_getmsg F
+GLIBC_2.2 td_thr_get_info F
+GLIBC_2.2 td_thr_getfpregs F
+GLIBC_2.2 td_thr_getgregs F
+GLIBC_2.2 td_thr_getxregs F
+GLIBC_2.2 td_thr_getxregsize F
+GLIBC_2.2 td_thr_set_event F
+GLIBC_2.2 td_thr_setfpregs F
+GLIBC_2.2 td_thr_setgregs F
+GLIBC_2.2 td_thr_setprio F
+GLIBC_2.2 td_thr_setsigpending F
+GLIBC_2.2 td_thr_setxregs F
+GLIBC_2.2 td_thr_sigsetmask F
+GLIBC_2.2 td_thr_tsd F
+GLIBC_2.2 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/s390/s390-64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist
new file mode 100644
index 0000000000..cff37bb42e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 forkpty F
+GLIBC_2.2 login F
+GLIBC_2.2 login_tty F
+GLIBC_2.2 logout F
+GLIBC_2.2 logwtmp F
+GLIBC_2.2 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c
new file mode 100644
index 0000000000..01ba5255f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c
@@ -0,0 +1,96 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <libintl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+
+/* This implementation can handle any ARGC value but only
+   normal integer type parameters. Parameters of type float,
+   double, complex and structure with sizes 0, 2, 4 or 8
+   won't work.
+   makecontext sets up a stack and the registers for the
+   user context. The stack looks like this:
+	   size                         offset
+    %r15 ->    +-----------------------+
+	     8 | back chain (zero)     |  0
+	     8 | reserved              |  8
+	   144 | save area for (*func) | 16
+	       +-----------------------+
+	     n | overflow parameters   | 160
+	       +-----------------------+
+   The registers are set up like this:
+     %r2-%r6: parameters 1 to 5
+     %r7    : (*func) pointer
+     %r8    : uc_link from ucontext structure
+     %r9    : address of setcontext
+     %r14   : return address to uc_link trampoline
+     %r15   : stack pointer.
+
+   The trampoline looks like this:
+     basr  %r14,%r7
+     lgr   %r2,%r8
+     br    %r9.  */
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __makecontext_ret (void);
+  unsigned long int *sp;
+  va_list ap;
+
+  sp = (unsigned long int *) (((unsigned long int) ucp->uc_stack.ss_sp
+			       + ucp->uc_stack.ss_size) & -8L);
+
+  /* Set the return address to trampoline.  */
+  ucp->uc_mcontext.gregs[14] = (long int) __makecontext_ret;
+
+  /* Set register parameters.  */
+  va_start (ap, argc);
+  for (int i = 0; i < argc && i < 5; ++i)
+    ucp->uc_mcontext.gregs[2 + i] = va_arg (ap, long int);
+
+  /* The remaining arguments go to the overflow area.  */
+  if (argc > 5)
+    {
+      sp -= argc - 5;
+      for (int i = 5; i < argc; ++i)
+	sp[i - 5] = va_arg (ap, long int);
+    }
+  va_end (ap);
+
+  /* Make room for the save area and set the backchain.  */
+  sp -= 20;
+  *sp = 0;
+
+  /* Pass (*func) to __makecontext_ret in %r7.  */
+  ucp->uc_mcontext.gregs[7] = (long int) func;
+
+  /* Pass ucp->uc_link to __makecontext_ret in %r8.  */
+  ucp->uc_mcontext.gregs[8] = (long int) ucp->uc_link;
+
+  /* Pass address of setcontext in %r9.  */
+  ucp->uc_mcontext.gregs[9] = (long int) &setcontext;
+
+  /* Set stack pointer.  */
+  ucp->uc_mcontext.gregs[15] = (long int) sp;
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
new file mode 100644
index 0000000000..29a1731abb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h
@@ -0,0 +1,26 @@
+/* Low-level statistical profiling support function.  Linux/s390 version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigcontextinfo.h>
+
+static void
+__profil_counter (int signo, SIGCONTEXT scp)
+{
+  profil_count ((void *) GET_PC (scp));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h
new file mode 100644
index 0000000000..1b7bbeb7b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h
@@ -0,0 +1,132 @@
+/* Dump registers.  64 bit S/390 version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   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/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ GPR0: XXXXXXXXXXXXXXXX  GPR1: XXXXXXXXXXXXXXXX
+ GPR2: XXXXXXXXXXXXXXXX  GPR3: XXXXXXXXXXXXXXXX
+ GPR4: XXXXXXXXXXXXXXXX  GPR5: XXXXXXXXXXXXXXXX
+ GPR6: XXXXXXXXXXXXXXXX  GPR7: XXXXXXXXXXXXXXXX
+ GPR8: XXXXXXXXXXXXXXXX  GPR9: XXXXXXXXXXXXXXXX
+ GPRA: XXXXXXXXXXXXXXXX  GPRB: XXXXXXXXXXXXXXXX
+ GPRC: XXXXXXXXXXXXXXXX  GPRD: XXXXXXXXXXXXXXXX
+ GPRE: XXXXXXXXXXXXXXXX  GPRF: XXXXXXXXXXXXXXXX
+
+ PSW.MASK: XXXXXXXXXXXXXXXX   PSW.ADDR: XXXXXXXXXXXXXXXX
+
+ ST(0) XXXX XXXXXXXXXXXXXXXX   ST(1) XXXX XXXXXXXXXXXXXXXX
+ ST(2) XXXX XXXXXXXXXXXXXXXX   ST(3) XXXX XXXXXXXXXXXXXXXX
+ ST(4) XXXX XXXXXXXXXXXXXXXX   ST(5) XXXX XXXXXXXXXXXXXXXX
+ ST(6) XXXX XXXXXXXXXXXXXXXX   ST(7) XXXX XXXXXXXXXXXXXXXX
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[19][16];
+  struct iovec iov[40];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sregs->regs.gprs[0], regs[0], 16);
+  hexvalue (ctx->sregs->regs.gprs[1], regs[1], 16);
+  hexvalue (ctx->sregs->regs.gprs[2], regs[2], 16);
+  hexvalue (ctx->sregs->regs.gprs[3], regs[3], 16);
+  hexvalue (ctx->sregs->regs.gprs[4], regs[4], 16);
+  hexvalue (ctx->sregs->regs.gprs[5], regs[5], 16);
+  hexvalue (ctx->sregs->regs.gprs[6], regs[6], 16);
+  hexvalue (ctx->sregs->regs.gprs[7], regs[7], 16);
+  hexvalue (ctx->sregs->regs.gprs[8], regs[8], 16);
+  hexvalue (ctx->sregs->regs.gprs[9], regs[9], 16);
+  hexvalue (ctx->sregs->regs.gprs[10], regs[10], 16);
+  hexvalue (ctx->sregs->regs.gprs[11], regs[11], 16);
+  hexvalue (ctx->sregs->regs.gprs[12], regs[12], 16);
+  hexvalue (ctx->sregs->regs.gprs[13], regs[13], 16);
+  hexvalue (ctx->sregs->regs.gprs[14], regs[14], 16);
+  hexvalue (ctx->sregs->regs.gprs[15], regs[15], 16);
+  hexvalue (ctx->sregs->regs.psw.mask, regs[16], 16);
+  hexvalue (ctx->sregs->regs.psw.addr, regs[17], 16);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n GPR0: ");
+  ADD_MEM (regs[0], 16);
+  ADD_STRING ("  GPR1: ");
+  ADD_MEM (regs[1], 16);
+  ADD_STRING ("  GPR2: ");
+  ADD_MEM (regs[2], 16);
+  ADD_STRING ("  GPR3: ");
+  ADD_MEM (regs[3], 16);
+  ADD_STRING ("\n GPR4: ");
+  ADD_MEM (regs[4], 16);
+  ADD_STRING ("  GPR5: ");
+  ADD_MEM (regs[5], 16);
+  ADD_STRING ("  GPR6: ");
+  ADD_MEM (regs[6], 16);
+  ADD_STRING ("  GPR7: ");
+  ADD_MEM (regs[7], 16);
+  ADD_STRING ("\n GPR8: ");
+  ADD_MEM (regs[8], 16);
+  ADD_STRING ("  GPR9: ");
+  ADD_MEM (regs[9], 16);
+  ADD_STRING ("  GPRA: ");
+  ADD_MEM (regs[10], 16);
+  ADD_STRING ("  GPRB: ");
+  ADD_MEM (regs[11], 16);
+  ADD_STRING ("\n GPRC: ");
+  ADD_MEM (regs[12], 16);
+  ADD_STRING ("  GPRD: ");
+  ADD_MEM (regs[13], 16);
+  ADD_STRING ("  GPRE: ");
+  ADD_MEM (regs[14], 16);
+  ADD_STRING ("  GPRF: ");
+  ADD_MEM (regs[15], 16);
+  ADD_STRING ("\n\n PSW.MASK: ");
+  ADD_MEM (regs[16], 16);
+  ADD_STRING ("  PSW.ADDR: ");
+  ADD_MEM (regs[17], 16);
+  ADD_STRING ("  TRAP: ");
+  ADD_MEM (regs[18], 4);
+  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/s390/s390-64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
new file mode 100644
index 0000000000..f96ee2dc85
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
@@ -0,0 +1,72 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+ENTRY(__setcontext)
+	lgr	%r1,%r2
+
+	/* sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL).  */
+	la      %r2,SIG_SETMASK
+	la	%r3,SC_MASK(%r1)
+	slgr	%r4,%r4
+	lghi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Load fpu context.  */
+	lfpc	SC_FPC(%r1)
+	ld	%f0,SC_FPRS(%r1)
+	ld      %f1,SC_FPRS+8(%r1)
+	ld      %f2,SC_FPRS+16(%r1)
+	ld      %f3,SC_FPRS+24(%r1)
+	ld      %f4,SC_FPRS+32(%r1)
+	ld      %f5,SC_FPRS+40(%r1)
+	ld      %f6,SC_FPRS+48(%r1)
+	ld      %f7,SC_FPRS+56(%r1)
+	ld      %f8,SC_FPRS+64(%r1)
+	ld      %f9,SC_FPRS+72(%r1)
+	ld      %f10,SC_FPRS+80(%r1)
+	ld      %f11,SC_FPRS+88(%r1)
+	ld      %f12,SC_FPRS+96(%r1)
+	ld      %f13,SC_FPRS+104(%r1)
+	ld      %f14,SC_FPRS+112(%r1)
+	ld      %f15,SC_FPRS+120(%r1)
+
+	/* Don't touch %a0 and %a1, used for thread purposes.  */
+	lam     %a2,%a15,SC_ACRS+8(%r1)
+
+	/* Load general purpose registers.  */
+	lmg	%r0,%r15,SC_GPRS(%r1)
+
+	/* Return.  */
+	br	%r14
+END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
new file mode 100644
index 0000000000..669a0c9869
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
@@ -0,0 +1,2 @@
+DEFAULT			GLIBC_2.2
+ld=ld64.so.1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c
new file mode 100644
index 0000000000..a3de0ead69
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c
@@ -0,0 +1,43 @@
+/* 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/>.  */
+
+/* 64 bit Linux for S/390 only has rt signals, thus we do not even want to try
+   falling back to the old style signals as the default Linux handler does. */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The variable is shared between all wrappers around signal handling
+   functions which have RT equivalents.  This is the definition.  */
+
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  return INLINE_SYSCALL (rt_sigaction, 4, sig, act, oact, _NSIG / 8);
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
new file mode 100644
index 0000000000..daf8cfd1b8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
@@ -0,0 +1,36 @@
+/* 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/>.  */
+
+/* 64 bit Linux for S/390 only has rt signals, thus we do not even want to try
+   falling back to the old style signals as the default Linux handler does. */
+
+#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/s390/s390-64/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
new file mode 100644
index 0000000000..4cbbc8e133
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
@@ -0,0 +1,37 @@
+/* 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/>.  */
+
+/* 64 bit Linux for S/390 only has rt signals, thus we do not even want to try
+   falling back to the old style signals as the default Linux handler does. */
+
+#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/s390/s390-64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
new file mode 100644
index 0000000000..e033ec1672
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
@@ -0,0 +1,108 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.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 <sysdep.h>
+#include <features.h>
+
+#include "ucontext_i.h"
+
+/*  __swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
+
+  Saves the machine context in oucp such that when it is activated,
+  it appears as if __swapcontext() returned again, restores the
+  machine context in ucp and thereby resumes execution in that
+  context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__swapcontext)
+	/* While not part of the ABI a system call never clobbers r0
+	   or r1.  So keeping the values here while calling
+	   rt_sigprocmask is ok.  */
+	lgr	%r1,%r2
+	lgr     %r0,%r3
+
+	/* Store fpu context.  */
+	stfpc   SC_FPC(%r1)
+	std     %f0,SC_FPRS(%r1)
+	std     %f1,SC_FPRS+8(%r1)
+	std     %f2,SC_FPRS+16(%r1)
+	std     %f3,SC_FPRS+24(%r1)
+	std     %f4,SC_FPRS+32(%r1)
+	std     %f5,SC_FPRS+40(%r1)
+	std     %f6,SC_FPRS+48(%r1)
+	std     %f7,SC_FPRS+56(%r1)
+	std     %f8,SC_FPRS+64(%r1)
+	std     %f9,SC_FPRS+72(%r1)
+	std     %f10,SC_FPRS+80(%r1)
+	std     %f11,SC_FPRS+88(%r1)
+	std     %f12,SC_FPRS+96(%r1)
+	std     %f13,SC_FPRS+104(%r1)
+	std     %f14,SC_FPRS+112(%r1)
+	std     %f15,SC_FPRS+120(%r1)
+
+	/* Set __swapcontext return value to 0.  */
+	slgr     %r2,%r2
+
+	/* Store access registers.  */
+	stam    %a0,%a15,SC_ACRS(%r1)
+
+	/* Store general purpose registers.  */
+	stmg    %r0,%r15,SC_GPRS(%r1)
+
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask,
+	   sigsetsize).  */
+	la      %r2,SIG_SETMASK
+	lgr	%r5,%r0
+	la	%r3,SC_MASK(%r5)
+	la	%r4,SC_MASK(%r1)
+	lghi	%r5,_NSIG8
+	svc	SYS_ify(rt_sigprocmask)
+
+	/* Load fpu context.  */
+	lgr	%r5,%r0
+	lfpc	SC_FPC(%r5)
+	ld	%f0,SC_FPRS(%r5)
+	ld      %f1,SC_FPRS+8(%r5)
+	ld      %f2,SC_FPRS+16(%r5)
+	ld      %f3,SC_FPRS+24(%r5)
+	ld      %f4,SC_FPRS+32(%r5)
+	ld      %f5,SC_FPRS+40(%r5)
+	ld      %f6,SC_FPRS+48(%r5)
+	ld      %f7,SC_FPRS+56(%r5)
+	ld      %f8,SC_FPRS+64(%r5)
+	ld      %f9,SC_FPRS+72(%r5)
+	ld      %f10,SC_FPRS+80(%r5)
+	ld      %f11,SC_FPRS+88(%r5)
+	ld      %f12,SC_FPRS+96(%r5)
+	ld      %f13,SC_FPRS+104(%r5)
+	ld      %f14,SC_FPRS+112(%r5)
+	ld      %f15,SC_FPRS+120(%r5)
+
+	/* Don't touch %a0 and %a1, used for thread purposes.  */
+	lam     %a2,%a15,SC_ACRS+8(%r5)
+
+	/* Load general purpose registers.  */
+	lmg	%r0,%r15,SC_GPRS(%r5)
+
+	/* Return.  */
+	br	%r14
+END(__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
new file mode 100644
index 0000000000..24c47cb75a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
@@ -0,0 +1,68 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Please consult the file sysdeps/unix/sysv/linux/s390/sysdep.h for
+   more information about the value -4095 used below.*/
+
+ENTRY (syscall)
+	/* Save registers and setup stack.  */
+	stmg	%r6,%r15,48(%r15)  /* Save registers.  */
+	cfi_offset (%r15,-40)
+	cfi_offset (%r14,-48)
+	cfi_offset (%r13,-56)
+	cfi_offset (%r12,-64)
+	cfi_offset (%r11,-72)
+	cfi_offset (%r10,-80)
+	cfi_offset (%r9,-88)
+	cfi_offset (%r8,-96)
+	cfi_offset (%r7,-104)
+	cfi_offset (%r6,-112)
+	lgr	%r1,%r15
+	lg	%r0,8(%r15)	   /* Load eos.	 */
+	aghi	%r15,-160	   /* Buy stack space.	*/
+	cfi_adjust_cfa_offset (160)
+	stg	%r1,0(%r15)	   /* Store back chain.	 */
+	stg	%r0,8(%r15)	   /* Store eos.  */
+
+	lgr    %r1,%r2		   /* Move syscall number.  */
+	lgr    %r2,%r3		   /* First parameter.	*/
+	lgr    %r3,%r4		   /* Second parameter.	 */
+	lgr    %r4,%r5		   /* Third parameter.	*/
+	lgr    %r5,%r6		   /* Fourth parameter.	 */
+	lg     %r6,320(%r15)	   /* Fifth parameter.	*/
+	lg     %r7,328(%r15)	   /* Sixth parameter.	*/
+
+	basr   %r8,0
+0:	clg    %r1,4f-0b(%r8)      /* svc number < 256? */
+	jl     2f
+1:	svc    0
+	j      3f
+2:	ex     %r1,1b-0b(%r8)      /* lsb of R1 is subsituted as SVC number */
+3:	lg     %r15,0(%r15)        /* load back chain */
+	cfi_adjust_cfa_offset (-160)
+	lmg	%r6,15,48(%r15)	   /* Load registers.  */
+
+	lghi   %r0,-4095
+	clgr   %r2,%r0		   /* Check R2 for error.  */
+	jgnl   SYSCALL_ERROR_LABEL
+	br     %r14		   /* Return to caller.	 */
+4:	.quad  256
+PSEUDO_END (syscall)
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
new file mode 100644
index 0000000000..9b2c546b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
@@ -0,0 +1,152 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <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;								      \
+L(pseudo_cancel):							      \
+	cfi_startproc;							      \
+	STM_##args							      \
+	stmg	%r13,%r15,104(%r15);					      \
+	cfi_offset (%r15,-40);						      \
+	cfi_offset (%r14,-48);						      \
+	cfi_offset (%r13,-56);						      \
+	lgr	%r14,%r15;						      \
+	aghi	%r15,-160;						      \
+	cfi_adjust_cfa_offset (160);					      \
+	stg	%r14,0(%r15);						      \
+	brasl	%r14,CENABLE;						      \
+	lgr	%r0,%r2;						      \
+	LM_##args							      \
+	.if SYS_ify (syscall_name) < 256;				      \
+	svc SYS_ify (syscall_name);					      \
+	.else;								      \
+	lghi %r1,SYS_ify (syscall_name);				      \
+	svc 0;								      \
+	.endif;								      \
+	LR7_##args							      \
+	lgr	%r13,%r2;						      \
+	lgr	%r2,%r0;						      \
+	brasl	%r14,CDISABLE;						      \
+	lgr	%r2,%r13;						      \
+	lmg	%r13,%r15,104+160(%r15);				      \
+	cfi_endproc;							      \
+	j	L(pseudo_check);					      \
+ENTRY(name)								      \
+	SINGLE_THREAD_P							      \
+	jne	L(pseudo_cancel);					      \
+.type	__##syscall_name##_nocancel,@function;				      \
+.globl	__##syscall_name##_nocancel;					      \
+__##syscall_name##_nocancel:						      \
+	DO_CALL(syscall_name, args);					      \
+L(pseudo_check):							      \
+	lghi	%r4,-4095;						      \
+	clgr	%r2,%r4;						      \
+	jgnl	SYSCALL_ERROR_LABEL;					      \
+.size	__##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+L(pseudo_end):
+
+# if IS_IN (libpthread)
+#  define CENABLE	__pthread_enable_asynccancel
+#  define CDISABLE	__pthread_disable_asynccancel
+#  define __local_multiple_threads	__pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE	__libc_enable_asynccancel
+#  define CDISABLE	__libc_disable_asynccancel
+#  define __local_multiple_threads	__libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE	__librt_enable_asynccancel
+#  define CDISABLE	__librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+#define STM_0		/* Nothing */
+#define STM_1		stg %r2,16(%r15);
+#define STM_2		stmg %r2,%r3,16(%r15);
+#define STM_3		stmg %r2,%r4,16(%r15);
+#define STM_4		stmg %r2,%r5,16(%r15);
+#define STM_5		stmg %r2,%r5,16(%r15);
+#define STM_6		stmg %r2,%r7,16(%r15);
+
+#define LM_0		/* Nothing */
+#define LM_1		lg %r2,16+160(%r15);
+#define LM_2		lmg %r2,%r3,16+160(%r15);
+#define LM_3		lmg %r2,%r4,16+160(%r15);
+#define LM_4		lmg %r2,%r5,16+160(%r15);
+#define LM_5		lmg %r2,%r5,16+160(%r15);
+#define LM_6		lmg %r2,%r5,16+160(%r15); \
+			cfi_offset (%r7, -104); \
+			lg %r7,160+160(%r15);
+
+#define LR7_0		/* Nothing */
+#define LR7_1		/* Nothing */
+#define LR7_2		/* Nothing */
+#define LR7_3		/* Nothing */
+#define LR7_4		/* Nothing */
+#define LR7_5		/* Nothing */
+#define LR7_6		lg %r7,56+160(%r15); \
+			cfi_restore (%r7);
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P \
+  __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   define SINGLE_THREAD_P \
+	larl	%r1,__local_multiple_threads;				      \
+	icm	%r0,15,0(%r1);
+#  endif
+
+# else
+
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				      \
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P \
+	ear	%r1,%a0;						      \
+	sllg	%r1,%r1,32;						      \
+	ear	%r1,%a1;						      \
+	icm	%r1,15,MULTIPLE_THREADS_OFFSET(%r1);
+#  endif
+
+# 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/s390/s390-64/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
new file mode 100644
index 0000000000..a08a2ff188
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
@@ -0,0 +1,75 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+
+
+/* The following code is only used in the shared library when we
+   compile the reentrant version.  Otherwise each system call defines
+   each own version.  */
+
+/* The syscall stubs jump here when they detect an error.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT
+
+.text
+ENTRY(__syscall_error)
+#ifndef PIC
+# if IS_IN (libc)
+#  define SYSCALL_ERROR_ERRNO __libc_errno
+# else
+#  define SYSCALL_ERROR_ERRNO errno
+# endif
+	basr	%r1,0
+0:	lg	%r1,1f-0b(%r1)
+	ear	%r3,%a0
+	sllg	%r3,%r3,32
+	ear	%r3,%a1
+	lcr	%r2,%r2
+	st	%r2,0(%r1,%r3)
+	lghi	%r2,-1
+	br	%r14
+1:	.quad	SYSCALL_ERROR_ERRNO@ntpoff
+#else
+# if RTLD_PRIVATE_ERRNO
+	larl	%r1,rtld_errno
+	lcr	%r2,%r2
+	st	%r2,0(%r1)
+	lghi	%r2,-1
+	br	%r14
+# else
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+	larl	%r1,_GLOBAL_OFFSET_TABLE_
+	lg	%r1,SYSCALL_ERROR_ERRNO@gotntpoff(%r1)
+	ear	%r3,%a0
+	sllg	%r3,%r3,32
+	ear	%r3,%a1
+	lcr	%r2,%r2
+	st	%r2,0(%r1,%r3)
+	lghi	%r2,-1
+	br	%r14
+# endif
+#endif
+
+END (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
new file mode 100644
index 0000000000..e22d9b6b13
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
@@ -0,0 +1,345 @@
+/* Assembler macros for 64 bit S/390.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_S390_SYSDEP_H
+#define _LINUX_S390_SYSDEP_H
+
+#include <sysdeps/s390/s390-64/sysdep.h>
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <dl-sysdep.h>	/* For RTLD_PRIVATE_ERRNO.  */
+#include <tls.h>
+
+/* Define __set_errno() for INLINE_SYSCALL macro below.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+/* In newer 2.1 kernels __NR_syscall is missing so we define it here.  */
+#define __NR_syscall 0
+
+/*
+ * Newer kernel versions redefined __NR_pread and __NR_pwrite to
+ * __NR_pread64 and __NR_pwrite64.
+ */
+#ifndef __NR_pread
+# define __NR_pread __NR_pread64
+#endif
+#ifndef __NR_pwrite
+# define __NR_pwrite __NR_pwrite64
+#endif
+
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors, unlike
+   most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be negative
+   even if the call succeeded.	E.g., the `lseek' system call might return
+   a large offset.  Therefore we must not anymore test for < 0, but test
+   for a real error by making sure the value in gpr2 is a real error
+   number.  Linus said he will make sure that no syscall returns a value
+   in -1 .. -4095 as a valid result so we can savely test with -4095.  */
+
+#undef PSEUDO
+#define	PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    lghi %r4,-4095 ;							      \
+    clgr %r2,%r4 ;							      \
+    jgnl SYSCALL_ERROR_LABEL
+
+#undef PSEUDO_END
+#define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER;						      \
+  END (name)
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args)
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name)					      \
+  SYSCALL_ERROR_HANDLER;						      \
+  END (name)
+
+#undef PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    lcgr %r2,%r2
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name)						      \
+  SYSCALL_ERROR_HANDLER;						      \
+  END (name)
+
+#ifndef PIC
+# define SYSCALL_ERROR_LABEL syscall_error
+# define SYSCALL_ERROR_HANDLER
+#else
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  larl  %r1,rtld_errno;						      \
+    lcr   %r2,%r2;							      \
+    st    %r2,0(%r1);							      \
+    lghi  %r2,-1;							      \
+    br    %r14
+# elif defined _LIBC_REENTRANT
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  lcr   %r0,%r2;							      \
+    larl  %r1,SYSCALL_ERROR_ERRNO@indntpoff;				      \
+    lg    %r1,0(%r1);							      \
+    ear   %r2,%a0;							      \
+    sllg  %r2,%r2,32;							      \
+    ear   %r2,%a1;							      \
+    st    %r0,0(%r1,%r2);						      \
+    lghi   %r2,-1;							      \
+    br    %r14
+# else
+#  define SYSCALL_ERROR_LABEL 0f
+#  define SYSCALL_ERROR_HANDLER \
+0:  larl  %r1,_GLOBAL_OFFSET_TABLE_;					      \
+    lg    %r1,errno@GOT(%r1);						      \
+    lcr   %r2,%r2;							      \
+    st    %r2,0(%r1);							      \
+    lghi  %r2,-1;							      \
+    br    %r14
+# endif /* _LIBC_REENTRANT */
+#endif /* PIC */
+
+/* Linux takes system call arguments in registers:
+
+	syscall number	1	     call-clobbered
+	arg 1		2	     call-clobbered
+	arg 2		3	     call-clobbered
+	arg 3		4	     call-clobbered
+	arg 4		5	     call-clobbered
+	arg 5		6	     call-saved
+	arg 6		7	     call-saved
+
+   (Of course a function with say 3 arguments does not have entries for
+   arguments 4 and 5.)
+   For system calls with 6 parameters a stack operation is required
+   to load the 6th parameter to register 7. Call saved register 7 is
+   moved to register 0 and back to avoid an additional stack frame.
+ */
+
+#define DO_CALL(syscall, args)						      \
+  .if args > 5;								      \
+    lgr %r0,%r7;							      \
+    lg %r7,160(%r15);							      \
+  .endif;								      \
+  .if SYS_ify (syscall) < 256;						      \
+    svc SYS_ify (syscall);						      \
+  .else;								      \
+    lghi %r1,SYS_ify (syscall);						      \
+    svc 0;								      \
+  .endif;								      \
+  .if args > 5;								      \
+    lgr %r7,%r0;							      \
+  .endif
+
+#define ret								      \
+    br	    14
+
+#define ret_NOERRNO							      \
+    br	    14
+
+#define ret_ERRVAL							      \
+    br	    14
+
+#endif /* __ASSEMBLER__ */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...)				      \
+  ({									      \
+    long _ret = INTERNAL_SYSCALL (name, , nr, args);			      \
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (_ret, )))		      \
+     {									      \
+       __set_errno (INTERNAL_SYSCALL_ERRNO (_ret, ));			      \
+       _ret = -1;							      \
+     }									      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#undef INTERNAL_SYSCALL_DIRECT
+#define INTERNAL_SYSCALL_DIRECT(name, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register long _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    %b1\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "i" (__NR_##name) ASMFMT_##nr		      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL_SVC0
+#define INTERNAL_SYSCALL_SVC0(name, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register unsigned long _nr __asm__("1") = (unsigned long)(__NR_##name);   \
+    register long _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    0\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "d" (_nr) ASMFMT_##nr			      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(no, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register unsigned long _nr __asm__("1") = (unsigned long)(no);	      \
+    register long _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "svc    0\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "d" (_nr) ASMFMT_##nr			      \
+			  : "memory" );					      \
+    _ret; })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)			      \
+  (((__NR_##name) < 256) ?						      \
+    INTERNAL_SYSCALL_DIRECT(name, err, nr, args) :			      \
+    INTERNAL_SYSCALL_SVC0(name, err,nr, args))
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err)				      \
+  ((unsigned long) (val) >= -4095UL)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+#define DECLARGS_0()
+#define DECLARGS_1(arg1) \
+	register unsigned long gpr2 __asm__ ("2") = (unsigned long)(arg1);
+#define DECLARGS_2(arg1, arg2) \
+	DECLARGS_1(arg1) \
+	register unsigned long gpr3 __asm__ ("3") = (unsigned long)(arg2);
+#define DECLARGS_3(arg1, arg2, arg3) \
+	DECLARGS_2(arg1, arg2) \
+	register unsigned long gpr4 __asm__ ("4") = (unsigned long)(arg3);
+#define DECLARGS_4(arg1, arg2, arg3, arg4) \
+	DECLARGS_3(arg1, arg2, arg3) \
+	register unsigned long gpr5 __asm__ ("5") = (unsigned long)(arg4);
+#define DECLARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	DECLARGS_4(arg1, arg2, arg3, arg4) \
+	register unsigned long gpr6 __asm__ ("6") = (unsigned long)(arg5);
+#define DECLARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \
+	DECLARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	register unsigned long gpr7 __asm__ ("7") = (unsigned long)(arg6);
+
+#define ASMFMT_0
+#define ASMFMT_1 , "0" (gpr2)
+#define ASMFMT_2 , "0" (gpr2), "d" (gpr3)
+#define ASMFMT_3 , "0" (gpr2), "d" (gpr3), "d" (gpr4)
+#define ASMFMT_4 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
+#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
+#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)
+
+#define CLOBBER_0 , "3", "4", "5"
+#define CLOBBER_1 , "3", "4", "5"
+#define CLOBBER_2 , "4", "5"
+#define CLOBBER_3 , "5"
+#define CLOBBER_4
+#define CLOBBER_5
+#define CLOBBER_6
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETRES_VSYSCALL	1
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+#define HAVE_GETCPU_VSYSCALL		1
+
+/* This version is for internal uses when there is no desire
+   to set errno */
+#define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, nr, args...)	      \
+  ({									      \
+    long int _ret = ENOSYS;						      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      _ret = INTERNAL_VSYSCALL_CALL (vdsop, err, nr, ##args);		      \
+    else								      \
+      err = 1 << 28;							      \
+    _ret;								      \
+  })
+
+#define INTERNAL_VSYSCALL_CALL(fn, err, nr, args...)			      \
+  ({									      \
+    DECLARGS_##nr(args)							      \
+    register long _ret __asm__("2");					      \
+    __asm__ __volatile__ (						      \
+			  "lgr 10,14\n\t"				      \
+			  "basr 14,%1\n\t"				      \
+			  "lgr 14,10\n\t"				      \
+			  : "=d" (_ret)					      \
+			  : "a" (fn) ASMFMT_##nr			      \
+			  : "cc", "memory", "0", "1", "10" CLOBBER_##nr);     \
+    _ret; })
+
+/* 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
+/* For the time being just use stack_guard rather than a separate
+   pointer_guard.  */
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+  ear     tmpreg,%a0;			\
+  sllg    tmpreg,tmpreg,32;		\
+  ear     tmpreg,%a1;			\
+  xg      reg,STACK_GUARD(tmpreg)
+#  define PTR_MANGLE2(reg, tmpreg) \
+  xg      reg,STACK_GUARD(tmpreg)
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)	PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* _LINUX_S390_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c
new file mode 100644
index 0000000000..d307135003
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_delete.c
new file mode 100644
index 0000000000..2dd94f5c7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_getoverr.c
new file mode 100644
index 0000000000..22eaff5cda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_gettime.c
new file mode 100644
index 0000000000..cea524bae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c
new file mode 100644
index 0000000000..fa231149d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/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/s390/s390-64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
new file mode 100644
index 0000000000..5f3c9c5028
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
@@ -0,0 +1,47 @@
+/* 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>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <bits/wordsize.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__libc_vfork)
+	/* Do vfork system call.  */
+	svc	SYS_ify (vfork)
+
+	/* Check for error.  */
+	lghi	%r4,-4095
+	clgr	%r2,%r4
+	jgnl	SYSCALL_ERROR_LABEL
+
+	/* Normal return.  */
+	br	%r14
+PSEUDO_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/s390/sa_len.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sa_len.c
new file mode 100644
index 0000000000..7b47aa8d67
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sa_len.c
@@ -0,0 +1,3 @@
+#define HAVE_NETIUCV_IUCV_H
+
+#include <sysdeps/unix/sysv/linux/sa_len.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/semtimedop.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/semtimedop.c
new file mode 100644
index 0000000000..6f4ca186b4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/semtimedop.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Perform user-defined atomical operation of array of semaphores.  */
+
+int
+semtimedop (int semid, struct sembuf *sops, size_t nsops,
+	    const struct timespec *timeout)
+{
+  /* The s390 sys_ipc variant has only five parameters instead of six
+     (as for default variant) and the only difference is the handling of
+     SEMTIMEDOP where on s390 the third parameter is used as a pointer
+     to a struct timespec where the generic variant uses fifth parameter.  */
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semtimedop, semid, nsops, timeout,
+			      sops);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
new file mode 100644
index 0000000000..90ead3f43c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   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>
+
+#define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
+#define GET_PC(ctx)	((void *)((ctx)->sregs->regs.psw.addr))
+#define GET_FRAME(ctx)	(*(void **)((ctx)->sregs->regs.gprs[11]))
+#define GET_STACK(ctx)	((void *)((ctx)->sregs->regs.gprs[15]))
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/elf.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/elf.h
new file mode 100644
index 0000000000..9a093ba273
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/elf.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ELF_H
+#define _SYS_ELF_H	1
+
+#warning "This header is obsolete; use <sys/procfs.h> instead."
+
+#include <sys/procfs.h>
+
+#endif	/* _SYS_ELF_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/procfs.h
new file mode 100644
index 0000000000..2445f110f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/procfs.h
@@ -0,0 +1,176 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+#include <sys/ucontext.h>
+
+__BEGIN_DECLS
+
+typedef greg_t elf_greg_t;
+#define ELF_NGREG NGREG
+typedef gregset_t elf_gregset_t;
+typedef fpreg_t   elf_fpreg_t;
+typedef fpregset_t elf_fpregset_t;
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+#if __WORDSIZE == 64
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+#else
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+#endif
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+#if __WORDSIZE == 64
+
+/* Provide 32-bit variants so that BFD can read 32-bit
+   core files.  */
+#define ELF_NGREG32	36
+typedef unsigned int elf_greg_t32;
+typedef elf_greg_t32
+  elf_gregset_t32[ELF_NGREG32] __attribute__ ((__aligned__ (8)));
+typedef elf_fpregset_t elf_fpregset_t32;
+
+struct elf_prstatus32
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned int pr_sigpend;	/* Set of pending signals.  */
+    unsigned int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct
+      {
+	int tv_sec, tv_usec;
+      } pr_utime,			/* User time.  */
+        pr_stime,			/* System time.  */
+        pr_cutime,			/* Cumulative user time.  */
+        pr_cstime;			/* Cumulative system time.  */
+    elf_gregset_t32 pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+struct elf_prpsinfo32
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+typedef elf_gregset_t32 prgregset32_t;
+typedef elf_fpregset_t32 prfpregset32_t;
+
+typedef struct elf_prstatus32 prstatus32_t;
+typedef struct elf_prpsinfo32 prpsinfo32_t;
+
+#endif
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
new file mode 100644
index 0000000000..7caf1015b2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
@@ -0,0 +1,238 @@
+/* `ptrace' debugger support interface.  Linux version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+#ifdef _LINUX_PTRACE_H
+/* Kludge to stop stuff gdb & strace compiles from getting upset
+ */
+#undef PTRACE_TRACEME
+#undef PTRACE_PEEKTEXT
+#undef PTRACE_PEEKDATA
+#undef PTRACE_PEEKUSR
+#undef PTRACE_POKETEXT
+#undef PTRACE_POKEDATA
+#undef PTRACE_POKEUSR
+#undef PTRACE_CONT
+#undef PTRACE_KILL
+#undef PTRACE_SINGLESTEP
+
+#undef PTRACE_ATTACH
+#undef PTRACE_DETACH
+
+#undef PTRACE_SYSCALL
+#endif
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process.
+     This is not supported on all machines.  */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Get all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETREGS = 12,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETREGS = 13,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Get all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETFPREGS = 14,
+#define PT_GETFPREGS PTRACE_GETFPREGS
+
+  /* Set all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETFPREGS = 15,
+#define PT_SETFPREGS PTRACE_SETFPREGS
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
new file mode 100644
index 0000000000..183da5c8f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
@@ -0,0 +1,96 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Type for a program status word.  */
+typedef struct
+{
+  unsigned long __ctx(mask);
+  unsigned long __ctx(addr);
+} __attribute__ ((__aligned__(8))) __psw_t;
+
+/* Type for a general-purpose register.  */
+typedef unsigned long greg_t;
+
+/* And the whole bunch of them.  We should have used `struct s390_regs',
+   but to avoid name space pollution and since the tradition says that
+   the register set is an array, we make gregset_t a simple array
+   that has the same size as s390_regs.  This is needed for the
+   elf_prstatus structure.  */
+#if __WORDSIZE == 64
+# define __NGREG 27
+#else
+# define __NGREG 36
+#endif
+#ifdef __USE_MISC
+# define NGREG __NGREG
+#endif
+/* Must match kernels psw_t alignment.  */
+typedef greg_t gregset_t[__NGREG] __attribute__ ((__aligned__(8)));
+
+typedef union
+  {
+    double  __ctx(d);
+    float   __ctx(f);
+  } fpreg_t;
+
+/* Register set for the floating-point registers.  */
+typedef struct
+  {
+    unsigned int __ctx(fpc);
+    fpreg_t __ctx(fprs)[16];
+  } fpregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    __psw_t __ctx(psw);
+    unsigned long __ctx(gregs)[16];
+    unsigned int __ctx(aregs)[16];
+    fpregset_t __ctx(fpregs);
+  } mcontext_t;
+
+#undef __ctx
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/user.h
new file mode 100644
index 0000000000..8f8fcca59f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sys/user.h
@@ -0,0 +1,82 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct _user_psw_struct
+{
+  unsigned long mask;
+  unsigned long addr;
+};
+
+struct _user_fpregs_struct
+{
+  unsigned int fpc;
+  double fprs[16];
+};
+
+struct _user_per_struct
+{
+  unsigned long control_regs[3];
+  unsigned single_step       : 1;
+  unsigned instruction_fetch : 1;
+  unsigned                   : 30;
+  unsigned long starting_addr;
+  unsigned long ending_addr;
+  unsigned short perc_atmid;
+  unsigned long address;
+  unsigned char access_id;
+};
+
+struct _user_regs_struct
+{
+  struct _user_psw_struct psw;		/* Program status word.  */
+  unsigned long gprs[16];		/* General purpose registers.  */
+  unsigned int  acrs[16];		/* Access registers.  */
+  unsigned long orig_gpr2;		/* Original gpr2.  */
+  struct _user_fpregs_struct fp_regs;	/* Floating point registers.  */
+  struct _user_per_struct per_info;	/* Hardware tracing registers.  */
+  unsigned long ieee_instruction_pointer;	/* Always 0.  */
+};
+
+struct user {
+  struct _user_regs_struct regs;	/* User registers.  */
+  unsigned long int u_tsize;		/* Text segment size (pages).  */
+  unsigned long int u_dsize;		/* Data segment size (pages).  */
+  unsigned long int u_ssize;		/* Stack segment size (pages).  */
+  unsigned long start_code;		/* Starting address of text.  */
+  unsigned long start_stack;		/* Starting address of stack area.  */
+  long int signal;			/* Signal causing the core dump.  */
+  struct _user_regs_struct *u_ar0;	/* Help gdb find registers.  */
+  unsigned long magic;			/* Identifies a core file.  */
+  char u_comm[32];			/* User command naem.  */
+};
+
+#define PAGE_SHIFT		12
+#define PAGE_SIZE		(1UL << PAGE_SHIFT)
+#define PAGE_MASK		(~(PAGE_SIZE-1))
+#define NBPG			PAGE_SIZE
+#define UPAGES			1
+#define HOST_TEXT_START_ADDR	(u.start_code)
+#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
+
+#endif	/* _SYS_USER_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sysconf.c
new file mode 100644
index 0000000000..5d78fdd073
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/sysconf.c
@@ -0,0 +1,230 @@
+/* Get system parameters, e.g. cache information.  S390/S390x version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <dl-procinfo.h>
+
+static long int linux_sysconf (int name);
+
+/* Possible arguments for get_cache_info.
+   The values are reflecting the level/attribute/type indications
+   of ecag-instruction (extract cpu attribue).  */
+#define CACHE_LEVEL_MAX        8
+#define CACHE_ATTR_LINESIZE    1
+#define CACHE_ATTR_SIZE        2
+#define CACHE_ATTR_ASSOC       3
+#define CACHE_TYPE_DATA        0
+#define CACHE_TYPE_INSTRUCTION 1
+
+static long
+get_cache_info (int level, int attr, int type)
+{
+  unsigned long int val;
+  unsigned int cmd;
+  unsigned long int arg;
+
+  /* Check arguments.  */
+  if (level < 1 || level > CACHE_LEVEL_MAX
+      || attr < CACHE_ATTR_LINESIZE || attr > CACHE_ATTR_ASSOC
+      || type < CACHE_TYPE_DATA || type > CACHE_TYPE_INSTRUCTION)
+    return 0L;
+
+  /* Check if ecag-instruction is available.
+     ecag - extract CPU attribute (only in zarch; arch >= z10; in as 2.24)  */
+  if (!(GLRO (dl_hwcap) & HWCAP_S390_STFLE)
+#if !defined __s390x__
+      || !(GLRO (dl_hwcap) & HWCAP_S390_ZARCH)
+      || !(GLRO (dl_hwcap) & HWCAP_S390_HIGH_GPRS)
+#endif /* !__s390x__ */
+      )
+    {
+      /* stfle (or zarch, high-gprs on s390-32) is not available.
+	 We are on an old machine. Return 256byte for LINESIZE for L1 d/i-cache,
+	 otherwise 0.  */
+      if (level == 1 && attr == CACHE_ATTR_LINESIZE)
+	return 256L;
+      else
+	return 0L;
+    }
+
+  /* Store facility list and check for z10.
+     (see ifunc-resolver for details)  */
+  register unsigned long reg0 __asm__("0") = 0;
+#ifdef __s390x__
+  unsigned long stfle_bits;
+# define STFLE_Z10_MASK (1UL << (63 - 34))
+#else
+  unsigned long long stfle_bits;
+# define STFLE_Z10_MASK (1ULL << (63 - 34))
+#endif /* !__s390x__ */
+  __asm__ __volatile__(".machine push"        "\n\t"
+		       ".machinemode \"zarch_nohighgprs\"\n\t"
+		       ".machine \"z9-109\""  "\n\t"
+		       "stfle %0"             "\n\t"
+		       ".machine pop"         "\n"
+		       : "=QS" (stfle_bits), "+d" (reg0)
+		       : : "cc");
+
+  if (!(stfle_bits & STFLE_Z10_MASK))
+    {
+      /* We are at least on a z9 machine.
+	 Return 256byte for LINESIZE for L1 d/i-cache,
+	 otherwise 0.  */
+      if (level == 1 && attr == CACHE_ATTR_LINESIZE)
+	return 256L;
+      else
+	return 0L;
+    }
+
+  /* Check cache topology, if cache is available at this level.  */
+  arg = (CACHE_LEVEL_MAX - level) * 8;
+  __asm__ __volatile__ (".machine push\n\t"
+			".machine \"z10\"\n\t"
+			".machinemode \"zarch_nohighgprs\"\n\t"
+			"ecag %0,%%r0,0\n\t"   /* returns 64bit unsigned integer.  */
+			"srlg %0,%0,0(%1)\n\t" /* right align 8bit cache info field.  */
+			".machine pop"
+			: "=&d" (val)
+			: "a" (arg)
+			);
+  val &= 0xCUL; /* Extract cache scope information from cache topology summary.
+		   (bits 4-5 of 8bit-field; 00 means cache does not exist).  */
+  if (val == 0)
+    return 0L;
+
+  /* Get cache information for level, attribute and type.  */
+  cmd = (attr << 4) | ((level - 1) << 1) | type;
+  __asm__ __volatile__ (".machine push\n\t"
+			".machine \"z10\"\n\t"
+			".machinemode \"zarch_nohighgprs\"\n\t"
+			"ecag %0,%%r0,0(%1)\n\t"
+			".machine pop"
+			: "=d" (val)
+			: "a" (cmd)
+			);
+  return val;
+}
+
+long int
+__sysconf (int name)
+{
+  if (name >= _SC_LEVEL1_ICACHE_SIZE && name <= _SC_LEVEL4_CACHE_LINESIZE)
+    {
+      int level;
+      int attr;
+      int type;
+
+      switch (name)
+	{
+	case _SC_LEVEL1_ICACHE_SIZE:
+	  level = 1;
+	  attr = CACHE_ATTR_SIZE;
+	  type = CACHE_TYPE_INSTRUCTION;
+	  break;
+	case _SC_LEVEL1_ICACHE_ASSOC:
+	  level = 1;
+	  attr = CACHE_ATTR_ASSOC;
+	  type = CACHE_TYPE_INSTRUCTION;
+	  break;
+	case _SC_LEVEL1_ICACHE_LINESIZE:
+	  level = 1;
+	  attr = CACHE_ATTR_LINESIZE;
+	  type = CACHE_TYPE_INSTRUCTION;
+	  break;
+
+	case _SC_LEVEL1_DCACHE_SIZE:
+	  level = 1;
+	  attr = CACHE_ATTR_SIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL1_DCACHE_ASSOC:
+	  level = 1;
+	  attr = CACHE_ATTR_ASSOC;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL1_DCACHE_LINESIZE:
+	  level = 1;
+	  attr = CACHE_ATTR_LINESIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+
+	case _SC_LEVEL2_CACHE_SIZE:
+	  level = 2;
+	  attr = CACHE_ATTR_SIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL2_CACHE_ASSOC:
+	  level = 2;
+	  attr = CACHE_ATTR_ASSOC;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL2_CACHE_LINESIZE:
+	  level = 2;
+	  attr = CACHE_ATTR_LINESIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+
+	case _SC_LEVEL3_CACHE_SIZE:
+	  level = 3;
+	  attr = CACHE_ATTR_SIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL3_CACHE_ASSOC:
+	  level = 3;
+	  attr = CACHE_ATTR_ASSOC;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL3_CACHE_LINESIZE:
+	  level = 3;
+	  attr = CACHE_ATTR_LINESIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+
+	case _SC_LEVEL4_CACHE_SIZE:
+	  level = 4;
+	  attr = CACHE_ATTR_SIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL4_CACHE_ASSOC:
+	  level = 4;
+	  attr = CACHE_ATTR_ASSOC;
+	  type = CACHE_TYPE_DATA;
+	  break;
+	case _SC_LEVEL4_CACHE_LINESIZE:
+	  level = 4;
+	  attr = CACHE_ATTR_LINESIZE;
+	  type = CACHE_TYPE_DATA;
+	  break;
+
+	default:
+	  level = 0;
+	  attr = 0;
+	  type = 0;
+	  break;
+	}
+
+      return get_cache_info (level, attr, type);
+    }
+
+  return linux_sysconf (name);
+}
+
+/* Now the generic Linux version.  */
+#undef __sysconf
+#define __sysconf static linux_sysconf
+#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/system.c b/REORG.TODO/sysdeps/unix/sysv/linux/s390/system.c
new file mode 100644
index 0000000000..da90073a9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/system.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* We have to and actually can handle cancelable system().  The big
+   problem: we have to kill the child process if necessary.  To do
+   this a cleanup handler has to be registered and is has to be able
+   to find the PID of the child.  The main problem is to reliable have
+   the PID when needed.  It is not necessary for the parent thread to
+   return.  It might still be in the kernel when the cancellation
+   request comes.  Therefore we have to use the clone() calls ability
+   to have the kernel write the PID into the user-level variable.  */
+#define FORK() \
+  INLINE_SYSCALL (clone, 3, 0, CLONE_PARENT_SETTID | SIGCHLD, &pid)
+
+#include "../system.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/s390/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ucontext_i.sym
new file mode 100644
index 0000000000..6cc9f19624
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/s390/ucontext_i.sym
@@ -0,0 +1,25 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_UNBLOCK
+SIG_SETMASK
+
+_NSIG8          (_NSIG / 8)
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+SC_FLGS		ucontext (uc_flags)
+SC_LINK		ucontext (uc_link)
+SC_STCK		ucontext (uc_stack.ss_sp)
+SC_STSZ		ucontext (uc_stack.ss_size)
+SC_PSW		mcontext (psw)
+SC_GPRS		mcontext (gregs)
+SC_ACRS		mcontext (aregs)
+SC_FPC		mcontext (fpregs.fpc)
+SC_FPRS		mcontext (fpregs.fprs)
+SC_MASK		ucontext (uc_sigmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sa_len.c b/REORG.TODO/sysdeps/unix/sysv/linux/sa_len.c
new file mode 100644
index 0000000000..0e657fa094
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sa_len.c
@@ -0,0 +1,9 @@
+#define HAVE_NETASH_ASH_H
+#define HAVE_NETATALK_AT_H
+#define HAVE_NETAX25_AX25_H
+#define HAVE_NETECONET_EC_H
+#define HAVE_NETIPX_IPX_H
+#define HAVE_NETPACKET_PACKET_H
+#define HAVE_NETROSE_ROSE_H
+
+#include <socket/sa_len.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/safe-fatal.h b/REORG.TODO/sysdeps/unix/sysv/linux/safe-fatal.h
new file mode 100644
index 0000000000..0bd759bd15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/safe-fatal.h
@@ -0,0 +1,33 @@
+/* Crash the process immediately, without possibility of deadlock.  Linux.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SAFE_FATAL_H
+#define _SAFE_FATAL_H   1
+
+#include <sysdep.h>
+#include <unistd.h>
+
+static inline void
+__safe_fatal (void)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  pid_t self = INTERNAL_SYSCALL (getpid, err, 0);
+  INTERNAL_SYSCALL (kill, err, 2, self, SIGKILL);
+}
+
+#endif  /* safe-fatal.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sched_getaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/sched_getaffinity.c
new file mode 100644
index 0000000000..d531d0a79f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sched_getaffinity.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sched.h>
+#include <string.h>
+#include <sysdep.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+
+#ifdef __NR_sched_getaffinity
+# if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+extern int __sched_getaffinity_new (pid_t, size_t, cpu_set_t *);
+libc_hidden_proto (__sched_getaffinity_new)
+# endif
+
+int
+__sched_getaffinity_new (pid_t pid, size_t cpusetsize, cpu_set_t *cpuset)
+{
+  int res = INLINE_SYSCALL (sched_getaffinity, 3, pid,
+			    MIN (INT_MAX, cpusetsize), cpuset);
+  if (res != -1)
+    {
+      /* Clean the rest of the memory the kernel didn't do.  */
+      memset ((char *) cpuset + res, '\0', cpusetsize - res);
+
+      res = 0;
+    }
+  return res;
+}
+versioned_symbol (libc, __sched_getaffinity_new, sched_getaffinity,
+		  GLIBC_2_3_4);
+
+
+# if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+libc_hidden_def (__sched_getaffinity_new)
+
+int
+attribute_compat_text_section
+__sched_getaffinity_old (pid_t pid, cpu_set_t *cpuset)
+{
+  /* The old interface by default assumed a 1024 processor bitmap.  */
+  return __sched_getaffinity_new (pid, 128, cpuset);
+}
+compat_symbol (libc, __sched_getaffinity_old, sched_getaffinity, GLIBC_2_3_3);
+# endif
+#else
+# include <posix/sched_getaffinity.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sched_getcpu.c b/REORG.TODO/sysdeps/unix/sysv/linux/sched_getcpu.c
new file mode 100644
index 0000000000..58ac60b7a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sched_getcpu.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sched.h>
+#include <sysdep.h>
+
+#ifdef HAVE_GETCPU_VSYSCALL
+# define HAVE_VSYSCALL
+#endif
+#include <sysdep-vdso.h>
+
+int
+sched_getcpu (void)
+{
+#ifdef __NR_getcpu
+  unsigned int cpu;
+  int r = INLINE_VSYSCALL (getcpu, 3, &cpu, NULL, NULL);
+
+  return r == -1 ? r : cpu;
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sched_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/sched_setaffinity.c
new file mode 100644
index 0000000000..8854e72c67
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sched_setaffinity.c
@@ -0,0 +1,57 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sched.h>
+#include <string.h>
+#include <sysdep.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+
+#ifdef __NR_sched_setaffinity
+
+int
+__sched_setaffinity_new (pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset)
+{
+  int result = INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset);
+
+#ifdef RESET_VGETCPU_CACHE
+  if (result != -1)
+    RESET_VGETCPU_CACHE ();
+#endif
+
+  return result;
+}
+versioned_symbol (libc, __sched_setaffinity_new, sched_setaffinity,
+		  GLIBC_2_3_4);
+
+
+# if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+int
+attribute_compat_text_section
+__sched_setaffinity_old (pid_t pid, const cpu_set_t *cpuset)
+{
+  /* The old interface by default assumed a 1024 processor bitmap.  */
+  return __sched_setaffinity_new (pid, 128, cpuset);
+}
+compat_symbol (libc, __sched_setaffinity_old, sched_setaffinity, GLIBC_2_3_3);
+# endif
+#else
+# include <posix/sched_setaffinity.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi.h b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi.h
new file mode 100644
index 0000000000..630834a26e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi.h
@@ -0,0 +1,225 @@
+/* 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/>.  */
+
+/*
+ * This header file contains public constants and structures used by
+ * the scsi code for linux.
+ */
+
+#ifndef _SCSI_SCSI_H
+#define _SCSI_SCSI_H	1
+
+#include <features.h>
+
+/*
+ *      SCSI opcodes
+ */
+
+#define TEST_UNIT_READY       0x00
+#define REZERO_UNIT           0x01
+#define REQUEST_SENSE         0x03
+#define FORMAT_UNIT           0x04
+#define READ_BLOCK_LIMITS     0x05
+#define REASSIGN_BLOCKS       0x07
+#define READ_6                0x08
+#define WRITE_6               0x0a
+#define SEEK_6                0x0b
+#define READ_REVERSE          0x0f
+#define WRITE_FILEMARKS       0x10
+#define SPACE                 0x11
+#define INQUIRY               0x12
+#define RECOVER_BUFFERED_DATA 0x14
+#define MODE_SELECT           0x15
+#define RESERVE               0x16
+#define RELEASE               0x17
+#define COPY                  0x18
+#define ERASE                 0x19
+#define MODE_SENSE            0x1a
+#define START_STOP            0x1b
+#define RECEIVE_DIAGNOSTIC    0x1c
+#define SEND_DIAGNOSTIC       0x1d
+#define ALLOW_MEDIUM_REMOVAL  0x1e
+
+#define SET_WINDOW            0x24
+#define READ_CAPACITY         0x25
+#define READ_10               0x28
+#define WRITE_10              0x2a
+#define SEEK_10               0x2b
+#define WRITE_VERIFY          0x2e
+#define VERIFY                0x2f
+#define SEARCH_HIGH           0x30
+#define SEARCH_EQUAL          0x31
+#define SEARCH_LOW            0x32
+#define SET_LIMITS            0x33
+#define PRE_FETCH             0x34
+#define READ_POSITION         0x34
+#define SYNCHRONIZE_CACHE     0x35
+#define LOCK_UNLOCK_CACHE     0x36
+#define READ_DEFECT_DATA      0x37
+#define MEDIUM_SCAN           0x38
+#define COMPARE               0x39
+#define COPY_VERIFY           0x3a
+#define WRITE_BUFFER          0x3b
+#define READ_BUFFER           0x3c
+#define UPDATE_BLOCK          0x3d
+#define READ_LONG             0x3e
+#define WRITE_LONG            0x3f
+#define CHANGE_DEFINITION     0x40
+#define WRITE_SAME            0x41
+#define READ_TOC              0x43
+#define LOG_SELECT            0x4c
+#define LOG_SENSE             0x4d
+#define MODE_SELECT_10        0x55
+#define RESERVE_10            0x56
+#define RELEASE_10            0x57
+#define MODE_SENSE_10         0x5a
+#define PERSISTENT_RESERVE_IN 0x5e
+#define PERSISTENT_RESERVE_OUT 0x5f
+#define MOVE_MEDIUM           0xa5
+#define READ_12               0xa8
+#define WRITE_12              0xaa
+#define WRITE_VERIFY_12       0xae
+#define SEARCH_HIGH_12        0xb0
+#define SEARCH_EQUAL_12       0xb1
+#define SEARCH_LOW_12         0xb2
+#define READ_ELEMENT_STATUS   0xb8
+#define SEND_VOLUME_TAG       0xb6
+#define WRITE_LONG_2          0xea
+
+/*
+ *  Status codes
+ */
+
+#define GOOD                 0x00
+#define CHECK_CONDITION      0x01
+#define CONDITION_GOOD       0x02
+#define BUSY                 0x04
+#define INTERMEDIATE_GOOD    0x08
+#define INTERMEDIATE_C_GOOD  0x0a
+#define RESERVATION_CONFLICT 0x0c
+#define COMMAND_TERMINATED   0x11
+#define QUEUE_FULL           0x14
+
+#define STATUS_MASK          0x3e
+
+/*
+ *  SENSE KEYS
+ */
+
+#define NO_SENSE            0x00
+#define RECOVERED_ERROR     0x01
+#define NOT_READY           0x02
+#define MEDIUM_ERROR        0x03
+#define HARDWARE_ERROR      0x04
+#define ILLEGAL_REQUEST     0x05
+#define UNIT_ATTENTION      0x06
+#define DATA_PROTECT        0x07
+#define BLANK_CHECK         0x08
+#define COPY_ABORTED        0x0a
+#define ABORTED_COMMAND     0x0b
+#define VOLUME_OVERFLOW     0x0d
+#define MISCOMPARE          0x0e
+
+
+/*
+ *  DEVICE TYPES
+ */
+
+#define TYPE_DISK           0x00
+#define TYPE_TAPE           0x01
+#define TYPE_PROCESSOR      0x03    /* HP scanners use this */
+#define TYPE_WORM           0x04    /* Treated as ROM by our system */
+#define TYPE_ROM            0x05
+#define TYPE_SCANNER        0x06
+#define TYPE_MOD            0x07    /* Magneto-optical disk -
+				     * - treated as TYPE_DISK */
+#define TYPE_MEDIUM_CHANGER 0x08
+#define TYPE_ENCLOSURE	    0x0d    /* Enclosure Services Device */
+#define TYPE_NO_LUN         0x7f
+
+/*
+ * standard mode-select header prepended to all mode-select commands
+ *
+ * moved here from cdrom.h -- kraxel
+ */
+
+struct ccs_modesel_head
+  {
+    unsigned char _r1;			/* reserved.  */
+    unsigned char medium;		/* device-specific medium type.  */
+    unsigned char _r2;			/* reserved.  */
+    unsigned char block_desc_length;	/* block descriptor length.  */
+    unsigned char density;		/* device-specific density code.  */
+    unsigned char number_blocks_hi;	/* number of blocks in this block
+					   desc.  */
+    unsigned char number_blocks_med;
+    unsigned char number_blocks_lo;
+    unsigned char _r3;
+    unsigned char block_length_hi;	/* block length for blocks in this
+					   desc.  */
+    unsigned char block_length_med;
+    unsigned char block_length_lo;
+  };
+
+/*
+ *  MESSAGE CODES
+ */
+
+#define COMMAND_COMPLETE    0x00
+#define EXTENDED_MESSAGE    0x01
+#define     EXTENDED_MODIFY_DATA_POINTER    0x00
+#define     EXTENDED_SDTR                   0x01
+#define     EXTENDED_EXTENDED_IDENTIFY      0x02    /* SCSI-I only */
+#define     EXTENDED_WDTR                   0x03
+#define SAVE_POINTERS       0x02
+#define RESTORE_POINTERS    0x03
+#define DISCONNECT          0x04
+#define INITIATOR_ERROR     0x05
+#define ABORT               0x06
+#define MESSAGE_REJECT      0x07
+#define NOP                 0x08
+#define MSG_PARITY_ERROR    0x09
+#define LINKED_CMD_COMPLETE 0x0a
+#define LINKED_FLG_CMD_COMPLETE 0x0b
+#define BUS_DEVICE_RESET    0x0c
+
+#define INITIATE_RECOVERY   0x0f            /* SCSI-II only */
+#define RELEASE_RECOVERY    0x10            /* SCSI-II only */
+
+#define SIMPLE_QUEUE_TAG    0x20
+#define HEAD_OF_QUEUE_TAG   0x21
+#define ORDERED_QUEUE_TAG   0x22
+
+/*
+ * Here are some scsi specific ioctl commands which are sometimes useful.
+ */
+/* These are a few other constants only used by scsi devices.  */
+
+#define SCSI_IOCTL_GET_IDLUN 0x5382
+
+/* Used to turn on and off tagged queuing for scsi devices.  */
+
+#define SCSI_IOCTL_TAGGED_ENABLE 0x5383
+#define SCSI_IOCTL_TAGGED_DISABLE 0x5384
+
+/* Used to obtain the host number of a device.  */
+#define SCSI_IOCTL_PROBE_HOST 0x5385
+
+/* Used to get the bus number for a device.  */
+#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
+
+#endif /* scsi/scsi.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h
new file mode 100644
index 0000000000..a746898c2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h
@@ -0,0 +1,31 @@
+/* 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/>.  */
+
+#ifndef _SCSI_IOCTL_H
+#define _SCSI_IOCTL_H
+
+/* IOCTLs for SCSI.  */
+#define SCSI_IOCTL_SEND_COMMAND		1	/* Send a command to the SCSI host.  */
+#define SCSI_IOCTL_TEST_UNIT_READY	2	/* Test if unit is ready.  */
+#define SCSI_IOCTL_BENCHMARK_COMMAND	3
+#define SCSI_IOCTL_SYNC			4	/* Request synchronous parameters.  */
+#define SCSI_IOCTL_START_UNIT		5
+#define SCSI_IOCTL_STOP_UNIT		6
+#define SCSI_IOCTL_DOORLOCK		0x5380	/* Lock the eject mechanism.  */
+#define SCSI_IOCTL_DOORUNLOCK		0x5381	/* Unlock the mechanism.  */
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/scsi/sg.h b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/sg.h
new file mode 100644
index 0000000000..04bbdafc74
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/scsi/sg.h
@@ -0,0 +1,276 @@
+/* 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/>.  */
+
+/*
+   History:
+    Started: Aug 9 by Lawrence Foard (entropy@world.std.com), to allow user
+     process control of SCSI devices.
+    Development Sponsored by Killy Corp. NY NY
+*/
+
+#ifndef _SCSI_SG_H
+#define _SCSI_SG_H	1
+
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+
+
+/* New interface introduced in the 3.x SG drivers follows */
+
+/* Same structure as used by readv() Linux system call. It defines one
+   scatter-gather element. */
+typedef struct sg_iovec
+{
+  void * iov_base;            /* Starting address  */
+  size_t iov_len;             /* Length in bytes  */
+} sg_iovec_t;
+
+
+typedef struct sg_io_hdr
+{
+  int interface_id;           /* [i] 'S' for SCSI generic (required) */
+  int dxfer_direction;        /* [i] data transfer direction  */
+  unsigned char cmd_len;      /* [i] SCSI command length ( <= 16 bytes) */
+  unsigned char mx_sb_len;    /* [i] max length to write to sbp */
+  unsigned short int iovec_count; /* [i] 0 implies no scatter gather */
+  unsigned int dxfer_len;     /* [i] byte count of data transfer */
+  void * dxferp;              /* [i], [*io] points to data transfer memory
+				 or scatter gather list */
+  unsigned char * cmdp;       /* [i], [*i] points to command to perform */
+  unsigned char * sbp;        /* [i], [*o] points to sense_buffer memory */
+  unsigned int timeout;       /* [i] MAX_UINT->no timeout (unit: millisec) */
+  unsigned int flags;         /* [i] 0 -> default, see SG_FLAG... */
+  int pack_id;                /* [i->o] unused internally (normally) */
+  void * usr_ptr;             /* [i->o] unused internally */
+  unsigned char status;       /* [o] scsi status */
+  unsigned char masked_status;/* [o] shifted, masked scsi status */
+  unsigned char msg_status;   /* [o] messaging level data (optional) */
+  unsigned char sb_len_wr;    /* [o] byte count actually written to sbp */
+  unsigned short int host_status; /* [o] errors from host adapter */
+  unsigned short int driver_status;/* [o] errors from software driver */
+  int resid;                  /* [o] dxfer_len - actual_transferred */
+  unsigned int duration;      /* [o] time taken by cmd (unit: millisec) */
+  unsigned int info;          /* [o] auxiliary information */
+} sg_io_hdr_t;
+
+
+/* Use negative values to flag difference from original sg_header structure.  */
+#define SG_DXFER_NONE -1        /* e.g. a SCSI Test Unit Ready command */
+#define SG_DXFER_TO_DEV -2      /* e.g. a SCSI WRITE command */
+#define SG_DXFER_FROM_DEV -3    /* e.g. a SCSI READ command */
+#define SG_DXFER_TO_FROM_DEV -4 /* treated like SG_DXFER_FROM_DEV with the
+				   additional property than during indirect
+				   IO the user buffer is copied into the
+				   kernel buffers before the transfer */
+
+
+/* following flag values can be "or"-ed together */
+#define SG_FLAG_DIRECT_IO 1     /* default is indirect IO */
+#define SG_FLAG_LUN_INHIBIT 2   /* default is to put device's lun into */
+				/* the 2nd byte of SCSI command */
+#define SG_FLAG_NO_DXFER 0x10000 /* no transfer of kernel buffers to/from */
+				/* user space (debug indirect IO) */
+
+/* The following 'info' values are "or"-ed together.  */
+#define SG_INFO_OK_MASK	0x1
+#define SG_INFO_OK	0x0	/* no sense, host nor driver "noise" */
+#define SG_INFO_CHECK	0x1     /* something abnormal happened */
+
+#define SG_INFO_DIRECT_IO_MASK	0x6
+#define SG_INFO_INDIRECT_IO 	0x0	/* data xfer via kernel buffers (or no xfer) */
+#define SG_INFO_DIRECT_IO 	0x2	/* direct IO requested and performed */
+#define SG_INFO_MIXED_IO 	0x4	/* part direct, part indirect IO */
+
+
+/* Request information about a specific SG device, used by
+   SG_GET_SCSI_ID ioctl ().  */
+struct sg_scsi_id {
+  /* Host number as in "scsi<n>" where 'n' is one of 0, 1, 2 etc.  */
+  int host_no;
+  int channel;
+  /* SCSI id of target device.  */
+  int scsi_id;
+  int lun;
+  /* TYPE_... defined in <scsi/scsi.h>.  */
+  int scsi_type;
+  /* Host (adapter) maximum commands per lun.  */
+  short int h_cmd_per_lun;
+  /* Device (or adapter) maximum queue length.  */
+  short int d_queue_depth;
+  /* Unused, set to 0 for now.  */
+  int unused[2];
+};
+
+/* Used by SG_GET_REQUEST_TABLE ioctl().  */
+typedef struct sg_req_info {
+    char req_state;     /* 0 -> not used, 1 -> written, 2 -> ready to read */
+    char orphan;        /* 0 -> normal request, 1 -> from interruped SG_IO */
+    char sg_io_owned;   /* 0 -> complete with read(), 1 -> owned by SG_IO */
+    char problem;       /* 0 -> no problem detected, 1 -> error to report */
+    int pack_id;        /* pack_id associated with request */
+    void * usr_ptr;     /* user provided pointer (in new interface) */
+    unsigned int duration; /* millisecs elapsed since written (req_state==1)
+			      or request duration (req_state==2) */
+    int unused;
+} sg_req_info_t;
+
+
+/* IOCTLs: Those ioctls that are relevant to the SG 3.x drivers follow.
+ [Those that only apply to the SG 2.x drivers are at the end of the file.]
+ (_GET_s yield result via 'int *' 3rd argument unless otherwise indicated) */
+
+#define SG_EMULATED_HOST 0x2203 /* true for emulated host adapter (ATAPI) */
+
+/* Used to configure SCSI command transformation layer for ATAPI devices */
+/* Only supported by the ide-scsi driver */
+#define SG_SET_TRANSFORM 0x2204 /* N.B. 3rd arg is not pointer but value: */
+		      /* 3rd arg = 0 to disable transform, 1 to enable it */
+#define SG_GET_TRANSFORM 0x2205
+
+#define SG_SET_RESERVED_SIZE 0x2275  /* request a new reserved buffer size */
+#define SG_GET_RESERVED_SIZE 0x2272  /* actual size of reserved buffer */
+
+/* The following ioctl has a 'sg_scsi_id_t *' object as its 3rd argument. */
+#define SG_GET_SCSI_ID 0x2276   /* Yields fd's bus, chan, dev, lun + type */
+/* SCSI id information can also be obtained from SCSI_IOCTL_GET_IDLUN */
+
+/* Override host setting and always DMA using low memory ( <16MB on i386) */
+#define SG_SET_FORCE_LOW_DMA 0x2279  /* 0-> use adapter setting, 1-> force */
+#define SG_GET_LOW_DMA 0x227a   /* 0-> use all ram for dma; 1-> low dma ram */
+
+/* When SG_SET_FORCE_PACK_ID set to 1, pack_id is input to read() which
+   tries to fetch a packet with a matching pack_id, waits, or returns EAGAIN.
+   If pack_id is -1 then read oldest waiting. When ...FORCE_PACK_ID set to 0
+   then pack_id ignored by read() and oldest readable fetched. */
+#define SG_SET_FORCE_PACK_ID 0x227b
+#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1) */
+
+#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read() */
+
+/* Yields max scatter gather tablesize allowed by current host adapter */
+#define SG_GET_SG_TABLESIZE 0x227F  /* 0 implies can't do scatter gather */
+
+#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */
+
+/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */
+#define SG_SCSI_RESET 0x2284
+/* Associated values that can be given to SG_SCSI_RESET follow */
+#define SG_SCSI_RESET_NOTHING	0
+#define SG_SCSI_RESET_DEVICE	1
+#define SG_SCSI_RESET_BUS	2
+#define SG_SCSI_RESET_HOST	3
+
+/* synchronous SCSI command ioctl, (only in version 3 interface) */
+#define SG_IO 0x2285   /* similar effect as write() followed by read() */
+
+#define SG_GET_REQUEST_TABLE 0x2286   /* yields table of active requests */
+
+/* How to treat EINTR during SG_IO ioctl(), only in SG 3.x series */
+#define SG_SET_KEEP_ORPHAN 0x2287 /* 1 -> hold for read(), 0 -> drop (def) */
+#define SG_GET_KEEP_ORPHAN 0x2288
+
+
+#define SG_SCATTER_SZ (8 * 4096)  /* PAGE_SIZE not available to user */
+/* Largest size (in bytes) a single scatter-gather list element can have.
+   The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on
+   i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported
+   by adapter then this value is the largest data block that can be
+   read/written by a single scsi command. The user can find the value of
+   PAGE_SIZE by calling getpagesize() defined in unistd.h . */
+
+#define SG_DEFAULT_RETRIES 1
+
+/* Defaults, commented if they differ from original sg driver */
+#define SG_DEF_FORCE_LOW_DMA 0  /* was 1 -> memory below 16MB on i386 */
+#define SG_DEF_FORCE_PACK_ID 0
+#define SG_DEF_KEEP_ORPHAN 0
+#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ /* load time option */
+
+/* maximum outstanding requests, write() yields EDOM if exceeded */
+#define SG_MAX_QUEUE 16
+
+#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE    /* for backward compatibility */
+
+/* Alternate style type names, "..._t" variants preferred */
+typedef struct sg_io_hdr Sg_io_hdr;
+typedef struct sg_io_vec Sg_io_vec;
+typedef struct sg_scsi_id Sg_scsi_id;
+typedef struct sg_req_info Sg_req_info;
+
+
+/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
+/*   The older SG interface based on the 'sg_header' structure follows.   */
+/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
+
+#define SG_MAX_SENSE 16   /* this only applies to the sg_header interface */
+
+struct sg_header
+ {
+   /* Length of incoming packet (including header).  */
+   int pack_len;
+   /* Maximal length of expected reply.  */
+   int reply_len;
+   /* Id number of packet.  */
+   int pack_id;
+   /* 0==ok, otherwise error number.  */
+   int result;
+   /* Force 12 byte command length for group 6 & 7 commands.  */
+   unsigned int twelve_byte:1;
+   /* SCSI status from target.  */
+   unsigned int target_status:5;
+   /* Host status (see "DID" codes).  */
+   unsigned int host_status:8;
+   /* Driver status+suggestion.  */
+   unsigned int driver_status:8;
+   /* Unused.  */
+   unsigned int other_flags:10;
+   /* Output in 3 cases:
+      when target_status is CHECK_CONDITION or
+      when target_status is COMMAND_TERMINATED or
+      when (driver_status & DRIVER_SENSE) is true.  */
+   unsigned char sense_buffer[SG_MAX_SENSE];
+ };
+
+
+/* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t
+	   interface is used. They are kept for backward compatibility with
+	   the original and version 2 drivers. */
+
+#define SG_SET_TIMEOUT		0x2201	/* Set timeout; *(int *)arg==timeout.  */
+#define SG_GET_TIMEOUT		0x2202	/* Get timeout; return timeout.  */
+
+/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */
+#define SG_GET_COMMAND_Q	0x2270	/* Yields 0 (queuing off) or 1 (on).  */
+#define SG_SET_COMMAND_Q 	0x2271	/* Change queuing state with 0 or 1.  */
+
+/* Turn on error sense trace (1..8), dump this device to log/console (9)
+   or dump all sg device states ( >9 ) to log/console.  */
+#define SG_SET_DEBUG		0x227e	/* 0 -> turn off debug */
+
+#define SG_NEXT_CMD_LEN		0x2283	/* Override SCSI command length with given
+					   number on the next write() on this file
+					   descriptor.  */
+
+/* Defaults, commented if they differ from original sg driver */
+#define SG_DEFAULT_TIMEOUT (60*HZ) /* HZ == 'jiffies in 1 second' */
+#define SG_DEF_COMMAND_Q 0     /* command queuing is always on when
+				  the new interface is used */
+#define SG_DEF_UNDERRUN_FLAG 0
+
+
+#endif	/* scsi/sg.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/segfault.c b/REORG.TODO/sysdeps/unix/sysv/linux/segfault.c
new file mode 100644
index 0000000000..a417df9c41
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/segfault.c
@@ -0,0 +1,2 @@
+#define HAVE_PROC_SELF	1
+#include <debug/segfault.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/select.c b/REORG.TODO/sysdeps/unix/sysv/linux/select.c
new file mode 100644
index 0000000000..be4a456a51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/select.c
@@ -0,0 +1,71 @@
+/* Linux select implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/select.h>
+#include <errno.h>
+#include <sysdep-cancel.h>
+
+/* Check the first NFDS descriptors each in READFDS (if not NULL) for read
+   readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
+   (if not NULL) for exceptional conditions.  If TIMEOUT is not NULL, time out
+   after waiting the interval specified therein.  Returns the number of ready
+   descriptors, or -1 for errors.  */
+
+#ifdef __NR__newselect
+# undef __NR_select
+# define __NR_select __NR__newselect
+#endif
+
+int
+__select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+	  struct timeval *timeout)
+{
+#ifdef __NR_select
+  return SYSCALL_CANCEL (select, nfds, readfds, writefds, exceptfds,
+			 timeout);
+#else
+  int result;
+  struct timespec ts, *tsp = NULL;
+
+  if (timeout)
+    {
+      TIMEVAL_TO_TIMESPEC (timeout, &ts);
+      tsp = &ts;
+    }
+
+  result = SYSCALL_CANCEL (pselect6, nfds, readfds, writefds, exceptfds, tsp,
+			   NULL);
+
+  if (timeout)
+    {
+      /* Linux by default will update the timeout after a pselect6 syscall
+         (though the pselect() glibc call suppresses this behavior).
+         Since select() on Linux has the same behavior as the pselect6
+         syscall, we update the timeout here.  */
+      TIMESPEC_TO_TIMEVAL (timeout, &ts);
+    }
+
+  return result;
+#endif
+}
+libc_hidden_def (__select)
+
+weak_alias (__select, select)
+weak_alias (__select, __libc_select)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/semctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/semctl.c
new file mode 100644
index 0000000000..b4bd7d3ca7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/semctl.c
@@ -0,0 +1,109 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sem.h>
+#include <stdarg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <shlib-compat.h>
+#include <errno.h>
+
+/* Define a `union semun' suitable for Linux here.  */
+union semun
+{
+  int val;			/* value for SETVAL */
+  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */
+  unsigned short int *array;	/* array for GETALL & SETALL */
+  struct seminfo *__buf;	/* buffer for IPC_INFO */
+};
+
+#ifndef DEFAULT_VERSION
+# define DEFAULT_VERSION GLIBC_2_2
+#endif
+
+int
+__new_semctl (int semid, int semnum, int cmd, ...)
+{
+  union semun arg = { 0 };
+  va_list ap;
+
+  /* Get the argument only if required.  */
+  switch (cmd)
+    {
+    case SETVAL:        /* arg.val */
+    case GETALL:        /* arg.array */
+    case SETALL:
+    case IPC_STAT:      /* arg.buf */
+    case IPC_SET:
+    case SEM_STAT:
+    case IPC_INFO:      /* arg.__buf */
+    case SEM_INFO:
+      va_start (ap, cmd);
+      arg = va_arg (ap, union semun);
+      va_end (ap);
+      break;
+    }
+
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (semctl, semid, semnum, cmd | __IPC_64,
+			      arg.array);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
+			      SEMCTL_ARG_ADDRESS (arg));
+#endif
+}
+versioned_symbol (libc, __new_semctl, semctl, DEFAULT_VERSION);
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+/* Since semctl use a variadic argument for semid_ds there is not need to
+   define and tie the compatibility symbol to the old 'union semun'
+   definition.  */
+int
+attribute_compat_text_section
+__old_semctl (int semid, int semnum, int cmd, ...)
+{
+  union semun arg = { 0 };
+  va_list ap;
+
+  /* Get the argument only if required.  */
+  switch (cmd)
+    {
+    case SETVAL:        /* arg.val */
+    case GETALL:        /* arg.array */
+    case SETALL:
+    case IPC_STAT:      /* arg.buf */
+    case IPC_SET:
+    case SEM_STAT:
+    case IPC_INFO:      /* arg.__buf */
+    case SEM_INFO:
+      va_start (ap, cmd);
+      arg = va_arg (ap, union semun);
+      va_end (ap);
+      break;
+    }
+
+# ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (semctl, semid, semnum, cmd, arg.array);
+# else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semctl, semid, semnum, cmd,
+			      SEMCTL_ARG_ADDRESS (arg));
+# endif
+}
+compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/semget.c b/REORG.TODO/sysdeps/unix/sysv/linux/semget.c
new file mode 100644
index 0000000000..f269da2618
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/semget.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Return identifier for array of NSEMS semaphores associated with
+   KEY.  */
+
+int
+semget (key_t key, int nsems, int semflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (semget, key, nsems, semflg);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semget, key, nsems, semflg, NULL);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/semop.c b/REORG.TODO/sysdeps/unix/sysv/linux/semop.c
new file mode 100644
index 0000000000..628a7d871f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/semop.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Perform user-defined atomical operation of array of semaphores.  */
+
+int
+semop (int semid, struct sembuf *sops, size_t nsops)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (semop, semid, sops, nsops);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semop, semid, nsops, 0, sops);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/semtimedop.c b/REORG.TODO/sysdeps/unix/sysv/linux/semtimedop.c
new file mode 100644
index 0000000000..5b7f6db34d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/semtimedop.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Perform user-defined atomical operation of array of semaphores.  */
+
+int
+semtimedop (int semid, struct sembuf *sops, size_t nsops,
+	    const struct timespec *timeout)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (semtimedop, semid, sops, nsops, timeout);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_semtimedop, semid, nsops, 0, sops,
+			      timeout);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/send.c b/REORG.TODO/sysdeps/unix/sysv/linux/send.c
new file mode 100644
index 0000000000..c2e3b37b17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/send.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+ssize_t
+__libc_send (int fd, const void *buf, size_t len, int flags)
+{
+#ifdef __ASSUME_SEND_SYSCALL
+  return SYSCALL_CANCEL (send, fd, buf, len, flags);
+#elif defined __ASSUME_SENDTO_SYSCALL
+  return SYSCALL_CANCEL (sendto, fd, buf, len, flags, NULL, 0);
+#else
+  return SOCKETCALL_CANCEL (send, fd, buf, len, flags);
+#endif
+}
+weak_alias (__libc_send, send)
+weak_alias (__libc_send, __send)
+#ifdef HAVE_INTERNAL_SEND_SYMBOL
+libc_hidden_def (__send)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sendmmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/sendmmsg.c
new file mode 100644
index 0000000000..e0c2556309
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sendmmsg.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/socket.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+#include <socketcall.h>
+#include <kernel-features.h>
+
+int
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+{
+#ifdef __ASSUME_SENDMMSG_SYSCALL
+  return SYSCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
+#else
+  return SOCKETCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
+#endif
+}
+libc_hidden_def (__sendmmsg)
+weak_alias (__sendmmsg, sendmmsg)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sendmsg.c b/REORG.TODO/sysdeps/unix/sysv/linux/sendmsg.c
new file mode 100644
index 0000000000..01cc58ced0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sendmsg.c
@@ -0,0 +1,34 @@
+/* Compatibility implementation of sendmsg.
+   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/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+#include <shlib-compat.h>
+
+ssize_t
+__libc_sendmsg (int fd, const struct msghdr *msg, int flags)
+{
+# ifdef __ASSUME_SENDMSG_SYSCALL
+  return SYSCALL_CANCEL (sendmsg, fd, msg, flags);
+# else
+  return SOCKETCALL_CANCEL (sendmsg, fd, msg, flags);
+# endif
+}
+weak_alias (__libc_sendmsg, sendmsg)
+weak_alias (__libc_sendmsg, __sendmsg)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sendto.c b/REORG.TODO/sysdeps/unix/sysv/linux/sendto.c
new file mode 100644
index 0000000000..be1bc6fd99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sendto.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/socket.h>
+#include <sysdep-cancel.h>
+#include <socketcall.h>
+
+ssize_t
+__libc_sendto (int fd, const void *buf, size_t len, int flags,
+	       __CONST_SOCKADDR_ARG addr, socklen_t addrlen)
+{
+#ifdef __ASSUME_SENDTO_SYSCALL
+  return SYSCALL_CANCEL (sendto, fd, buf, len, flags, addr.__sockaddr__,
+                         addrlen);
+#else
+  return SOCKETCALL_CANCEL (sendto, fd, buf, len, flags, addr.__sockaddr__,
+			    addrlen);
+#endif
+}
+weak_alias (__libc_sendto, sendto)
+weak_alias (__libc_sendto, __sendto)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setegid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setegid.c
new file mode 100644
index 0000000000..7d08027762
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setegid.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+setegid (gid_t gid)
+{
+  int result;
+
+  if (gid == (gid_t) ~0)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#ifdef __NR_setresgid32
+  result = INLINE_SETXID_SYSCALL (setresgid32, 3, -1, gid, -1);
+#else
+  result = INLINE_SETXID_SYSCALL (setresgid, 3, -1, gid, -1);
+#endif
+
+  return result;
+}
+#ifndef setegid
+libc_hidden_def (setegid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/seteuid.c b/REORG.TODO/sysdeps/unix/sysv/linux/seteuid.c
new file mode 100644
index 0000000000..ece0f45ce5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/seteuid.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+seteuid (uid_t uid)
+{
+  int result;
+
+  if (uid == (uid_t) ~0)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#ifdef __NR_setresuid32
+  result = INLINE_SETXID_SYSCALL (setresuid32, 3, -1, uid, -1);
+#else
+  result = INLINE_SETXID_SYSCALL (setresuid, 3, -1, uid, -1);
+#endif
+
+  return result;
+}
+#ifndef seteuid
+libc_hidden_def (seteuid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setgid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setgid.c
new file mode 100644
index 0000000000..59aaa10153
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setgid.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+__setgid (gid_t gid)
+{
+#ifdef __NR_setgid32
+  return INLINE_SETXID_SYSCALL (setgid32, 1, gid);
+#else
+  return INLINE_SETXID_SYSCALL (setgid, 1, gid);
+#endif
+}
+#ifndef __setgid
+weak_alias (__setgid, setgid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setgroups.c b/REORG.TODO/sysdeps/unix/sysv/linux/setgroups.c
new file mode 100644
index 0000000000..c556ebbbfe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setgroups.c
@@ -0,0 +1,36 @@
+/* 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 <grp.h>
+#include <setxid.h>
+#include <sysdep.h>
+
+
+/* Set the group set for the current user to GROUPS (N of them).  For
+   Linux we must convert the array of groups into the format that the
+   kernel expects.  */
+int
+setgroups (size_t n, const gid_t *groups)
+{
+#ifdef __NR_setgroups32
+  return INLINE_SETXID_SYSCALL (setgroups32, 2, n, groups);
+#else
+  return INLINE_SETXID_SYSCALL (setgroups, 2, n, groups);
+#endif
+}
+libc_hidden_def (setgroups)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sethostid.c b/REORG.TODO/sysdeps/unix/sysv/linux/sethostid.c
new file mode 100644
index 0000000000..eb71b74a1d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sethostid.c
@@ -0,0 +1,2 @@
+#define SET_PROCEDURE 1
+#include "gethostid.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setipv4sourcefilter.c b/REORG.TODO/sysdeps/unix/sysv/linux/setipv4sourcefilter.c
new file mode 100644
index 0000000000..c4370f90ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setipv4sourcefilter.c
@@ -0,0 +1,65 @@
+/* Set IPv4 source filter.  Linux version.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@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 <alloca.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+
+
+int
+setipv4sourcefilter (int s, struct in_addr interface, struct in_addr group,
+		     uint32_t fmode, uint32_t numsrc,
+		     const struct in_addr *slist)
+{
+  /* We have to create an struct ip_msfilter object which we can pass
+     to the kernel.  */
+  size_t needed = IP_MSFILTER_SIZE (numsrc);
+  int use_alloca = __libc_use_alloca (needed);
+
+  struct ip_msfilter *imsf;
+  if (use_alloca)
+    imsf = (struct ip_msfilter *) alloca (needed);
+  else
+    {
+      imsf = (struct ip_msfilter *) malloc (needed);
+      if (imsf == NULL)
+	return -1;
+    }
+
+  imsf->imsf_multiaddr = group;
+  imsf->imsf_interface = interface;
+  imsf->imsf_fmode = fmode;
+  imsf->imsf_numsrc = numsrc;
+  memcpy (imsf->imsf_slist, slist, numsrc * sizeof (struct in_addr));
+
+  int result = __setsockopt (s, SOL_IP, IP_MSFILTER, imsf, needed);
+
+  if (! use_alloca)
+    {
+      int save_errno = errno;
+      free (imsf);
+      __set_errno (save_errno);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setregid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setregid.c
new file mode 100644
index 0000000000..b50842b7c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setregid.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+__setregid (gid_t rgid, gid_t egid)
+{
+#ifdef __NR_setregid32
+  return INLINE_SETXID_SYSCALL (setregid32, 2, rgid, egid);
+#else
+  return INLINE_SETXID_SYSCALL (setregid, 2, rgid, egid);
+#endif
+}
+#ifndef __setregid
+weak_alias (__setregid, setregid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setresgid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setresgid.c
new file mode 100644
index 0000000000..1e9a9b7ec6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setresgid.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+__setresgid (gid_t rgid, gid_t egid, gid_t sgid)
+{
+#ifdef __NR_setresgid32
+  return INLINE_SETXID_SYSCALL (setresgid32, 3, rgid, egid, sgid);
+#else
+  return INLINE_SETXID_SYSCALL (setresgid, 3, rgid, egid, sgid);
+#endif
+}
+libc_hidden_def (__setresgid)
+#ifndef __setresgid
+weak_alias (__setresgid, setresgid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setresuid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setresuid.c
new file mode 100644
index 0000000000..3d3faa9e39
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setresuid.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+__setresuid (uid_t ruid, uid_t euid, uid_t suid)
+{
+#ifdef __NR_setresuid32
+  return INLINE_SETXID_SYSCALL (setresuid32, 3, ruid, euid, suid);
+#else
+  return INLINE_SETXID_SYSCALL (setresuid, 3, ruid, euid, suid);
+#endif
+}
+libc_hidden_def (__setresuid)
+#ifndef __setresuid
+weak_alias (__setresuid, setresuid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setreuid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setreuid.c
new file mode 100644
index 0000000000..5cc68ae28d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setreuid.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+
+int
+__setreuid (uid_t ruid, uid_t euid)
+{
+#ifdef __NR_setreuid32
+  return INLINE_SETXID_SYSCALL (setreuid32, 2, ruid, euid);
+#else
+  return INLINE_SETXID_SYSCALL (setreuid, 2, ruid, euid);
+#endif
+}
+#ifndef __setreuid
+weak_alias (__setreuid, setreuid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit.c b/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit.c
new file mode 100644
index 0000000000..8773c78236
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit.c
@@ -0,0 +1,59 @@
+/* Linux setrlimit implementation (32 bits off_t).
+   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 <errno.h>
+#include <sys/resource.h>
+#include <sys/types.h>
+#include <shlib-compat.h>
+
+#if !__RLIM_T_MATCHES_RLIM64_T
+
+/* The compatibility symbol is meant to match the old __NR_getrlimit syscall
+   (with broken RLIM_INFINITY definition).  It should be provided iff
+   __NR_getrlimit and __NR_ugetrlimit are both defined.  */
+# ifndef __NR_ugetrlimit
+#  undef SHLIB_COMPAT
+#  define SHLIB_COMPAT(a, b, c) 0
+# endif
+
+int
+__setrlimit (enum __rlimit_resource resource, const struct rlimit *rlim)
+{
+  struct rlimit64 rlim64;
+
+  if (rlim->rlim_cur == RLIM_INFINITY)
+    rlim64.rlim_cur = RLIM64_INFINITY;
+  else
+    rlim64.rlim_cur = rlim->rlim_cur;
+  if (rlim->rlim_max == RLIM_INFINITY)
+    rlim64.rlim_max = RLIM64_INFINITY;
+  else
+    rlim64.rlim_max = rlim->rlim_max;
+
+  return INLINE_SYSCALL_CALL (prlimit64, 0, resource, &rlim64, NULL);
+}
+
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+strong_alias (__setrlimit, __setrlimit_1)
+compat_symbol (libc, __setrlimit, setrlimit, GLIBC_2_0);
+versioned_symbol (libc, __setrlimit_1, setrlimit, GLIBC_2_2);
+# else
+weak_alias (__setrlimit, setrlimit)
+# endif
+
+#endif /* __RLIM_T_MATCHES_RLIM64_T  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit64.c b/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit64.c
new file mode 100644
index 0000000000..db1960fc18
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setrlimit64.c
@@ -0,0 +1,46 @@
+/* Linux setrlimit64 implementation (64 bits off_t).
+   Copyright (C) 2010-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 <sys/types.h>
+#include <shlib-compat.h>
+
+/* Add this redirection so the strong_alias for __RLIM_T_MATCHES_RLIM64_T
+   linking setlimit64 to {__}setrlimit does not throw a type error.  */
+#undef settrlimit
+#undef __sttrlimit
+#define setrlimit setrlimit_redirect
+#define __setrlimit __setrlimit_redirect
+#include <sys/resource.h>
+#undef setrlimit
+#undef __setrlimit
+
+/* Set the soft and hard limits for RESOURCE to *RLIMITS.
+   Only the super-user can increase hard limits.
+   Return 0 if successful, -1 if not (and sets errno).  */
+int
+__setrlimit64 (enum __rlimit_resource resource, const struct rlimit64 *rlimits)
+{
+  return INLINE_SYSCALL_CALL (prlimit64, 0, resource, rlimits, NULL);
+}
+weak_alias (__setrlimit64, setrlimit64)
+
+#if __RLIM_T_MATCHES_RLIM64_T
+strong_alias (__setrlimit64, __setrlimit)
+weak_alias (__setrlimit64, setrlimit)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setsockopt.c b/REORG.TODO/sysdeps/unix/sysv/linux/setsockopt.c
new file mode 100644
index 0000000000..9252305d59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setsockopt.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+setsockopt (int fd, int level, int optname, const void *optval, socklen_t len)
+{
+#ifdef __ASSUME_SETSOCKOPT_SYSCALL
+  return INLINE_SYSCALL (setsockopt, 5, fd, level, optname, optval, len);
+#else
+  return SOCKETCALL (setsockopt, fd, level, optname, optval, len);
+#endif
+}
+weak_alias (setsockopt, __setsockopt)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setsourcefilter.c b/REORG.TODO/sysdeps/unix/sysv/linux/setsourcefilter.c
new file mode 100644
index 0000000000..b4160ff4d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setsourcefilter.c
@@ -0,0 +1,78 @@
+/* Set source filter.  Linux version.
+   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@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 <alloca.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+
+
+/* Defined in getsourcefilter.c.  */
+extern int __get_sol (int af, socklen_t len);
+
+
+int
+setsourcefilter (int s, uint32_t interface, const struct sockaddr *group,
+		 socklen_t grouplen, uint32_t fmode, uint32_t numsrc,
+		 const struct sockaddr_storage *slist)
+{
+  /* We have to create an struct ip_msfilter object which we can pass
+     to the kernel.  */
+  size_t needed = GROUP_FILTER_SIZE (numsrc);
+  int use_alloca = __libc_use_alloca (needed);
+
+  struct group_filter *gf;
+  if (use_alloca)
+    gf = (struct group_filter *) alloca (needed);
+  else
+    {
+      gf = (struct group_filter *) malloc (needed);
+      if (gf == NULL)
+	return -1;
+    }
+
+  gf->gf_interface = interface;
+  memcpy (&gf->gf_group, group, grouplen);
+  gf->gf_fmode = fmode;
+  gf->gf_numsrc = numsrc;
+  memcpy (gf->gf_slist, slist, numsrc * sizeof (struct sockaddr_storage));
+
+  /* We need to provide the appropriate socket level value.  */
+  int result;
+  int sol = __get_sol (group->sa_family, grouplen);
+  if (sol == -1)
+    {
+      __set_errno (EINVAL);
+      result = -1;
+    }
+  else
+    result = __setsockopt (s, sol, MCAST_MSFILTER, gf, needed);
+
+  if (! use_alloca)
+    {
+      int save_errno = errno;
+      free (gf);
+      __set_errno (save_errno);
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/setuid.c b/REORG.TODO/sysdeps/unix/sysv/linux/setuid.c
new file mode 100644
index 0000000000..2d0775279f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/setuid.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <setxid.h>
+
+int
+__setuid (uid_t uid)
+{
+#ifdef __NR_setuid32
+  return INLINE_SETXID_SYSCALL (setuid32, 1, uid);
+#else
+  return INLINE_SETXID_SYSCALL (setuid, 1, uid);
+#endif
+}
+#ifndef __setuid
+weak_alias (__setuid, setuid)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Implies
new file mode 100644
index 0000000000..c15a97e222
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Implies
@@ -0,0 +1 @@
+sh/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Makefile
new file mode 100644
index 0000000000..dd3b382ac1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Makefile
@@ -0,0 +1,16 @@
+ifeq ($(subdir),io)
+sysdep_routines += pipe
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),misc)
+gen-as-const-headers += sigaltstack-offsets.sym
+endif
+
+ifeq ($(subdir),math)
+# The libm.so link can't find __fpscr_values
+libm.so-no-z-defs = yes
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Versions
new file mode 100644
index 0000000000..e0938c4165
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/Versions
@@ -0,0 +1,33 @@
+libc {
+  GLIBC_2.2 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # a*
+    alphasort64;
+
+    # g*
+    glob64;
+
+    # New rlimit interface
+    getrlimit; setrlimit; getrlimit64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+
+    # v*
+    versionsort64;
+  }
+  GLIBC_2.3.3 {
+    posix_fadvise64; posix_fallocate64;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+  GLIBC_2.16 {
+    fanotify_mark;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S
new file mode 100644
index 0000000000..386d7038a5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S
@@ -0,0 +1,122 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include <sigaltstack-offsets.h>
+
+	.section .rodata.str1.1,"aMS",@progbits,1
+	.type	longjmp_msg,@object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size	longjmp_msg, .-longjmp_msg
+	.text
+
+#define __longjmp ____longjmp_chk
+
+#ifdef PIC
+# define CALL_FAIL \
+	mov.l	.Lfail, r1;				\
+	mov.l	.Lstr, r4;				\
+	mov.l	r12, @-r15;				\
+	cfi_remember_state;				\
+	cfi_adjust_cfa_offset (4);			\
+	cfi_rel_offset (r12, 0);			\
+	mova	.Lgot, r0;				\
+	mov.l	.Lgot, r12;				\
+	add	r0, r12;				\
+	sts.l	pr, @-r15;				\
+	cfi_adjust_cfa_offset (4);			\
+	cfi_rel_offset (pr, 0);				\
+	bsrf	r1;					\
+	 add	r12, r4;				\
+.Lfail0:						\
+	/* Unreachable.	 */				\
+	.align	2;					\
+.Lgot:							\
+	.long	_GLOBAL_OFFSET_TABLE_;			\
+.Lstr:							\
+	.long	longjmp_msg@GOTOFF;			\
+.Lfail:							\
+	.long	__GI___fortify_fail@PLT-(.Lfail0-.);	\
+	cfi_restore_state;
+#else
+# define CALL_FAIL \
+	mov.l	.Lfail, r1;				\
+	mov.l	.Lstr, r4;				\
+	sts.l	pr, @-r15;				\
+	cfi_remember_state;				\
+	cfi_adjust_cfa_offset (4);			\
+	cfi_rel_offset (pr, 0);				\
+	jsr	@r1;					\
+	 nop;						\
+	/* Unreachable.	 */				\
+	.align	2;					\
+.Lstr:							\
+	.long	longjmp_msg;				\
+.Lfail:							\
+	.long	__fortify_fail;				\
+	cfi_restore_state;
+#endif
+
+#define CHECK_SP(reg) \
+	/* Jumping to a higher-address frame is always allowed.	 */	\
+	cmp/hs	r15, reg;						\
+	bt	.Lok;							\
+									\
+	mov.l	r0, @-r15; /* The return value is already in here.  */	\
+	cfi_adjust_cfa_offset (4);					\
+	mov.l	r1, @-r15; /* PTR_DEMANGLE helper.  */			\
+	cfi_adjust_cfa_offset (4);					\
+	mov.l	r2, @-r15; /* The new SP value is already in here.  */	\
+	cfi_adjust_cfa_offset (4);					\
+	mov.l	r4, @-r15; /* We'll still need this one.  */		\
+	cfi_adjust_cfa_offset (4);					\
+	add	#-sizeSS, r15;						\
+	cfi_adjust_cfa_offset (sizeSS);					\
+	mov	#0, r4;							\
+	mov	r15, r5;						\
+	DO_CALL (sigaltstack, 2);					\
+	/* Without working sigaltstack we cannot perform the test.  */	\
+	tst	r0, r0;							\
+	bf	.Lok2;							\
+	mov.l	@(oSS_FLAGS, r15), r0;					\
+	tst	#SS_ONSTACK, r0;					\
+	bt	.Lcall_fail;						\
+	mov.l	@(oSS_SIZE, r15), r2;					\
+	mov.l	@(oSS_SP, r15), r1;					\
+	add	r2, r1;							\
+	sub	r8, r1;							\
+	cmp/hi	r1, r2;							\
+	bf	.Lok2;							\
+.Lcall_fail:								\
+	CALL_FAIL							\
+									\
+.Lok2:									\
+	add	#sizeSS, r15;						\
+	cfi_adjust_cfa_offset (-sizeSS);				\
+	mov.l	@r15+, r4;						\
+	cfi_adjust_cfa_offset (-4);					\
+	mov.l	@r15+, r2;						\
+	cfi_adjust_cfa_offset (-4);					\
+	mov.l	@r15+, r1;						\
+	cfi_adjust_cfa_offset (-4);					\
+	mov.l	@r15+, r0;						\
+	cfi_adjust_cfa_offset (-4);					\
+.Lok:
+
+#include <__longjmp.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/arch-fork.h
new file mode 100644
index 0000000000..ca42758989
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/arch-fork.h
@@ -0,0 +1,28 @@
+/* ARCH_FORK definition for Linux fork implementation.  SH version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+/* TLS pointer argument is passed as the 5-th argument.  */
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 5,						      \
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
+		  NULL, &THREAD_SELF->tid, NULL)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/atomic-machine.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/atomic-machine.h
new file mode 100644
index 0000000000..5a7e953ac4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/atomic-machine.h
@@ -0,0 +1,425 @@
+/* Atomic operations used inside libc.  Linux/SH version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdint.h>
+
+
+typedef int8_t atomic8_t;
+typedef uint8_t uatomic8_t;
+typedef int_fast8_t atomic_fast8_t;
+typedef uint_fast8_t uatomic_fast8_t;
+
+typedef int16_t atomic16_t;
+typedef uint16_t uatomic16_t;
+typedef int_fast16_t atomic_fast16_t;
+typedef uint_fast16_t uatomic_fast16_t;
+
+typedef int32_t atomic32_t;
+typedef uint32_t uatomic32_t;
+typedef int_fast32_t atomic_fast32_t;
+typedef uint_fast32_t uatomic_fast32_t;
+
+typedef int64_t atomic64_t;
+typedef uint64_t uatomic64_t;
+typedef int_fast64_t atomic_fast64_t;
+typedef uint_fast64_t uatomic_fast64_t;
+
+typedef intptr_t atomicptr_t;
+typedef uintptr_t uatomicptr_t;
+typedef intmax_t atomic_max_t;
+typedef uintmax_t uatomic_max_t;
+
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
+/* XXX Is this actually correct?  */
+#define ATOMIC_EXCHANGE_USES_CAS 1
+
+/* SH kernel has implemented a gUSA ("g" User Space Atomicity) support
+   for the user space atomicity. The atomicity macros use this scheme.
+
+  Reference:
+    Niibe Yutaka, "gUSA: Simple and Efficient User Space Atomicity
+    Emulation with Little Kernel Modification", Linux Conference 2002,
+    Japan. http://lc.linux.or.jp/lc2002/papers/niibe0919h.pdf (in
+    Japanese).
+
+    B.N. Bershad, D. Redell, and J. Ellis, "Fast Mutual Exclusion for
+    Uniprocessors",  Proceedings of the Fifth Architectural Support for
+    Programming Languages and Operating Systems (ASPLOS), pp. 223-233,
+    October 1992. http://www.cs.washington.edu/homes/bershad/Papers/Rcs.ps
+
+  SuperH ABI:
+      r15:    -(size of atomic instruction sequence) < 0
+      r0:     end point
+      r1:     saved stack pointer
+*/
+
+#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
+  ({ __typeof (*(mem)) __result; \
+     __asm __volatile ("\
+	mova 1f,r0\n\
+	.align 2\n\
+	mov r15,r1\n\
+	mov #(0f-1f),r15\n\
+     0: mov.b @%1,%0\n\
+	cmp/eq %0,%3\n\
+	bf 1f\n\
+	mov.b %2,@%1\n\
+     1: mov r1,r15"\
+	: "=&r" (__result) : "u" (mem), "u" (newval), "u" (oldval) \
+	: "r0", "r1", "t", "memory"); \
+     __result; })
+
+#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
+  ({ __typeof (*(mem)) __result; \
+     __asm __volatile ("\
+	mova 1f,r0\n\
+	mov r15,r1\n\
+	.align 2\n\
+	mov #(0f-1f),r15\n\
+	mov #-8,r15\n\
+     0: mov.w @%1,%0\n\
+	cmp/eq %0,%3\n\
+	bf 1f\n\
+	mov.w %2,@%1\n\
+     1: mov r1,r15"\
+	: "=&r" (__result) : "u" (mem), "u" (newval), "u" (oldval) \
+	: "r0", "r1", "t", "memory"); \
+     __result; })
+
+#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
+  ({ __typeof (*(mem)) __result; \
+     __asm __volatile ("\
+	mova 1f,r0\n\
+	.align 2\n\
+	mov r15,r1\n\
+	mov #(0f-1f),r15\n\
+     0: mov.l @%1,%0\n\
+	cmp/eq %0,%3\n\
+	bf 1f\n\
+	mov.l %2,@%1\n\
+     1: mov r1,r15"\
+	: "=&r" (__result) : "u" (mem), "u" (newval), "u" (oldval) \
+	: "r0", "r1", "t", "memory"); \
+     __result; })
+
+/* XXX We do not really need 64-bit compare-and-exchange.  At least
+   not in the moment.  Using it would mean causing portability
+   problems since not many other 32-bit architectures have support for
+   such an operation.  So don't define any code for now.  */
+
+# define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
+  (abort (), (__typeof (*mem)) 0)
+
+#define atomic_exchange_and_add(mem, value) \
+  ({ __typeof (*(mem)) __result, __tmp, __value = (value); \
+     if (sizeof (*(mem)) == 1) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.b @%2,%0\n\
+	  mov %1,r2\n\
+	  add %0,r2\n\
+	  mov.b r2,@%2\n\
+       1: mov r1,r15"\
+	: "=&r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "memory");		       \
+     else if (sizeof (*(mem)) == 2) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.w @%2,%0\n\
+	  mov %1,r2\n\
+	  add %0,r2\n\
+	  mov.w r2,@%2\n\
+       1: mov r1,r15"\
+	: "=&r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "memory"); \
+     else if (sizeof (*(mem)) == 4) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.l @%2,%0\n\
+	  mov %1,r2\n\
+	  add %0,r2\n\
+	  mov.l r2,@%2\n\
+       1: mov r1,r15"\
+	: "=&r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "memory"); \
+     else \
+       { \
+	 __typeof (mem) memp = (mem); \
+	 do \
+	   __result = *memp; \
+	 while (__arch_compare_and_exchange_val_64_acq \
+		 (memp,	__result + __value, __result) == __result); \
+	 (void) __value; \
+       } \
+     __result; })
+
+#define atomic_add(mem, value) \
+  (void) ({ __typeof (*(mem)) __tmp, __value = (value); \
+	    if (sizeof (*(mem)) == 1) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.b @%1,r2\n\
+		add %0,r2\n\
+		mov.b r2,@%1\n\
+	     1: mov r1,r15"\
+		: "=&r" (__tmp) : "u" (mem), "0" (__value) \
+		: "r0", "r1", "r2", "memory"); \
+	    else if (sizeof (*(mem)) == 2) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.w @%1,r2\n\
+		add %0,r2\n\
+		mov.w r2,@%1\n\
+	     1: mov r1,r15"\
+		: "=&r" (__tmp) : "u" (mem), "0" (__value) \
+		: "r0", "r1", "r2", "memory"); \
+	    else if (sizeof (*(mem)) == 4) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.l @%1,r2\n\
+		add %0,r2\n\
+		mov.l r2,@%1\n\
+	     1: mov r1,r15"\
+		: "=&r" (__tmp) : "u" (mem), "0" (__value) \
+		: "r0", "r1", "r2", "memory"); \
+	    else \
+	      { \
+		__typeof (*(mem)) oldval; \
+		__typeof (mem) memp = (mem); \
+		do \
+		  oldval = *memp; \
+		while (__arch_compare_and_exchange_val_64_acq \
+			(memp, oldval + __value, oldval) == oldval); \
+		(void) __value; \
+	      } \
+	    })
+
+#define atomic_add_negative(mem, value) \
+  ({ unsigned char __result; \
+     __typeof (*(mem)) __tmp, __value = (value); \
+     if (sizeof (*(mem)) == 1) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.b @%2,r2\n\
+	  add %1,r2\n\
+	  mov.b r2,@%2\n\
+       1: mov r1,r15\n\
+	  shal r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else if (sizeof (*(mem)) == 2) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.w @%2,r2\n\
+	  add %1,r2\n\
+	  mov.w r2,@%2\n\
+       1: mov r1,r15\n\
+	  shal r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else if (sizeof (*(mem)) == 4) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.l @%2,r2\n\
+	  add %1,r2\n\
+	  mov.l r2,@%2\n\
+       1: mov r1,r15\n\
+	  shal r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else \
+       abort (); \
+     __result; })
+
+#define atomic_add_zero(mem, value) \
+  ({ unsigned char __result; \
+     __typeof (*(mem)) __tmp, __value = (value); \
+     if (sizeof (*(mem)) == 1) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.b @%2,r2\n\
+	  add %1,r2\n\
+	  mov.b r2,@%2\n\
+       1: mov r1,r15\n\
+	  tst r2,r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else if (sizeof (*(mem)) == 2) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.w @%2,r2\n\
+	  add %1,r2\n\
+	  mov.w r2,@%2\n\
+       1: mov r1,r15\n\
+	  tst r2,r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else if (sizeof (*(mem)) == 4) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  mov r15,r1\n\
+	  .align 2\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.l @%2,r2\n\
+	  add %1,r2\n\
+	  mov.l r2,@%2\n\
+       1: mov r1,r15\n\
+	  tst r2,r2\n\
+	  movt %0"\
+	: "=r" (__result), "=&r" (__tmp) : "u" (mem), "1" (__value) \
+	: "r0", "r1", "r2", "t", "memory"); \
+     else \
+       abort (); \
+     __result; })
+
+#define atomic_increment_and_test(mem) atomic_add_zero((mem), 1)
+#define atomic_decrement_and_test(mem) atomic_add_zero((mem), -1)
+
+#define atomic_bit_set(mem, bit) \
+  (void) ({ unsigned int __mask = 1 << (bit); \
+	    if (sizeof (*(mem)) == 1) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.b @%0,r2\n\
+		or %1,r2\n\
+		mov.b r2,@%0\n\
+	     1: mov r1,r15"\
+		: : "u" (mem), "u" (__mask) \
+		: "r0", "r1", "r2", "memory"); \
+	    else if (sizeof (*(mem)) == 2) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.w @%0,r2\n\
+		or %1,r2\n\
+		mov.w r2,@%0\n\
+	     1: mov r1,r15"\
+		: : "u" (mem), "u" (__mask) \
+		: "r0", "r1", "r2", "memory"); \
+	    else if (sizeof (*(mem)) == 4) \
+	      __asm __volatile ("\
+		mova 1f,r0\n\
+		mov r15,r1\n\
+		.align 2\n\
+		mov #(0f-1f),r15\n\
+	     0: mov.l @%0,r2\n\
+		or %1,r2\n\
+		mov.l r2,@%0\n\
+	     1: mov r1,r15"\
+		: : "u" (mem), "u" (__mask) \
+		: "r0", "r1", "r2", "memory"); \
+	    else \
+	      abort (); \
+	    })
+
+#define atomic_bit_test_set(mem, bit) \
+  ({ unsigned int __mask = 1 << (bit); \
+     unsigned int __result = __mask; \
+     if (sizeof (*(mem)) == 1) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.b @%2,r2\n\
+	  mov r2,r3\n\
+	  or %1,r2\n\
+	  mov.b r2,@%2\n\
+       1: mov r1,r15\n\
+	  and r3,%0"\
+	: "=&r" (__result), "=&r" (__mask) \
+	: "u" (mem), "0" (__result), "1" (__mask) \
+	: "r0", "r1", "r2", "r3", "memory");	\
+     else if (sizeof (*(mem)) == 2) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.w @%2,r2\n\
+	  mov r2,r3\n\
+	  or %1,r2\n\
+	  mov.w %1,@%2\n\
+       1: mov r1,r15\n\
+	  and r3,%0"\
+	: "=&r" (__result), "=&r" (__mask) \
+	: "u" (mem), "0" (__result), "1" (__mask) \
+	: "r0", "r1", "r2", "r3", "memory"); \
+     else if (sizeof (*(mem)) == 4) \
+       __asm __volatile ("\
+	  mova 1f,r0\n\
+	  .align 2\n\
+	  mov r15,r1\n\
+	  mov #(0f-1f),r15\n\
+       0: mov.l @%2,r2\n\
+	  mov r2,r3\n\
+	  or r2,%1\n\
+	  mov.l %1,@%2\n\
+       1: mov r1,r15\n\
+	  and r3,%0"\
+	: "=&r" (__result), "=&r" (__mask) \
+	: "u" (mem), "0" (__result), "1" (__mask) \
+	: "r0", "r1", "r2", "r3", "memory"); \
+     else \
+       abort (); \
+     __result; })
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
new file mode 100644
index 0000000000..49ed86b460
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
@@ -0,0 +1,50 @@
+/* O_*, F_*, FD_* bit values for Linux/SH.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/mman.h
new file mode 100644
index 0000000000..02588c6d6a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/mman.h
@@ -0,0 +1,40 @@
+/* Definitions for POSIX memory map interface.  Linux/SH version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never include this file directly.  Use <sys/mman.h> instead"
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x0100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x0800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x1000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x2000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x4000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x8000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/shm.h
new file mode 100644
index 0000000000..d1f47ec820
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/bits/shm.h
@@ -0,0 +1,101 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		0x4000
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+    unsigned long int __glibc_reserved1;
+    __time_t shm_dtime;			/* time of last shmdt() */
+    unsigned long int __glibc_reserved2;
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    unsigned long int __glibc_reserved3;
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long int shmmax;
+    unsigned long int shmmin;
+    unsigned long int shmmni;
+    unsigned long int shmseg;
+    unsigned long int shmall;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+    unsigned long int __glibc_reserved3;
+    unsigned long int __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/brk.c
new file mode 100644
index 0000000000..4d83acf3f5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/brk.c
@@ -0,0 +1,47 @@
+/* brk system call for Linux/SH.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+  register long r3 asm ("%r3") = SYS_ify (brk);
+  register long r4 asm ("%r4") = (long)addr;
+
+  asm volatile ("trapa #0x11\n\t" SYSCALL_INST_PAD
+		: "=z"(newbrk)
+		: "r" (r3), "r" (r4));
+
+  __curbrk = newbrk;
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/sh/c++-types.data
new file mode 100644
index 0000000000..fde53bf337
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/clone.S
new file mode 100644
index 0000000000..9063b21928
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/clone.S
@@ -0,0 +1,103 @@
+/* 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/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     pid_t *ptid, void *tls, pid_t *ctid); */
+
+	.text
+ENTRY(__clone)
+	/* sanity check arguments.  */
+	tst	r4, r4
+	bt/s	0f
+	 tst	r5, r5
+	bf	1f
+0:
+	bra	.Lsyscall_error
+	 mov	#-EINVAL,r0
+1:
+	/* insert the args onto the new stack */
+	mov.l	r7, @-r5
+	/* save the function pointer as the 0th element */
+	mov.l	r4, @-r5
+
+	/* do the system call */
+	mov	r6, r4
+	mov.l	@r15, r6
+	mov.l	@(8,r15), r7
+	mov.l	@(4,r15), r0
+	mov	#+SYS_ify(clone), r3
+	trapa	#0x15
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lclone_end
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lclone_end:
+	tst	r0, r0
+	bt	2f
+.Lpseudo_end:
+	rts
+	 nop
+2:
+	/* terminate the stack frame */
+	mov	#0, r14
+
+	/* thread starts */
+	mov.l	@r15, r1
+	jsr	@r1
+	 mov.l	@(4,r15), r4
+
+	/* we are done, passing the return value through r0  */
+	mov.l	.L3, r1
+#ifdef SHARED
+	mov.l	r12, @-r15
+	sts.l	pr, @-r15
+	mov	r0, r4
+	mova	.LG, r0
+	mov.l	.LG, r12
+	add	r0, r12
+	mova	.L3, r0
+	add	r0, r1
+	jsr	@r1
+	 nop
+	lds.l	@r15+, pr
+	rts
+	 mov.l	@r15+, r12
+#else
+	jmp	@r1
+	 mov	r0, r4
+#endif
+	.align	2
+.LG:
+	.long	_GLOBAL_OFFSET_TABLE_
+.L3:
+	.long	PLTJMP(C_SYMBOL_NAME(_exit))
+PSEUDO_END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/configure b/REORG.TODO/sysdeps/unix/sysv/linux/sh/configure
new file mode 100644
index 0000000000..6c31f5e249
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/configure
@@ -0,0 +1,4 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/sh.
+
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/sh/configure.ac
new file mode 100644
index 0000000000..85ef0f8ffd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh.
+
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/kernel-features.h
new file mode 100644
index 0000000000..175b4f5433
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/kernel-features.h
@@ -0,0 +1,54 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  SH version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef __KERNEL_FEATURES_SH__
+# define __KERNEL_FEATURES_SH__
+
+/* SH uses socketcall.  */
+#define __ASSUME_SOCKETCALL		1
+
+/* These syscalls were added for SH in 2.6.37.  */
+#define __ASSUME_SOCKET_SYSCALL		1
+#define __ASSUME_BIND_SYSCALL		1
+#define __ASSUME_CONNECT_SYSCALL	1
+#define __ASSUME_LISTEN_SYSCALL		1
+#define __ASSUME_GETSOCKNAME_SYSCALL	1
+#define __ASSUME_GETPEERNAME_SYSCALL	1
+#define __ASSUME_SOCKETPAIR_SYSCALL	1
+#define __ASSUME_SEND_SYSCALL		1
+#define __ASSUME_RECV_SYSCALL		1
+#define __ASSUME_SHUTDOWN_SYSCALL	1
+#define __ASSUME_GETSOCKOPT_SYSCALL	1
+#define __ASSUME_SETSOCKOPT_SYSCALL	1
+
+#include_next <kernel-features.h>
+
+/* SH does not have a 64-bit inode field.  */
+#undef __ASSUME_ST_INO_64_BIT
+#define __ASSUME_ST_INO_64_BIT	0
+
+/* SH4 ABI does not really require argument alignment for 64-bits, but
+   the kernel interface for p{read,write}64 adds a dummy long argument
+   before the offset.  */
+#define __ASSUME_PRW_DUMMY_ARG	1
+
+/* sh only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/ld.abilist
new file mode 100644
index 0000000000..fc1c60ea17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/ld.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x4
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.2 _r_debug D 0x14
+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
+GLIBC_2.4 __stack_chk_guard D 0x4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist
new file mode 100644
index 0000000000..21343df781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libc.abilist
new file mode 100644
index 0000000000..f3a70a0f6f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libc.abilist
@@ -0,0 +1,2178 @@
+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 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 fanotify_mark F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0x98
+GLIBC_2.2 _IO_2_1_stdin_ D 0x98
+GLIBC_2.2 _IO_2_1_stdout_ D 0x98
+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 0x54
+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 0x4
+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 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __adjtimex F
+GLIBC_2.2 __after_morecore_hook D 0x4
+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 0x4
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __ctype_b D 0x4
+GLIBC_2.2 __ctype_get_mb_cur_max F
+GLIBC_2.2 __ctype_tolower D 0x4
+GLIBC_2.2 __ctype_toupper D 0x4
+GLIBC_2.2 __curbrk D 0x4
+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_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 0x4
+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 0x4
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __free_hook D 0x4
+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 0x4
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.2 __key_gendes_LOCAL D 0x4
+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 0x4
+GLIBC_2.2 __malloc_initialize_hook D 0x4
+GLIBC_2.2 __mbrlen F
+GLIBC_2.2 __mbrtowc F
+GLIBC_2.2 __memalign_hook D 0x4
+GLIBC_2.2 __mempcpy F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __monstartup F
+GLIBC_2.2 __morecore D 0x4
+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 0x4
+GLIBC_2.2 __progname_full D 0x4
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __rcmd_errstr D 0x4
+GLIBC_2.2 __read F
+GLIBC_2.2 __realloc_hook D 0x4
+GLIBC_2.2 __register_frame_info 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 __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 0x4
+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 0x8
+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 0x4
+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 0x4
+GLIBC_2.2 _nl_msg_cat_cntr D 0x4
+GLIBC_2.2 _null_auth D 0xc
+GLIBC_2.2 _obstack D 0x4
+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 0x200
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 _rpc_dtablesize F
+GLIBC_2.2 _seterr_reply F
+GLIBC_2.2 _setjmp F
+GLIBC_2.2 _sys_errlist D 0x1f4
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x100
+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 0x4
+GLIBC_2.2 argp_program_version D 0x4
+GLIBC_2.2 argp_program_version_hook D 0x4
+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 0x4
+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 0x4
+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 0x14
+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 0x4
+GLIBC_2.2 loc2 D 0x4
+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 0x4
+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 0x4
+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 0x4
+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 0x4
+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 program_invocation_name D 0x4
+GLIBC_2.2 program_invocation_short_name D 0x4
+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 0x4
+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 0x10
+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 0x4
+GLIBC_2.2 stdin D 0x4
+GLIBC_2.2 stdout D 0x4
+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 0x4
+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 0xc
+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 0x1f4
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x100
+GLIBC_2.2 sys_siglist D 0x100
+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 0x4
+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 0x8
+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.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x1f8
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x1f8
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __fgets_chk F
+GLIBC_2.4 __fgets_unlocked_chk F
+GLIBC_2.4 __fgetws_chk F
+GLIBC_2.4 __fgetws_unlocked_chk F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdomainname_chk F
+GLIBC_2.4 __getgroups_chk F
+GLIBC_2.4 __gethostname_chk F
+GLIBC_2.4 __getlogin_r_chk F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsncat_chk F
+GLIBC_2.4 __wcsncpy_chk F
+GLIBC_2.4 __wcsnrtombs_chk F
+GLIBC_2.4 __wcsrtombs_chk F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x210
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 eaccess F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x210
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.5 GLIBC_2.5 A
+GLIBC_2.5 __readlinkat_chk F
+GLIBC_2.5 inet6_opt_append F
+GLIBC_2.5 inet6_opt_find F
+GLIBC_2.5 inet6_opt_finish F
+GLIBC_2.5 inet6_opt_get_val F
+GLIBC_2.5 inet6_opt_init F
+GLIBC_2.5 inet6_opt_next F
+GLIBC_2.5 inet6_opt_set_val F
+GLIBC_2.5 inet6_rth_add F
+GLIBC_2.5 inet6_rth_getaddr F
+GLIBC_2.5 inet6_rth_init F
+GLIBC_2.5 inet6_rth_reverse F
+GLIBC_2.5 inet6_rth_segments F
+GLIBC_2.5 inet6_rth_space F
+GLIBC_2.5 splice F
+GLIBC_2.5 tee F
+GLIBC_2.5 vmsplice F
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 __sched_cpucount F
+GLIBC_2.6 epoll_pwait F
+GLIBC_2.6 futimens F
+GLIBC_2.6 sched_getcpu F
+GLIBC_2.6 strerror_l F
+GLIBC_2.6 sync_file_range F
+GLIBC_2.6 utimensat F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __fread_chk F
+GLIBC_2.7 __fread_unlocked_chk F
+GLIBC_2.7 __isoc99_fscanf F
+GLIBC_2.7 __isoc99_fwscanf F
+GLIBC_2.7 __isoc99_scanf F
+GLIBC_2.7 __isoc99_sscanf F
+GLIBC_2.7 __isoc99_swscanf F
+GLIBC_2.7 __isoc99_vfscanf F
+GLIBC_2.7 __isoc99_vfwscanf F
+GLIBC_2.7 __isoc99_vscanf F
+GLIBC_2.7 __isoc99_vsscanf F
+GLIBC_2.7 __isoc99_vswscanf F
+GLIBC_2.7 __isoc99_vwscanf F
+GLIBC_2.7 __isoc99_wscanf F
+GLIBC_2.7 __open64_2 F
+GLIBC_2.7 __open_2 F
+GLIBC_2.7 __openat64_2 F
+GLIBC_2.7 __openat_2 F
+GLIBC_2.7 __sched_cpualloc F
+GLIBC_2.7 __sched_cpufree F
+GLIBC_2.7 eventfd F
+GLIBC_2.7 eventfd_read F
+GLIBC_2.7 eventfd_write F
+GLIBC_2.7 mkostemp F
+GLIBC_2.7 mkostemp64 F
+GLIBC_2.7 signalfd F
+GLIBC_2.8 GLIBC_2.8 A
+GLIBC_2.8 __asprintf_chk F
+GLIBC_2.8 __dprintf_chk F
+GLIBC_2.8 __obstack_printf_chk F
+GLIBC_2.8 __obstack_vprintf_chk F
+GLIBC_2.8 __vasprintf_chk F
+GLIBC_2.8 __vdprintf_chk F
+GLIBC_2.8 qsort_r F
+GLIBC_2.8 timerfd_create F
+GLIBC_2.8 timerfd_gettime F
+GLIBC_2.8 timerfd_settime F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 dup3 F
+GLIBC_2.9 epoll_create1 F
+GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 pipe2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libm.abilist
new file mode 100644
index 0000000000..6b24852b68
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libm.abilist
@@ -0,0 +1,433 @@
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.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 __signbit F
+GLIBC_2.2 __signbitf 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 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 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
+GLIBC_2.4 exp2l F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libpthread.abilist
new file mode 100644
index 0000000000..a73aa43c55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libpthread.abilist
@@ -0,0 +1,245 @@
+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_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/sh/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/librt.abilist
new file mode 100644
index 0000000000..15e4418863
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/librt.abilist
@@ -0,0 +1,47 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sh/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/sh/localplt.data
new file mode 100644
index 0000000000..f1f5effc24
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/localplt.data
@@ -0,0 +1,21 @@
+# See scripts/check-localplt.awk for how this file is processed.
+# PLT use is required for the malloc family and for matherr because
+# users can define their own functions and have library internals call them.
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libc.so: _Unwind_Find_FDE
+libc.so: _exit
+libc.so: __errno_location
+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/sh/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
new file mode 100644
index 0000000000..b8cc5b2c4c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
@@ -0,0 +1,80 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef __ASSEMBLER__
+
+#define _IMP1 #1
+#define _IMM1 #-1
+#define _IMM4 #-4
+#define _IMM6 #-6
+#define _IMM8 #-8
+
+#define	INC(mem, reg) \
+	.align	2; \
+	mova	99f, r0; \
+	mov	r15, r1; \
+	mov	_IMM6, r15; \
+98:	mov.l	mem, reg; \
+	add	_IMP1, reg; \
+	mov.l	reg, mem; \
+99:	mov	r1, r15
+
+#define	DEC(mem, reg) \
+	.align	2; \
+	mova	99f, r0; \
+	mov	r15, r1; \
+	mov	_IMM6, r15; \
+98:	mov.l	mem, reg; \
+	add	_IMM1, reg; \
+	mov.l	reg, mem; \
+99:	mov	r1, r15
+
+#define	XADD(reg, mem, old, tmp) \
+	.align	2; \
+	mova	99f, r0; \
+	nop; \
+	mov	r15, r1; \
+	mov	_IMM8, r15; \
+98:	mov.l	mem, old; \
+	mov	reg, tmp; \
+	add	old, tmp; \
+	mov.l	tmp, mem; \
+99:	mov	r1, r15
+
+#define	XCHG(reg, mem, old) \
+	.align	2; \
+	mova	99f, r0; \
+	nop; \
+	mov	r15, r1; \
+	mov	_IMM4, r15; \
+98:	mov.l	mem, old; \
+	mov.l	reg, mem; \
+99:	mov	r1, r15
+
+#define	CMPXCHG(reg, mem, new, old) \
+	.align	2; \
+	mova	99f, r0; \
+	nop; \
+	mov	r15, r1; \
+	mov	_IMM8, r15; \
+98:	mov.l	mem, old; \
+	cmp/eq	old, reg; \
+	bf	99f; \
+	mov.l	new, mem; \
+99:	mov	r1, r15
+
+#endif  /* __ASSEMBLER__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lxstat.c
new file mode 100644
index 0000000000..2371cd9719
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/lxstat.c
@@ -0,0 +1,2 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/makecontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/makecontext.S
new file mode 100644
index 0000000000..4506961007
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/makecontext.S
@@ -0,0 +1,160 @@
+/* Create new context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <abort-instr.h>
+
+#include "ucontext_i.h"
+
+/* void __makecontext (struct ucontext *ucp, void (*func)(), int argc, ...);
+  __makecontext sets up a stack and registers for context to run a given
+  function.  The registers are set up like this:
+    r4-r7: parameters 1 to 4
+    r8	 : uc_link from ucontext structure
+    pc	 : (*func) pointer
+    pr	 : address of exitcode
+    r15	 : stack pointer for func.  */
+
+	.text
+	.align	5
+ENTRY(__makecontext)
+	mov	#4, r3
+	mov.l	@(oSS_SP,r4), r1	/* r1 <- ucb->stack_base */
+	mov.l	@(oSS_SIZE,r4), r2	/* r2 <- ucb->stack_size */
+	add	r1, r2			/* r2 <- stack_top */
+	cmp/gt	r3, r6			/* argc > 4? */
+	bf/s	1f
+	 shlr2	r2			/* r2 <- stack_top / 4 */
+	sub	r6, r2
+	add	r3, r2
+1:
+	shll2	r2		/* r2 <- stack_top - ((argc > 4) ? 4 * (argc - 4) : 0 */
+	mov	#oR15, r0
+	mov.l	@(oLINK,r4), r1
+	mov.l	r2, @(r0,r4)	/* ucp->r15 <- r2 */
+	mov.l	r1, @(oR8,r4)	/* ucp->r8 <- ucp->uc_link */
+	mov	#oPC, r0
+	mov.l	r5, @(r0,r4)	/* ucp->PC <- func */
+
+	cmp/pl	r6		/* argc > 0? */
+	bf/s	.L1
+	 dt	r6
+	mov.l	r7, @(oR4,r4)	/* ucp->r4 <- argv[0] */
+	cmp/pl	r6		/* argc > 1? */
+	bf/s	.L1
+	 dt	r6
+	mov.l	@(0,r15), r1
+	mov.l	r1, @(oR5,r4)	/* ucp->r5 <- argv[1] */
+	cmp/pl	r6		/* argc > 2? */
+	bf/s	.L1
+	 dt	r6
+	mov.l	@(4,r15), r1
+	mov.l	r1, @(oR6,r4)	/* ucp->r6 <- argv[2] */
+	cmp/pl	r6		/* argc > 3? */
+	bf/s	.L1
+	 dt	r6
+	mov.l	@(8,r15), r1
+	mov.l	r1, @(oR7,r4)	/* ucp->r7 <- argv[3] */
+	mov	#12,r0
+.L0:				/* Save remaining argv[] on the stack.  */
+	cmp/pl	r6
+	bf/s	.L1
+	 dt	r6
+	mov.l	@(r0,r15), r1
+	mov.l	r1, @r2
+	add	#4, r0
+	bra	.L0
+	 add	#4, r2
+.L1:
+#ifdef PIC
+	mova	.Lexitcode, r0
+#else
+	mov.l	.L2, r0
+#endif
+	add	#oPR, r4
+	rts
+	 mov.l	r0, @r4		/* ucp->pr <- exitcode */
+#ifndef PIC
+	.align	2
+.L2:
+	.long	.Lexitcode
+#endif
+	cfi_endproc
+
+	.align	5
+	cfi_startproc
+.Lexitcode:
+#ifdef PIC
+	mov.l	r12, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (r12, 0)
+	mova	.Lgot, r0
+	mov.l	.Lgot, r12
+	add	r0, r12
+#endif
+	tst	r8, r8		/* ucb->uc_link == NULL? */
+	bt/s	2f
+	 mov	r8, r4		/* r4 <- ucb->uc_link */
+	mov.l	.Lsetcontext, r1
+	sts.l	pr, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (pr, 0)
+#ifdef PIC
+	bsrf	r1
+.LPCS0:
+	 nop
+#else
+	jsr	@r1
+	 nop
+#endif
+        /* Restore to keep CFI/CFA balanced.  */
+	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
+	/* If this returns (which can happen if the syscall fails) we'll exit
+	   the program with the return error value (-1).  */
+	mov	r0, r4
+
+2:
+	mov.l	.Lexit, r1
+#ifdef PIC
+	add	r12, r1
+#endif
+	jsr	@r1
+	 nop
+	/* The 'exit' call should never return.  In case it does cause the
+	   process to terminate.  */
+	ABORT_INSTRUCTION_ASM
+
+	.align	2
+#ifdef PIC
+.Lgot:
+	.long	_GLOBAL_OFFSET_TABLE_
+.Lsetcontext:
+	.long	__setcontext@PLT-(.LPCS0+2-(.))
+.Lexit:
+	.long	HIDDEN_JUMPTARGET(exit)@GOTOFF
+#else
+.Lsetcontext:
+	.long	__setcontext
+.Lexit:
+	.long	HIDDEN_JUMPTARGET(exit)
+#endif
+PSEUDO_END(__makecontext)
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/pipe.S
new file mode 100644
index 0000000000..994d11ad5c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/pipe.S
@@ -0,0 +1,42 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY (__libc_pipe)
+	mov	#+__NR_pipe, r3
+	trapa	#0x10
+	mov     r0, r3
+	mov	#-12, r2
+	shad	r2, r3
+	not	r3, r3			// r1=0 means r0 = -1 to -4095
+	tst	r3, r3			// i.e. error in linux
+	bt	1f
+	mov.l	r0, @r4
+	mov.l	r1, @(4, r4)
+	rts
+	 mov	#0, r0
+1:
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+PSEUDO_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/sh/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/profil-counter.h
new file mode 100644
index 0000000000..98db140e04
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/profil-counter.h
@@ -0,0 +1,32 @@
+/* Low-level statistical profiling support function.  Linux/SH version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+
+static void
+__profil_counter (int signo, int _a2, int _a3, int _a4, struct sigcontext sc)
+{
+  void *pc;
+  pc = (void *) sc.sc_pc;
+  profil_count (pc);
+
+  /* This is a hack to prevent the compiler from implementing the
+     above function call as a sibcall.  The sibcall would overwrite
+     the signal context.  */
+  asm volatile ("");
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/pt-vfork.S
new file mode 100644
index 0000000000..65cc3823ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/pt-vfork.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S
new file mode 100644
index 0000000000..c09c16937c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S
@@ -0,0 +1,87 @@
+/* Save current context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __getcontext (ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__getcontext)
+
+	/* Return value of getcontext.  R0 is the only register whose
+	   value is not preserved.  */
+	mov	#0, r0
+	mov.l	r0, @(oR0,r4)
+	mov.l	r1, @(oR1,r4)
+	mov.l	r2, @(oR2,r4)
+	mov.l	r3, @(oR3,r4)
+	mov.l	r4, @(oR4,r4)
+	mov.l	r5, @(oR5,r4)
+	mov.l	r6, @(oR6,r4)
+	mov.l	r7, @(oR7,r4)
+	mov	r4, r0
+	add	#(oMACL+4), r0
+	sts.l	macl, @-r0
+	sts.l	mach, @-r0
+	stc.l	gbr, @-r0
+
+	/* Save T flag to SR.  */
+	movt	r1
+	mov.l	r1, @-r0
+	sts.l	pr, @-r0
+
+	/* The return address of getcontext is the restart pc.  */
+	sts.l	pr, @-r0
+
+	mov.l	r15, @-r0
+	mov.l	r14, @-r0
+	mov.l	r13, @-r0
+	mov.l	r12, @-r0
+	mov.l	r11, @-r0
+	mov.l	r10, @-r0
+	mov.l	r9, @-r0
+	mov.l	r8, @-r0
+
+	/* sigprocmask (SIG_BLOCK, NULL, &uc->uc_sigmask).  */
+	mov	r4, r6
+	add	#oSIGMASK, r6
+	mov	#SIG_BLOCK, r4
+	mov	#0, r5
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lgetcontext_end
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lgetcontext_end:
+	/* All done, return 0 for success.  */
+	mov	#0, r0
+.Lpseudo_end:
+	rts
+	 nop
+
+PSEUDO_END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h
new file mode 100644
index 0000000000..f8530c43c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h
@@ -0,0 +1,150 @@
+/* Dump registers.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+  R0: XXXXXXXX   R1: XXXXXXXX   R2: XXXXXXXX   R3: XXXXXXXX
+  R4: XXXXXXXX   R5: XXXXXXXX   R6: XXXXXXXX   R7: XXXXXXXX
+  R8: XXXXXXXX   R9: XXXXXXXX  R10: XXXXXXXX  R11: XXXXXXXX
+ R12: XXXXXXXX  R13: XXXXXXXX  R14: XXXXXXXX  R15: XXXXXXXX
+
+MACL: XXXXXXXX MACH: XXXXXXXX
+
+  PC: XXXXXXXX   PR: XXXXXXXX  GBR: XXXXXXXX   SR: XXXXXXXX
+
+ FR0: XXXXXXXX  FR1: XXXXXXXX  FR2: XXXXXXXX  FR3: XXXXXXXX
+ FR4: XXXXXXXX  FR5: XXXXXXXX  FR6: XXXXXXXX  FR7: XXXXXXXX
+ FR8: XXXXXXXX  FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX
+FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX
+
+ XR0: XXXXXXXX  XR1: XXXXXXXX  XR2: XXXXXXXX  XR3: XXXXXXXX
+ XR4: XXXXXXXX  XR5: XXXXXXXX  XR6: XXXXXXXX  XR7: XXXXXXXX
+ XR8: XXXXXXXX  XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX
+XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX
+
+FPSCR: XXXXXXXX FPUL: XXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[22][8];
+  struct iovec iov[112];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sc_regs[0], regs[0], 8);
+  hexvalue (ctx->sc_regs[1], regs[1], 8);
+  hexvalue (ctx->sc_regs[2], regs[2], 8);
+  hexvalue (ctx->sc_regs[3], regs[3], 8);
+  hexvalue (ctx->sc_regs[4], regs[4], 8);
+  hexvalue (ctx->sc_regs[5], regs[5], 8);
+  hexvalue (ctx->sc_regs[6], regs[6], 8);
+  hexvalue (ctx->sc_regs[7], regs[7], 8);
+  hexvalue (ctx->sc_regs[8], regs[8], 8);
+  hexvalue (ctx->sc_regs[9], regs[9], 8);
+  hexvalue (ctx->sc_regs[10], regs[10], 8);
+  hexvalue (ctx->sc_regs[11], regs[11], 8);
+  hexvalue (ctx->sc_regs[12], regs[12], 8);
+  hexvalue (ctx->sc_regs[13], regs[13], 8);
+  hexvalue (ctx->sc_regs[14], regs[14], 8);
+  hexvalue (ctx->sc_regs[15], regs[15], 8);
+  hexvalue (ctx->sc_macl, regs[16], 8);
+  hexvalue (ctx->sc_mach, regs[17], 8);
+  hexvalue (ctx->sc_pc, regs[18], 8);
+  hexvalue (ctx->sc_pr, regs[19], 8);
+  hexvalue (ctx->sc_gbr, regs[20], 8);
+  hexvalue (ctx->sc_sr, regs[21], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n  R0: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("   R1: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("   R2: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("   R3: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n  R4: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("   R5: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("   R6: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("   R7: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n  R8: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("   R9: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("  R10: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("  R11: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("\n R12: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("  R13: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("  R14: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("  R15: ");
+  ADD_MEM (regs[15], 8);
+
+  ADD_STRING ("\n\nMACL: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING (" MACH: ");
+  ADD_MEM (regs[17], 8);
+
+  ADD_STRING ("\n\n  PC: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("   PR: ");
+  ADD_MEM (regs[19], 8);
+  ADD_STRING ("  GBR: ");
+  ADD_MEM (regs[20], 8);
+  ADD_STRING ("   SR: ");
+  ADD_MEM (regs[21], 8);
+
+  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/sh/sh3/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S
new file mode 100644
index 0000000000..d97b064d2f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S
@@ -0,0 +1,99 @@
+/* Install given context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __setcontext (const ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__setcontext)
+
+	mov	r4, r8
+
+	/* sigprocmask (SIG_SETMASK, &uc->uc_sigmask, NULL).  */
+	mov	r4, r5
+	add	#oSIGMASK, r5
+	mov	#SIG_SETMASK, r4
+	mov	#0, r6
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lsetcontext_restore
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+
+.Lsetcontext_restore:
+	mov	r8, r0
+	add	#(oPC), r0
+	mov.l	@r0+, r2
+	lds.l	@r0+, pr
+
+	/* Restore T frag.  */
+	mov.l	@r0+, r1
+	shlr	r1
+	/* Skip GBR which is used for thread pointer.  */
+	add	#4, r0
+
+	lds.l	@r0+, mach
+	lds.l	@r0+, macl
+
+	mov	r8, r0
+	add	#(oR9), r0
+	mov.l	@r0+, r9
+	mov.l	@r0+, r10
+	mov.l	@r0+, r11
+	mov.l	@r0+, r12
+	mov.l	@r0+, r13
+	mov.l	@r0+, r14
+	mov.l	@r0+, r15
+
+	mov	r8, r0
+	mov.l	@(oR0,r0), r1
+	mov.l	r1, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r1, 0)
+	mov.l	r2, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r2, 0)
+
+	mov.l	@(oR1,r0), r1
+	mov.l	@(oR2,r0), r2
+	mov.l	@(oR3,r0), r3
+	mov.l	@(oR4,r0), r4
+	mov.l	@(oR5,r0), r5
+	mov.l	@(oR6,r0), r6
+	mov.l	@(oR7,r0), r7
+	mov.l	@(oR8,r0), r8
+	mov.l	@r15+, r0
+	cfi_adjust_cfa_offset(-4)
+	jmp	@r0
+	 mov.l	@r15+, r0
+
+PSEUDO_END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S
new file mode 100644
index 0000000000..986fcee47a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S
@@ -0,0 +1,132 @@
+/* Save current context and install the given one.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __swapcontext (ucontext_t *ouc, const ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__swapcontext)
+
+	/* Return value of getcontext.  R0 is the only register whose
+	   value is not preserved.  */
+	mov	#0, r0
+	mov.l	r0, @(oR0,r4)
+	mov.l	r1, @(oR1,r4)
+	mov.l	r2, @(oR2,r4)
+	mov.l	r3, @(oR3,r4)
+	mov.l	r4, @(oR4,r4)
+	mov.l	r5, @(oR5,r4)
+	mov.l	r6, @(oR6,r4)
+	mov.l	r7, @(oR7,r4)
+	mov	r4, r0
+	add	#(oMACL+4), r0
+	sts.l	macl, @-r0
+	sts.l	mach, @-r0
+	stc.l	gbr, @-r0
+
+	/* Save T flag to SR.  */
+	movt	r1
+	mov.l	r1, @-r0
+	sts.l	pr, @-r0
+
+	/* The return address of getcontext is the restart pc.  */
+	sts.l	pr, @-r0
+
+	mov.l	r15, @-r0
+	mov.l	r14, @-r0
+	mov.l	r13, @-r0
+	mov.l	r12, @-r0
+	mov.l	r11, @-r0
+	mov.l	r10, @-r0
+	mov.l	r9, @-r0
+	mov.l	r8, @-r0
+
+	mov	r5, r8
+
+	/* sigprocmask (SIG_SETMASK, &uc->uc_sigmask, &ouc->uc_sigmask).  */
+	add	#oSIGMASK, r5
+	mov	r4, r6
+	add	#oSIGMASK, r6
+	mov	#SIG_SETMASK, r4
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lswapcontext_restore
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+.Lswapcontext_restore:
+	mov	r8, r0
+	add	#(oPC), r0
+	mov.l	@r0+, r2
+	lds.l	@r0+, pr
+
+	/* Restore T frag.  */
+	mov.l	@r0+, r1
+	shlr	r1
+	/* Skip GBR which is used for thread pointer.  */
+	add	#4, r0
+
+	lds.l	@r0+, mach
+	lds.l	@r0+, macl
+
+	mov	r8, r0
+	add	#(oR9), r0
+	mov.l	@r0+, r9
+	mov.l	@r0+, r10
+	mov.l	@r0+, r11
+	mov.l	@r0+, r12
+	mov.l	@r0+, r13
+	mov.l	@r0+, r14
+	mov.l	@r0+, r15
+
+	mov	r8, r0
+	mov.l	@(oR0,r0), r1
+	mov.l	r1, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r1, 0)
+	mov.l	r2, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r2, 0)
+
+	mov.l	@(oR1,r0), r1
+	mov.l	@(oR2,r0), r2
+	mov.l	@(oR3,r0), r3
+	mov.l	@(oR4,r0), r4
+	mov.l	@(oR5,r0), r5
+	mov.l	@(oR6,r0), r6
+	mov.l	@(oR7,r0), r7
+	mov.l	@(oR8,r0), r8
+	mov.l	@r15+, r0
+	cfi_adjust_cfa_offset(-4)
+	jmp	@r0
+	 mov.l	@r15+, r0
+
+PSEUDO_END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
new file mode 100644
index 0000000000..25f914a93b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
@@ -0,0 +1,38 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+oLINK		ucontext (uc_link)
+oSS_SP		ucontext (uc_stack.ss_sp)
+oSS_SIZE	ucontext (uc_stack.ss_size)
+oR0		mcontext (gregs[REG_R0])
+oR1		mcontext (gregs[REG_R1])
+oR2		mcontext (gregs[REG_R2])
+oR3		mcontext (gregs[REG_R3])
+oR4		mcontext (gregs[REG_R4])
+oR5		mcontext (gregs[REG_R5])
+oR6		mcontext (gregs[REG_R6])
+oR7		mcontext (gregs[REG_R7])
+oR8		mcontext (gregs[REG_R8])
+oR9		mcontext (gregs[REG_R9])
+oR10		mcontext (gregs[REG_R10])
+oR11		mcontext (gregs[REG_R11])
+oR12		mcontext (gregs[REG_R12])
+oR13		mcontext (gregs[REG_R13])
+oR14		mcontext (gregs[REG_R14])
+oR15		mcontext (gregs[REG_R15])
+oPC		mcontext (pc)
+oPR		mcontext (pr)
+oSR		mcontext (sr)
+oGBR		mcontext (gbr)
+oMACH		mcontext (mach)
+oMACL		mcontext (macl)
+oSIGMASK	ucontext (uc_sigmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
new file mode 100644
index 0000000000..40cabd1d91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
@@ -0,0 +1,132 @@
+/* Save current context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __getcontext (ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__getcontext)
+
+	/* Return value of getcontext.  R0 is the only register whose
+	   value is not preserved.  */
+	mov	#0, r0
+	mov.l	r0, @(oR0,r4)
+	mov.l	r1, @(oR1,r4)
+	mov.l	r2, @(oR2,r4)
+	mov.l	r3, @(oR3,r4)
+	mov.l	r4, @(oR4,r4)
+	mov.l	r5, @(oR5,r4)
+	mov.l	r6, @(oR6,r4)
+	mov.l	r7, @(oR7,r4)
+	mov	r4, r0
+	add	#(oMACL+4), r0
+	sts.l	macl, @-r0
+	sts.l	mach, @-r0
+	stc.l	gbr, @-r0
+
+	/* Save T flag to SR.  */
+	movt	r1
+	mov.l	r1, @-r0
+	sts.l	pr, @-r0
+
+	/* The return address of getcontext is the restart pc.  */
+	sts.l	pr, @-r0
+
+	mov.l	r15, @-r0
+	mov.l	r14, @-r0
+	mov.l	r13, @-r0
+	mov.l	r12, @-r0
+	mov.l	r11, @-r0
+	mov.l	r10, @-r0
+	mov.l	r9, @-r0
+	mov.l	r8, @-r0
+
+#ifdef __SH_FPU_ANY__
+	mov	r4, r0
+	/* We need 2 add instruction because oFPUL+4 > 127.  */
+	add	#124,r0
+	add	#(oFPUL+4-124),r0
+	sts.l	fpul, @-r0
+	sts.l	fpscr, @-r0
+	frchg
+	fmov.s	fr15, @-r0
+	fmov.s	fr14, @-r0
+	fmov.s	fr13, @-r0
+	fmov.s	fr12, @-r0
+	fmov.s	fr11, @-r0
+	fmov.s	fr10, @-r0
+	fmov.s	fr9, @-r0
+	fmov.s	fr8, @-r0
+	fmov.s	fr7, @-r0
+	fmov.s	fr6, @-r0
+	fmov.s	fr5, @-r0
+	fmov.s	fr4, @-r0
+	fmov.s	fr3, @-r0
+	fmov.s	fr2, @-r0
+	fmov.s	fr1, @-r0
+	fmov.s	fr0, @-r0
+	frchg
+	fmov.s	fr15, @-r0
+	fmov.s	fr14, @-r0
+	fmov.s	fr13, @-r0
+	fmov.s	fr12, @-r0
+	fmov.s	fr11, @-r0
+	fmov.s	fr10, @-r0
+	fmov.s	fr9, @-r0
+	fmov.s	fr8, @-r0
+	fmov.s	fr7, @-r0
+	fmov.s	fr6, @-r0
+	fmov.s	fr5, @-r0
+	fmov.s	fr4, @-r0
+	fmov.s	fr3, @-r0
+	fmov.s	fr2, @-r0
+	fmov.s	fr1, @-r0
+	fmov.s	fr0, @-r0
+#endif /* __SH_FPU_ANY__ */
+
+	/* sigprocmask (SIG_BLOCK, NULL, &uc->uc_sigmask).  */
+	mov	r4, r6
+	/* We need 2 add instruction because oSIGMASK > 127.  */
+	add	#(oSIGMASK/2), r6
+	add	#(oSIGMASK/2), r6
+	mov	#SIG_BLOCK, r4
+	mov	#0, r5
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lgetcontext_end
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lgetcontext_end:
+	/* All done, return 0 for success.  */
+	mov	#0, r0
+.Lpseudo_end:
+	rts
+	 nop
+
+PSEUDO_END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
new file mode 100644
index 0000000000..5595e90d91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
@@ -0,0 +1,263 @@
+/* Dump registers.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+  R0: XXXXXXXX   R1: XXXXXXXX   R2: XXXXXXXX   R3: XXXXXXXX
+  R4: XXXXXXXX   R5: XXXXXXXX   R6: XXXXXXXX   R7: XXXXXXXX
+  R8: XXXXXXXX   R9: XXXXXXXX  R10: XXXXXXXX  R11: XXXXXXXX
+ R12: XXXXXXXX  R13: XXXXXXXX  R14: XXXXXXXX  R15: XXXXXXXX
+
+MACL: XXXXXXXX MACH: XXXXXXXX
+
+  PC: XXXXXXXX   PR: XXXXXXXX  GBR: XXXXXXXX   SR: XXXXXXXX
+
+ FR0: XXXXXXXX  FR1: XXXXXXXX  FR2: XXXXXXXX  FR3: XXXXXXXX
+ FR4: XXXXXXXX  FR5: XXXXXXXX  FR6: XXXXXXXX  FR7: XXXXXXXX
+ FR8: XXXXXXXX  FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX
+FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX
+
+ XR0: XXXXXXXX  XR1: XXXXXXXX  XR2: XXXXXXXX  XR3: XXXXXXXX
+ XR4: XXXXXXXX  XR5: XXXXXXXX  XR6: XXXXXXXX  XR7: XXXXXXXX
+ XR8: XXXXXXXX  XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX
+XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX
+
+FPSCR: XXXXXXXX FPUL: XXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct sigcontext *ctx)
+{
+  char regs[22][8];
+  struct iovec iov[22 * 2 + 34 * 2 + 2];
+  size_t nr = 0;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sc_regs[0], regs[0], 8);
+  hexvalue (ctx->sc_regs[1], regs[1], 8);
+  hexvalue (ctx->sc_regs[2], regs[2], 8);
+  hexvalue (ctx->sc_regs[3], regs[3], 8);
+  hexvalue (ctx->sc_regs[4], regs[4], 8);
+  hexvalue (ctx->sc_regs[5], regs[5], 8);
+  hexvalue (ctx->sc_regs[6], regs[6], 8);
+  hexvalue (ctx->sc_regs[7], regs[7], 8);
+  hexvalue (ctx->sc_regs[8], regs[8], 8);
+  hexvalue (ctx->sc_regs[9], regs[9], 8);
+  hexvalue (ctx->sc_regs[10], regs[10], 8);
+  hexvalue (ctx->sc_regs[11], regs[11], 8);
+  hexvalue (ctx->sc_regs[12], regs[12], 8);
+  hexvalue (ctx->sc_regs[13], regs[13], 8);
+  hexvalue (ctx->sc_regs[14], regs[14], 8);
+  hexvalue (ctx->sc_regs[15], regs[15], 8);
+  hexvalue (ctx->sc_macl, regs[16], 8);
+  hexvalue (ctx->sc_mach, regs[17], 8);
+  hexvalue (ctx->sc_pc, regs[18], 8);
+  hexvalue (ctx->sc_pr, regs[19], 8);
+  hexvalue (ctx->sc_gbr, regs[20], 8);
+  hexvalue (ctx->sc_sr, regs[21], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n  R0: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING ("   R1: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING ("   R2: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("   R3: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n  R4: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("   R5: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("   R6: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("   R7: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("\n  R8: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("   R9: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("  R10: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("  R11: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("\n R12: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("  R13: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("  R14: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("  R15: ");
+  ADD_MEM (regs[15], 8);
+
+  ADD_STRING ("\n\nMACL: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING (" MACH: ");
+  ADD_MEM (regs[17], 8);
+
+  ADD_STRING ("\n\n  PC: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("   PR: ");
+  ADD_MEM (regs[19], 8);
+  ADD_STRING ("  GBR: ");
+  ADD_MEM (regs[20], 8);
+  ADD_STRING ("   SR: ");
+  ADD_MEM (regs[21], 8);
+
+  ADD_STRING ("\n");
+
+#ifdef __SH_FPU_ANY__
+  char fpregs[34][8];
+  if (ctx->sc_ownedfp != 0)
+    {
+      hexvalue (ctx->sc_fpregs[0], fpregs[0], 8);
+      hexvalue (ctx->sc_fpregs[1], fpregs[1], 8);
+      hexvalue (ctx->sc_fpregs[2], fpregs[2], 8);
+      hexvalue (ctx->sc_fpregs[3], fpregs[3], 8);
+      hexvalue (ctx->sc_fpregs[4], fpregs[4], 8);
+      hexvalue (ctx->sc_fpregs[5], fpregs[5], 8);
+      hexvalue (ctx->sc_fpregs[6], fpregs[6], 8);
+      hexvalue (ctx->sc_fpregs[7], fpregs[7], 8);
+      hexvalue (ctx->sc_fpregs[8], fpregs[8], 8);
+      hexvalue (ctx->sc_fpregs[9], fpregs[9], 8);
+      hexvalue (ctx->sc_fpregs[10], fpregs[10], 8);
+      hexvalue (ctx->sc_fpregs[11], fpregs[11], 8);
+      hexvalue (ctx->sc_fpregs[12], fpregs[12], 8);
+      hexvalue (ctx->sc_fpregs[13], fpregs[13], 8);
+      hexvalue (ctx->sc_fpregs[14], fpregs[14], 8);
+      hexvalue (ctx->sc_fpregs[15], fpregs[15], 8);
+      hexvalue (ctx->sc_xfpregs[0], fpregs[16], 8);
+      hexvalue (ctx->sc_xfpregs[1], fpregs[17], 8);
+      hexvalue (ctx->sc_xfpregs[2], fpregs[18], 8);
+      hexvalue (ctx->sc_xfpregs[3], fpregs[19], 8);
+      hexvalue (ctx->sc_xfpregs[4], fpregs[20], 8);
+      hexvalue (ctx->sc_xfpregs[5], fpregs[21], 8);
+      hexvalue (ctx->sc_xfpregs[6], fpregs[22], 8);
+      hexvalue (ctx->sc_xfpregs[7], fpregs[23], 8);
+      hexvalue (ctx->sc_xfpregs[8], fpregs[24], 8);
+      hexvalue (ctx->sc_xfpregs[9], fpregs[25], 8);
+      hexvalue (ctx->sc_xfpregs[10], fpregs[26], 8);
+      hexvalue (ctx->sc_xfpregs[11], fpregs[27], 8);
+      hexvalue (ctx->sc_xfpregs[12], fpregs[28], 8);
+      hexvalue (ctx->sc_xfpregs[13], fpregs[29], 8);
+      hexvalue (ctx->sc_xfpregs[14], fpregs[30], 8);
+      hexvalue (ctx->sc_xfpregs[15], fpregs[31], 8);
+      hexvalue (ctx->sc_fpscr, fpregs[32], 8);
+      hexvalue (ctx->sc_fpul, fpregs[33], 8);
+
+      ADD_STRING ("\n\n FR0: ");
+      ADD_MEM (fpregs[0], 8);
+      ADD_STRING ("  FR1: ");
+      ADD_MEM (fpregs[1], 8);
+      ADD_STRING ("  FR2: ");
+      ADD_MEM (fpregs[2], 8);
+      ADD_STRING ("  FR3: ");
+      ADD_MEM (fpregs[3], 8);
+      ADD_STRING ("\n FR4: ");
+      ADD_MEM (fpregs[4], 8);
+      ADD_STRING ("  FR5: ");
+      ADD_MEM (fpregs[5], 8);
+      ADD_STRING ("  FR6: ");
+      ADD_MEM (fpregs[6], 8);
+      ADD_STRING ("  FR7: ");
+      ADD_MEM (fpregs[7], 8);
+      ADD_STRING ("\n FR8: ");
+      ADD_MEM (fpregs[8], 8);
+      ADD_STRING ("  FR9: ");
+      ADD_MEM (fpregs[9], 8);
+      ADD_STRING (" FR10: ");
+      ADD_MEM (fpregs[10], 8);
+      ADD_STRING (" FR11: ");
+      ADD_MEM (fpregs[11], 8);
+      ADD_STRING ("\nFR12: ");
+      ADD_MEM (fpregs[12], 8);
+      ADD_STRING (" FR13: ");
+      ADD_MEM (fpregs[13], 8);
+      ADD_STRING (" FR14: ");
+      ADD_MEM (fpregs[14], 8);
+      ADD_STRING (" FR15: ");
+      ADD_MEM (fpregs[15], 8);
+      ADD_STRING ("\n\n XR0: ");
+      ADD_MEM (fpregs[16], 8);
+      ADD_STRING ("  XR1: ");
+      ADD_MEM (fpregs[17], 8);
+      ADD_STRING ("  XR2: ");
+      ADD_MEM (fpregs[18], 8);
+      ADD_STRING ("  XR3: ");
+      ADD_MEM (fpregs[19], 8);
+      ADD_STRING ("\n XR4: ");
+      ADD_MEM (fpregs[20], 8);
+      ADD_STRING ("  XR5: ");
+      ADD_MEM (fpregs[21], 8);
+      ADD_STRING ("  XR6: ");
+      ADD_MEM (fpregs[22], 8);
+      ADD_STRING ("  XR7: ");
+      ADD_MEM (fpregs[23], 8);
+      ADD_STRING ("\n XR8: ");
+      ADD_MEM (fpregs[24], 8);
+      ADD_STRING ("  XR9: ");
+      ADD_MEM (fpregs[25], 8);
+      ADD_STRING (" XR10: ");
+      ADD_MEM (fpregs[26], 8);
+      ADD_STRING (" XR11: ");
+      ADD_MEM (fpregs[27], 8);
+      ADD_STRING ("\nXR12: ");
+      ADD_MEM (fpregs[28], 8);
+      ADD_STRING (" XR13: ");
+      ADD_MEM (fpregs[29], 8);
+      ADD_STRING (" XR14: ");
+      ADD_MEM (fpregs[30], 8);
+      ADD_STRING (" XR15: ");
+      ADD_MEM (fpregs[31], 8);
+
+      ADD_STRING ("\n\nFPSCR: ");
+      ADD_MEM (fpregs[32], 8);
+      ADD_STRING (" FPUL: ");
+      ADD_MEM (fpregs[33], 8);
+
+      ADD_STRING ("\n");
+    }
+#endif /* __SH_FPU_ANY__  */
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, &ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
new file mode 100644
index 0000000000..e6672a6585
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
@@ -0,0 +1,141 @@
+/* Install given context.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __setcontext (const ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__setcontext)
+
+	mov	r4, r8
+
+	/* sigprocmask (SIG_SETMASK, &uc->uc_sigmask, NULL).  */
+	mov	r4, r5
+	add	#(oSIGMASK/2), r5
+	add	#(oSIGMASK/2), r5
+	mov	#SIG_SETMASK, r4
+	mov	#0, r6
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lsetcontext_restore
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+
+.Lsetcontext_restore:
+#ifdef __SH_FPU_ANY__
+	mov	r8, r0
+	add	#(oFR0),r0
+	fmov.s	@r0+, fr0
+	fmov.s	@r0+, fr1
+	fmov.s	@r0+, fr2
+	fmov.s	@r0+, fr3
+	fmov.s	@r0+, fr4
+	fmov.s	@r0+, fr5
+	fmov.s	@r0+, fr6
+	fmov.s	@r0+, fr7
+	fmov.s	@r0+, fr8
+	fmov.s	@r0+, fr9
+	fmov.s	@r0+, fr10
+	fmov.s	@r0+, fr11
+	fmov.s	@r0+, fr12
+	fmov.s	@r0+, fr13
+	fmov.s	@r0+, fr14
+	fmov.s	@r0+, fr15
+	frchg
+	fmov.s	@r0+, fr0
+	fmov.s	@r0+, fr1
+	fmov.s	@r0+, fr2
+	fmov.s	@r0+, fr3
+	fmov.s	@r0+, fr4
+	fmov.s	@r0+, fr5
+	fmov.s	@r0+, fr6
+	fmov.s	@r0+, fr7
+	fmov.s	@r0+, fr8
+	fmov.s	@r0+, fr9
+	fmov.s	@r0+, fr10
+	fmov.s	@r0+, fr11
+	fmov.s	@r0+, fr12
+	fmov.s	@r0+, fr13
+	fmov.s	@r0+, fr14
+	fmov.s	@r0+, fr15
+	frchg
+	lds.l	@r0+, fpscr
+	lds.l	@r0+, fpul
+#endif /* __SH_FPU_ANY__ */
+
+	mov	r8, r0
+	add	#(oPC), r0
+	mov.l	@r0+, r2
+	lds.l	@r0+, pr
+
+	/* Restore T frag.  */
+	mov.l	@r0+, r1
+	shlr	r1
+	/* Skip GBR which is used for thread pointer.  */
+	add	#4, r0
+
+	lds.l	@r0+, mach
+	lds.l	@r0+, macl
+
+	mov	r8, r0
+	add	#(oR9), r0
+	mov.l	@r0+, r9
+	mov.l	@r0+, r10
+	mov.l	@r0+, r11
+	mov.l	@r0+, r12
+	mov.l	@r0+, r13
+	mov.l	@r0+, r14
+	mov.l	@r0+, r15
+
+	mov	r8, r0
+	mov.l	@(oR0,r0), r1
+	mov.l	r1, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r1, 0)
+	mov.l	r2, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r2, 0)
+
+	mov.l	@(oR1,r0), r1
+	mov.l	@(oR2,r0), r2
+	mov.l	@(oR3,r0), r3
+	mov.l	@(oR4,r0), r4
+	mov.l	@(oR5,r0), r5
+	mov.l	@(oR6,r0), r6
+	mov.l	@(oR7,r0), r7
+	mov.l	@(oR8,r0), r8
+	mov.l	@r15+, r0
+	cfi_adjust_cfa_offset(-4)
+	jmp	@r0
+	 mov.l	@r15+, r0
+
+PSEUDO_END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
new file mode 100644
index 0000000000..5f96790be1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
@@ -0,0 +1,218 @@
+/* Save current context and install the given one.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/*  int __swapcontext (ucontext_t *ouc, const ucontext_t *uc);  */
+
+	.text
+	.align  5
+ENTRY(__swapcontext)
+
+	/* Return value of getcontext.  R0 is the only register whose
+	   value is not preserved.  */
+	mov	#0, r0
+	mov.l	r0, @(oR0,r4)
+	mov.l	r1, @(oR1,r4)
+	mov.l	r2, @(oR2,r4)
+	mov.l	r3, @(oR3,r4)
+	mov.l	r4, @(oR4,r4)
+	mov.l	r5, @(oR5,r4)
+	mov.l	r6, @(oR6,r4)
+	mov.l	r7, @(oR7,r4)
+	mov	r4, r0
+	add	#(oMACL+4), r0
+	sts.l	macl, @-r0
+	sts.l	mach, @-r0
+	stc.l	gbr, @-r0
+
+	/* Save T flag to SR.  */
+	movt	r1
+	mov.l	r1, @-r0
+	sts.l	pr, @-r0
+
+	/* The return address of getcontext is the restart pc.  */
+	sts.l	pr, @-r0
+
+	mov.l	r15, @-r0
+	mov.l	r14, @-r0
+	mov.l	r13, @-r0
+	mov.l	r12, @-r0
+	mov.l	r11, @-r0
+	mov.l	r10, @-r0
+	mov.l	r9, @-r0
+	mov.l	r8, @-r0
+
+#ifdef __SH_FPU_ANY__
+	mov	r4, r0
+	/* We need 2 add instruction because oFPUL+4 >= 127.  */
+	add	#124,r0
+	add	#(oFPUL+4-124),r0
+	sts.l	fpul, @-r0
+	sts.l	fpscr, @-r0
+	frchg
+	fmov.s	fr15, @-r0
+	fmov.s	fr14, @-r0
+	fmov.s	fr13, @-r0
+	fmov.s	fr12, @-r0
+	fmov.s	fr11, @-r0
+	fmov.s	fr10, @-r0
+	fmov.s	fr9, @-r0
+	fmov.s	fr8, @-r0
+	fmov.s	fr7, @-r0
+	fmov.s	fr6, @-r0
+	fmov.s	fr5, @-r0
+	fmov.s	fr4, @-r0
+	fmov.s	fr3, @-r0
+	fmov.s	fr2, @-r0
+	fmov.s	fr1, @-r0
+	fmov.s	fr0, @-r0
+	frchg
+	fmov.s	fr15, @-r0
+	fmov.s	fr14, @-r0
+	fmov.s	fr13, @-r0
+	fmov.s	fr12, @-r0
+	fmov.s	fr11, @-r0
+	fmov.s	fr10, @-r0
+	fmov.s	fr9, @-r0
+	fmov.s	fr8, @-r0
+	fmov.s	fr7, @-r0
+	fmov.s	fr6, @-r0
+	fmov.s	fr5, @-r0
+	fmov.s	fr4, @-r0
+	fmov.s	fr3, @-r0
+	fmov.s	fr2, @-r0
+	fmov.s	fr1, @-r0
+	fmov.s	fr0, @-r0
+#endif /* __SH_FPU_ANY__ */
+
+	mov	r5, r8
+
+	/* sigprocmask (SIG_SETMASK, &uc->uc_sigmask, &ouc->uc_sigmask).  */
+	mov	#oSIGMASK, r1
+	extu.b	r1, r1
+	add	r1, r5
+	mov	r4, r6
+	add	r1, r6
+	mov	#SIG_SETMASK, r4
+	mov	#+SYS_ify(sigprocmask), r3
+	trapa	#0x13
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lswapcontext_restore
+.Lsyscall_error:
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+.Lswapcontext_restore:
+#ifdef __SH_FPU_ANY__
+	mov	r8, r0
+	add	#(oFR0),r0
+	fmov.s	@r0+, fr0
+	fmov.s	@r0+, fr1
+	fmov.s	@r0+, fr2
+	fmov.s	@r0+, fr3
+	fmov.s	@r0+, fr4
+	fmov.s	@r0+, fr5
+	fmov.s	@r0+, fr6
+	fmov.s	@r0+, fr7
+	fmov.s	@r0+, fr8
+	fmov.s	@r0+, fr9
+	fmov.s	@r0+, fr10
+	fmov.s	@r0+, fr11
+	fmov.s	@r0+, fr12
+	fmov.s	@r0+, fr13
+	fmov.s	@r0+, fr14
+	fmov.s	@r0+, fr15
+	frchg
+	fmov.s	@r0+, fr0
+	fmov.s	@r0+, fr1
+	fmov.s	@r0+, fr2
+	fmov.s	@r0+, fr3
+	fmov.s	@r0+, fr4
+	fmov.s	@r0+, fr5
+	fmov.s	@r0+, fr6
+	fmov.s	@r0+, fr7
+	fmov.s	@r0+, fr8
+	fmov.s	@r0+, fr9
+	fmov.s	@r0+, fr10
+	fmov.s	@r0+, fr11
+	fmov.s	@r0+, fr12
+	fmov.s	@r0+, fr13
+	fmov.s	@r0+, fr14
+	fmov.s	@r0+, fr15
+	frchg
+	lds.l	@r0+, fpscr
+	lds.l	@r0+, fpul
+#endif /* __SH_FPU_ANY__ */
+
+	mov	r8, r0
+	add	#(oPC), r0
+	mov.l	@r0+, r2
+	lds.l	@r0+, pr
+
+	/* Restore T frag.  */
+	mov.l	@r0+, r1
+	shlr	r1
+	/* Skip GBR which is used for thread pointer.  */
+	add	#4, r0
+
+	lds.l	@r0+, mach
+	lds.l	@r0+, macl
+
+	mov	r8, r0
+	add	#(oR9), r0
+	mov.l	@r0+, r9
+	mov.l	@r0+, r10
+	mov.l	@r0+, r11
+	mov.l	@r0+, r12
+	mov.l	@r0+, r13
+	mov.l	@r0+, r14
+	mov.l	@r0+, r15
+
+	mov	r8, r0
+	mov.l	@(oR0,r0), r1
+	mov.l	r1, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r1, 0)
+	mov.l	r2, @-r15
+	cfi_adjust_cfa_offset(4)
+	cfi_rel_offset (r2, 0)
+
+	mov.l	@(oR1,r0), r1
+	mov.l	@(oR2,r0), r2
+	mov.l	@(oR3,r0), r3
+	mov.l	@(oR4,r0), r4
+	mov.l	@(oR5,r0), r5
+	mov.l	@(oR6,r0), r6
+	mov.l	@(oR7,r0), r7
+	mov.l	@(oR8,r0), r8
+	mov.l	@r15+, r0
+	cfi_adjust_cfa_offset(-4)
+	jmp	@r0
+	 mov.l	@r15+, r0
+
+PSEUDO_END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
new file mode 100644
index 0000000000..852f8eed7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
@@ -0,0 +1,4 @@
+/*  4 instruction cycles not accessing cache and TLB are needed after
+    trapa instruction to avoid an SH-4 silicon bug.  */
+#define NEED_SYSCALL_INST_PAD
+#include <sysdeps/unix/sysv/linux/sh/sysdep.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
new file mode 100644
index 0000000000..130f60cd96
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
@@ -0,0 +1,73 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+oLINK		ucontext (uc_link)
+oSS_SP		ucontext (uc_stack.ss_sp)
+oSS_SIZE	ucontext (uc_stack.ss_size)
+oR0		mcontext (gregs[REG_R0])
+oR1		mcontext (gregs[REG_R1])
+oR2		mcontext (gregs[REG_R2])
+oR3		mcontext (gregs[REG_R3])
+oR4		mcontext (gregs[REG_R4])
+oR5		mcontext (gregs[REG_R5])
+oR6		mcontext (gregs[REG_R6])
+oR7		mcontext (gregs[REG_R7])
+oR8		mcontext (gregs[REG_R8])
+oR9		mcontext (gregs[REG_R9])
+oR10		mcontext (gregs[REG_R10])
+oR11		mcontext (gregs[REG_R11])
+oR12		mcontext (gregs[REG_R12])
+oR13		mcontext (gregs[REG_R13])
+oR14		mcontext (gregs[REG_R14])
+oR15		mcontext (gregs[REG_R15])
+oPC		mcontext (pc)
+oPR		mcontext (pr)
+oSR		mcontext (sr)
+oGBR		mcontext (gbr)
+oMACH		mcontext (mach)
+oMACL		mcontext (macl)
+oFR0		mcontext (fpregs[0])
+oFR1		mcontext (fpregs[1])
+oFR2		mcontext (fpregs[2])
+oFR3		mcontext (fpregs[3])
+oFR4		mcontext (fpregs[4])
+oFR5		mcontext (fpregs[5])
+oFR6		mcontext (fpregs[6])
+oFR7		mcontext (fpregs[7])
+oFR8		mcontext (fpregs[8])
+oFR9		mcontext (fpregs[9])
+oFR10		mcontext (fpregs[10])
+oFR11		mcontext (fpregs[11])
+oFR12		mcontext (fpregs[12])
+oFR13		mcontext (fpregs[13])
+oFR14		mcontext (fpregs[14])
+oFR15		mcontext (fpregs[15])
+oXFR0		mcontext (xfpregs[0])
+oXFR1		mcontext (xfpregs[1])
+oXFR2		mcontext (xfpregs[2])
+oXFR3		mcontext (xfpregs[3])
+oXFR4		mcontext (xfpregs[4])
+oXFR5		mcontext (xfpregs[5])
+oXFR6		mcontext (xfpregs[6])
+oXFR7		mcontext (xfpregs[7])
+oXFR8		mcontext (xfpregs[8])
+oXFR9		mcontext (xfpregs[9])
+oXFR10		mcontext (xfpregs[10])
+oXFR11		mcontext (xfpregs[11])
+oXFR12		mcontext (xfpregs[12])
+oXFR13		mcontext (xfpregs[13])
+oXFR14		mcontext (xfpregs[14])
+oXFR15		mcontext (xfpregs[15])
+oFPSCR		mcontext (fpscr)
+oFPUL		mcontext (fpul)
+oOWNEDFP	mcontext (ownedfp)
+oSIGMASK	ucontext (uc_sigmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/sh/shlib-versions
new file mode 100644
index 0000000000..9333bbd7a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/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/sh/sigaltstack-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sigaltstack-offsets.sym
new file mode 100644
index 0000000000..f73446941a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sigaltstack-offsets.sym
@@ -0,0 +1,13 @@
+#include <stddef.h>
+#include <signal.h>
+
+--
+
+#define sigaltstack(member)	offsetof (stack_t, member)
+
+sizeSS				sizeof (stack_t)
+oSS_SP				sigaltstack (ss_sp)
+oSS_FLAGS			sigaltstack (ss_flags)
+oSS_SIZE			sigaltstack (ss_size)
+
+SS_ONSTACK
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
new file mode 100644
index 0000000000..546f23bb3e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Philip Blundell <philb@gnu.org>, 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/>.  */
+
+#define SIGCONTEXT int _a2, int _a3, int _a4, struct sigcontext
+
+#define SIGCONTEXT_EXTRA_ARGS _a2, _a3, _a4,
+#define GET_PC(ctx)	((void *) ctx.sc_pc)
+#define GET_FRAME(ctx)	((void *) ctx.sc_regs[14])
+#define GET_STACK(ctx)	((void *) ctx.sc_regs[15])
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/smp.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/smp.h
new file mode 100644
index 0000000000..8914a5b10c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/smp.h
@@ -0,0 +1,23 @@
+/* Determine whether the host has multiple processors.  SH version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+static inline int
+is_smp_system (void)
+{
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/procfs.h
new file mode 100644
index 0000000000..414911a661
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/procfs.h
@@ -0,0 +1,111 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+#if 0
+    long int pr_flags;			/* XXX Process flags.  */
+    short int pr_why;			/* XXX Reason for process halt.  */
+    short int pr_what;			/* XXX More detailed reason.  */
+#endif
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#if 0
+    stack_t pr_altstack;		/* Alternate stack info.  */
+    struct sigaction pr_action;		/* Signal action for current sig.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+#if 0
+    long int pr_instr;			/* Current instruction.  */
+#endif
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
new file mode 100644
index 0000000000..d44f95e0f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
@@ -0,0 +1,127 @@
+/* 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/>.  */
+
+/* Where is System V/SH ABI?  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+typedef int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	16
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_MISC
+/* Number of each register is the `gregset_t' array.  */
+enum
+{
+  REG_R0 = 0,
+# define REG_R0	REG_R0
+  REG_R1 = 1,
+# define REG_R1	REG_R1
+  REG_R2 = 2,
+# define REG_R2	REG_R2
+  REG_R3 = 3,
+# define REG_R3	REG_R3
+  REG_R4 = 4,
+# define REG_R4	REG_R4
+  REG_R5 = 5,
+# define REG_R5	REG_R5
+  REG_R6 = 6,
+# define REG_R6	REG_R6
+  REG_R7 = 7,
+# define REG_R7	REG_R7
+  REG_R8 = 8,
+# define REG_R8	REG_R8
+  REG_R9 = 9,
+# define REG_R9	REG_R9
+  REG_R10 = 10,
+# define REG_R10	REG_R10
+  REG_R11 = 11,
+# define REG_R11	REG_R11
+  REG_R12 = 12,
+# define REG_R12	REG_R12
+  REG_R13 = 13,
+# define REG_R13	REG_R13
+  REG_R14 = 14,
+# define REG_R14	REG_R14
+  REG_R15 = 15,
+# define REG_R15	REG_R15
+};
+#endif
+
+typedef int freg_t;
+
+/* Number of FPU registers.  */
+#define __NFPREG	16
+#ifdef __USE_MISC
+# define NFPREG	__NFPREG
+#endif
+
+/* Structure to describe FPU registers.  */
+typedef freg_t fpregset_t[__NFPREG];
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    unsigned int __ctx(oldmask);
+    gregset_t __ctx(gregs);
+    unsigned int __ctx(pc);
+    unsigned int __ctx(pr);
+    unsigned int __ctx(sr);
+    unsigned int __ctx(gbr);
+    unsigned int __ctx(mach);
+    unsigned int __ctx(macl);
+    fpregset_t __ctx(fpregs);
+    fpregset_t __ctx(xfpregs);
+    unsigned int __ctx(fpscr);
+    unsigned int __ctx(fpul);
+    unsigned int __ctx(ownedfp);
+  } mcontext_t;
+
+#undef __ctx
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/user.h
new file mode 100644
index 0000000000..2ecda2d962
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sys/user.h
@@ -0,0 +1,67 @@
+/* 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 _SYS_USER_H
+#define _SYS_USER_H	1
+
+#include <asm/ptrace.h>
+#include <stddef.h>
+
+/* asm/ptrace.h polutes the namespace.  */
+#undef PTRACE_GETREGS
+#undef PTRACE_SETREGS
+#undef PTRACE_GETFPREGS
+#undef PTRACE_SETFPREGS
+#undef PTRACE_GETFDPIC
+#undef PTRACE_GETFDPIC_EXEC
+#undef PTRACE_GETFDPIC_INTERP
+#undef	PTRACE_GETDSPREGS
+#undef	PTRACE_SETDSPREGS
+
+typedef unsigned long elf_greg_t;
+
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof (elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+struct user_fpu_struct
+  {
+    unsigned long fp_regs[16];
+    unsigned long xfp_regs[16];
+    unsigned long fpscr;
+    unsigned long fpul;
+  };
+typedef struct user_fpu_struct elf_fpregset_t;
+
+struct user
+  {
+    struct pt_regs regs;
+    struct user_fpu_struct fpu;
+    int u_fpvalid;
+    size_t u_tsize;
+    size_t u_dsize;
+    size_t u_ssize;
+    unsigned long start_code;
+    unsigned long start_data;
+    unsigned long start_stack;
+    long int signal;
+    unsigned long u_ar0;
+    struct user_fpu_struct *u_fpstate;
+    unsigned long magic;
+    char u_comm[32];
+  };
+
+#endif  /* sys/user.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscall.S
new file mode 100644
index 0000000000..af1695bc44
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscall.S
@@ -0,0 +1,43 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY (__syscall)
+	mov	r4, r3			// syscall number
+	mov	r5, r4			// p1
+	mov	r6, r5			// p2
+	mov	r7, r6			// p3
+	mov.l	@r15, r7		// p4
+	mov.l	@(4,r15), r0		// p5
+	mov.l	@(8,r15), r1		// p6
+	mov.l	@(12,r15), r2		// p7
+	trapa	#0x17
+	mov     r0, r1
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lpseudo_end
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+
+PSEUDO_END (__syscall)
+
+weak_alias (__syscall, syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscalls.list
new file mode 100644
index 0000000000..32badd1ee0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/syscalls.list
@@ -0,0 +1,22 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown
+lchown		-	lchown32	i:sii	__lchown	lchown
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
+getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	__fanotify_mark	fanotify_mark@@GLIBC_2.16
+
+personality	EXTRA	personality	Ei:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
new file mode 100644
index 0000000000..5645cadbcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
@@ -0,0 +1,169 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# define _IMM12 #-12
+# define _IMM16 #-16
+# define _IMP16 #16
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args) \
+  .text; \
+  ENTRY (name); \
+  .Lpseudo_start: \
+    SINGLE_THREAD_P; \
+    bf .Lpseudo_cancel; \
+    .type __##syscall_name##_nocancel,@function; \
+    .globl __##syscall_name##_nocancel; \
+    __##syscall_name##_nocancel: \
+    DO_CALL (syscall_name, args); \
+    mov r0,r1; \
+    mov _IMM12,r2; \
+    shad r2,r1; \
+    not r1,r1; \
+    tst r1,r1; \
+    bt .Lsyscall_error; \
+    bra .Lpseudo_end; \
+     nop; \
+    .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
+ .Lpseudo_cancel: \
+    sts.l pr,@-r15; \
+    cfi_adjust_cfa_offset (4); \
+    cfi_rel_offset (pr, 0); \
+    add _IMM16,r15; \
+    cfi_adjust_cfa_offset (16); \
+    SAVE_ARGS_##args; \
+    CENABLE; \
+    LOAD_ARGS_##args; \
+    add _IMP16,r15; \
+    cfi_adjust_cfa_offset (-16); \
+    lds.l @r15+,pr; \
+    cfi_adjust_cfa_offset (-4); \
+    cfi_restore (pr); \
+    DO_CALL(syscall_name, args); \
+    SYSCALL_INST_PAD; \
+    sts.l pr,@-r15; \
+    cfi_adjust_cfa_offset (4); \
+    cfi_rel_offset (pr, 0); \
+    mov.l r0,@-r15; \
+    cfi_adjust_cfa_offset (4); \
+    cfi_rel_offset (r0, 0); \
+    CDISABLE; \
+    mov.l @r15+,r0; \
+    cfi_adjust_cfa_offset (-4); \
+    cfi_restore (r0); \
+    lds.l @r15+,pr; \
+    cfi_adjust_cfa_offset (-4); \
+    cfi_restore (pr); \
+    mov r0,r1; \
+    mov _IMM12,r2; \
+    shad r2,r1; \
+    not r1,r1; \
+    tst r1,r1; \
+    bf .Lpseudo_end; \
+ .Lsyscall_error: \
+    SYSCALL_ERROR_HANDLER; \
+ .Lpseudo_end:
+
+# undef PSEUDO_END
+# define PSEUDO_END(sym) \
+  END (sym)
+
+# define SAVE_ARGS_0	/* Nothing.  */
+# define SAVE_ARGS_1	SAVE_ARGS_0; mov.l r4,@(0,r15); cfi_offset (r4,-4)
+# define SAVE_ARGS_2	SAVE_ARGS_1; mov.l r5,@(4,r15); cfi_offset (r5,-8)
+# define SAVE_ARGS_3	SAVE_ARGS_2; mov.l r6,@(8,r15); cfi_offset (r6,-12)
+# define SAVE_ARGS_4	SAVE_ARGS_3; mov.l r7,@(12,r15); cfi_offset (r7,-16)
+# define SAVE_ARGS_5	SAVE_ARGS_4
+# define SAVE_ARGS_6	SAVE_ARGS_5
+
+# define LOAD_ARGS_0	/* Nothing.  */
+# define LOAD_ARGS_1	LOAD_ARGS_0; mov.l @(0,r15),r4; cfi_restore (r4)
+# define LOAD_ARGS_2	LOAD_ARGS_1; mov.l @(4,r15),r5; cfi_restore (r5)
+# define LOAD_ARGS_3	LOAD_ARGS_2; mov.l @(8,r15),r6; cfi_restore (r6)
+# define LOAD_ARGS_4	LOAD_ARGS_3; mov.l @(12,r15),r7; cfi_restore (r7)
+# define LOAD_ARGS_5	LOAD_ARGS_4
+# define LOAD_ARGS_6	LOAD_ARGS_5
+
+# if IS_IN (libpthread)
+#  define __local_enable_asynccancel	__pthread_enable_asynccancel
+#  define __local_disable_asynccancel	__pthread_disable_asynccancel
+# elif IS_IN (libc)
+#  define __local_enable_asynccancel	__libc_enable_asynccancel
+#  define __local_disable_asynccancel	__libc_disable_asynccancel
+# elif IS_IN (librt)
+#  define __local_enable_asynccancel	__librt_enable_asynccancel
+#  define __local_disable_asynccancel	__librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+# define CENABLE \
+	mov.l 1f,r0; \
+	bsrf r0; \
+	 nop; \
+     0: bra 2f; \
+	 mov r0,r2; \
+	.align 2; \
+     1: .long __local_enable_asynccancel - 0b; \
+     2:
+
+# define CDISABLE \
+	mov.l 1f,r0; \
+	bsrf r0; \
+	 mov r2,r4; \
+     0: bra 2f; \
+	 nop; \
+	.align 2; \
+     1: .long __local_disable_asynccancel - 0b; \
+     2:
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P \
+	stc gbr,r0; \
+	mov.w 0f,r1; \
+	sub r1,r0; \
+	mov.l @(MULTIPLE_THREADS_OFFSET,r0),r0; \
+	bra 1f; \
+	 tst r0,r0; \
+     0: .word TLS_PRE_TCB_SIZE; \
+     1:
+
+# 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/sh/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.S
new file mode 100644
index 0000000000..5f11bc737b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.S
@@ -0,0 +1,32 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* The syscall stubs jump here when they detect an error.
+   The code for Linux is almost identical to the canonical Unix
+   code, except that the error number in R0 is negated.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers R0.  */
+
+ENTRY (__syscall_error)
+	neg r4, r0
+	cfi_endproc
+
+#define __syscall_error __syscall_error_1
+#include <sysdeps/unix/sh/sysdep.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.h
new file mode 100644
index 0000000000..b76140cd90
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/sysdep.h
@@ -0,0 +1,360 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
+   Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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_SH_SYSDEP_H
+#define _LINUX_SH_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/sh/sysdep.h>
+#include <tls.h>
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	(__NR_##syscall_name)
+
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in R0
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can savely
+   test with -4095.  */
+
+#define _IMM1 #-1
+#define _IMM12 #-12
+#undef	PSEUDO
+#define	PSEUDO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name); \
+    DO_CALL (syscall_name, args); \
+    mov r0,r1; \
+    mov _IMM12,r2; \
+    shad r2,r1; \
+    not r1,r1; \
+    tst r1,r1; \
+    bf .Lpseudo_end; \
+    SYSCALL_ERROR_HANDLER; \
+ .Lpseudo_end:
+
+#undef	PSEUDO_END
+#define	PSEUDO_END(name) \
+  END (name)
+
+#undef	PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name); \
+    DO_CALL (syscall_name, args)
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name) \
+  END (name)
+
+#define ret_NOERRNO ret
+
+#define	PSEUDO_ERRVAL(name, syscall_name, args) \
+ .text; \
+ ENTRY (name); \
+    DO_CALL (syscall_name, args);
+
+#undef	PSEUDO_END_ERRVAL
+#define	PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+#define ret_ERRVAL ret
+
+#ifndef PIC
+# define SYSCALL_ERROR_HANDLER	\
+	mov.l 0f,r1; \
+	jmp @r1; \
+	 mov r0,r4; \
+	.align 2; \
+     0: .long __syscall_error
+#else
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_HANDLER	\
+	neg r0,r1; \
+	mov r12,r2; \
+	cfi_register (r12, r2); \
+	mov.l 0f,r12; \
+	mova 0f,r0; \
+	add r0,r12; \
+	mov.l 1f,r0; \
+	mov.l r1,@(r0,r12); \
+	mov r2,r12; \
+	cfi_restore (r12); \
+	bra .Lpseudo_end; \
+	 mov _IMM1,r0; \
+	.align 2; \
+     0: .long _GLOBAL_OFFSET_TABLE_; \
+     1: .long rtld_errno@GOTOFF
+
+# 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 \
+	neg r0,r1; \
+	mov r12,r2; \
+	cfi_register (r12, r2); \
+	mov.l 0f,r12; \
+	mova 0f,r0; \
+	add r0,r12; \
+	mov.l 1f,r0; \
+	stc gbr, r4; \
+	mov.l @(r0,r12),r0; \
+	mov r2,r12; \
+	cfi_restore (r12); \
+	add r4,r0; \
+	mov.l r1,@r0; \
+	bra .Lpseudo_end; \
+	 mov _IMM1,r0; \
+	.align 2; \
+     0: .long _GLOBAL_OFFSET_TABLE_; \
+     1: .long SYSCALL_ERROR_ERRNO@GOTTPOFF
+# else
+/* Store (-r0) into errno through the GOT.  */
+#  define SYSCALL_ERROR_HANDLER						      \
+	neg r0,r1; \
+	mov r12,r2; \
+	cfi_register (r12, r2); \
+	mov.l 0f,r12; \
+	mova 0f,r0; \
+	add r0,r12; \
+	mov.l 1f,r0; \
+	mov.l @(r0,r12),r0; \
+	mov r2,r12; \
+	cfi_restore (r12); \
+	mov.l r1,@r0; \
+	bra .Lpseudo_end; \
+	 mov _IMM1,r0; \
+	.align 2; \
+     0: .long _GLOBAL_OFFSET_TABLE_; \
+     1: .long errno@GOT
+# endif	/* _LIBC_REENTRANT */
+#endif	/* PIC */
+
+# ifdef NEED_SYSCALL_INST_PAD
+#  define SYSCALL_INST_PAD \
+	or r0,r0; or r0,r0; or r0,r0; or r0,r0; or r0,r0
+# else
+#  define SYSCALL_INST_PAD
+# endif
+
+#define SYSCALL_INST0	trapa #0x10
+#define SYSCALL_INST1	trapa #0x11
+#define SYSCALL_INST2	trapa #0x12
+#define SYSCALL_INST3	trapa #0x13
+#define SYSCALL_INST4	trapa #0x14
+#define SYSCALL_INST5	mov.l @(0,r15),r0; trapa #0x15
+#define SYSCALL_INST6	mov.l @(0,r15),r0; mov.l @(4,r15),r1; trapa #0x16
+
+#undef	DO_CALL
+#define DO_CALL(syscall_name, args)	\
+    mov.l 1f,r3;			\
+    SYSCALL_INST##args;			\
+    SYSCALL_INST_PAD;			\
+    bra 2f;				\
+     nop;				\
+    .align 2;				\
+ 1: .long SYS_ify (syscall_name);	\
+ 2:
+
+#else /* not __ASSEMBLER__ */
+
+#define SYSCALL_INST_STR0	"trapa #0x10\n\t"
+#define SYSCALL_INST_STR1	"trapa #0x11\n\t"
+#define SYSCALL_INST_STR2	"trapa #0x12\n\t"
+#define SYSCALL_INST_STR3	"trapa #0x13\n\t"
+#define SYSCALL_INST_STR4	"trapa #0x14\n\t"
+#define SYSCALL_INST_STR5	"trapa #0x15\n\t"
+#define SYSCALL_INST_STR6	"trapa #0x16\n\t"
+
+# ifdef NEED_SYSCALL_INST_PAD
+#  define SYSCALL_INST_PAD "\
+	or r0,r0; or r0,r0; or r0,r0; or r0,r0; or r0,r0"
+# else
+#  define SYSCALL_INST_PAD
+# endif
+
+#define ASMFMT_0
+#define ASMFMT_1 \
+	, "r" (r4)
+#define ASMFMT_2 \
+	, "r" (r4), "r" (r5)
+#define ASMFMT_3 \
+	, "r" (r4), "r" (r5), "r" (r6)
+#define ASMFMT_4 \
+	, "r" (r4), "r" (r5), "r" (r6), "r" (r7)
+#define ASMFMT_5 \
+	, "r" (r4), "r" (r5), "r" (r6), "r" (r7), "0" (r0)
+#define ASMFMT_6 \
+	, "r" (r4), "r" (r5), "r" (r6), "r" (r7), "0" (r0), "r" (r1)
+#define ASMFMT_7 \
+	, "r" (r4), "r" (r5), "r" (r6), "r" (r7), "0" (r0), "r" (r1), "r" (r2)
+
+#define SUBSTITUTE_ARGS_0()
+#define SUBSTITUTE_ARGS_1(arg1) \
+	long int _arg1 = (long int) (arg1);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1)
+#define SUBSTITUTE_ARGS_2(arg1, arg2) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2)
+#define SUBSTITUTE_ARGS_3(arg1, arg2, arg3) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	long int _arg3 = (long int) (arg3);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2);		      \
+	register long int r6 asm ("%r6") = (long int) (_arg3)
+#define SUBSTITUTE_ARGS_4(arg1, arg2, arg3, arg4) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	long int _arg3 = (long int) (arg3);				      \
+	long int _arg4 = (long int) (arg4);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2);		      \
+	register long int r6 asm ("%r6") = (long int) (_arg3);		      \
+	register long int r7 asm ("%r7") = (long int) (_arg4)
+#define SUBSTITUTE_ARGS_5(arg1, arg2, arg3, arg4, arg5) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	long int _arg3 = (long int) (arg3);				      \
+	long int _arg4 = (long int) (arg4);				      \
+	long int _arg5 = (long int) (arg5);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2);		      \
+	register long int r6 asm ("%r6") = (long int) (_arg3);		      \
+	register long int r7 asm ("%r7") = (long int) (_arg4);		      \
+	register long int r0 asm ("%r0") = (long int) (_arg5)
+#define SUBSTITUTE_ARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	long int _arg3 = (long int) (arg3);				      \
+	long int _arg4 = (long int) (arg4);				      \
+	long int _arg5 = (long int) (arg5);				      \
+	long int _arg6 = (long int) (arg6);				      \
+	register long int r4 asm ("%r4") = (long int)(_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2);		      \
+	register long int r6 asm ("%r6") = (long int) (_arg3);		      \
+	register long int r7 asm ("%r7") = (long int) (_arg4);		      \
+	register long int r0 asm ("%r0") = (long int) (_arg5);		      \
+	register long int r1 asm ("%r1") = (long int) (_arg6)
+#define SUBSTITUTE_ARGS_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
+	long int _arg1 = (long int) (arg1);				      \
+	long int _arg2 = (long int) (arg2);				      \
+	long int _arg3 = (long int) (arg3);				      \
+	long int _arg4 = (long int) (arg4);				      \
+	long int _arg5 = (long int) (arg5);				      \
+	long int _arg6 = (long int) (arg6);				      \
+	long int _arg7 = (long int) (arg7);				      \
+	register long int r4 asm ("%r4") = (long int) (_arg1);		      \
+	register long int r5 asm ("%r5") = (long int) (_arg2);		      \
+	register long int r6 asm ("%r6") = (long int) (_arg3);		      \
+	register long int r7 asm ("%r7") = (long int) (_arg4);		      \
+	register long int r0 asm ("%r0") = (long int) (_arg5);		      \
+	register long int r1 asm ("%r1") = (long int) (_arg6);		      \
+	register long int r2 asm ("%r2") = (long int) (_arg7)
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...) \
+  ({                                                                          \
+    unsigned int resultvar = INTERNAL_SYSCALL (name, , nr, args);             \
+    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (resultvar, ), 0))         \
+      {                                                                       \
+	__set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));                   \
+	resultvar = 0xffffffff;                                               \
+      }                                                                       \
+    (int) resultvar; })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+  ({									      \
+    unsigned long int resultvar;					      \
+    register long int r3 asm ("%r3") = SYS_ify (name);			      \
+    SUBSTITUTE_ARGS_##nr(args);						      \
+									      \
+    asm volatile (SYSCALL_INST_STR##nr SYSCALL_INST_PAD			      \
+		  : "=z" (resultvar)					      \
+		  : "r" (r3) ASMFMT_##nr				      \
+		  : "memory", "t");					      \
+									      \
+    (int) resultvar; })
+
+/* The _NCS variant allows non-constant syscall numbers.  */
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    unsigned long int resultvar;					      \
+    register long int r3 asm ("%r3") = (name);				      \
+    SUBSTITUTE_ARGS_##nr(args);						      \
+									      \
+    asm volatile (SYSCALL_INST_STR##nr SYSCALL_INST_PAD			      \
+		  : "=z" (resultvar)					      \
+		  : "r" (r3) ASMFMT_##nr				      \
+		  : "memory", "t");					      \
+									      \
+    (int) resultvar; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned int) (val) >= 0xfffff001u)
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)        (-(val))
+
+#endif	/* __ASSEMBLER__ */
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  Using a global variable
+   is too complicated here since we have no PC-relative addressing mode.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmp) \
+     stc gbr,tmp; mov.l @(POINTER_GUARD,tmp),tmp; xor tmp,reg
+#  define PTR_MANGLE2(reg, tmp)	xor tmp,reg
+#  define PTR_DEMANGLE(reg, tmp)	PTR_MANGLE (reg, tmp)
+#  define PTR_DEMANGLE2(reg, tmp)	PTR_MANGLE2 (reg, tmp)
+# else
+#  define PTR_MANGLE(var) \
+     (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)	PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* linux/sh/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sh/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sh/vfork.S
new file mode 100644
index 0000000000..0626bda2df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/vfork.S
@@ -0,0 +1,52 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__libc_vfork)
+
+	mov.w	.L1, r3
+	trapa	#0x10
+	mov     r0, r1
+
+	mov	#-12, r2
+	shad	r2, r1
+	not	r1, r1			// r1=0 means r0 = -1 to -4095
+	tst	r1, r1			// i.e. error in linux
+	bf	.Lpseudo_end
+	SYSCALL_ERROR_HANDLER
+.Lpseudo_end:
+	rts
+	 nop
+.L1:
+	.word	__NR_vfork
+	.align	2
+PSEUDO_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/sh/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sh/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sh/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/shlib-versions
new file mode 100644
index 0000000000..9160557733
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shlib-versions
@@ -0,0 +1,2 @@
+libm=6
+libc=6
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shm-directory.c b/REORG.TODO/sysdeps/unix/sysv/linux/shm-directory.c
new file mode 100644
index 0000000000..f2c27b188e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shm-directory.c
@@ -0,0 +1,147 @@
+/* Determine directory for shm/sem files.  Linux version.
+   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "shm-directory.h"
+
+#include <errno.h>
+#include <mntent.h>
+#include <paths.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/statfs.h>
+#include <libc-lock.h>
+#include "linux_fsinfo.h"
+
+
+/* Mount point of the shared memory filesystem.  */
+static struct
+{
+  char *dir;
+  size_t dirlen;
+} mountpoint;
+
+/* This is the default directory.  */
+static const char defaultdir[] = "/dev/shm/";
+
+/* Protect the `mountpoint' variable above.  */
+__libc_once_define (static, once);
+
+
+/* Determine where the shmfs is mounted (if at all).  */
+static void
+where_is_shmfs (void)
+{
+  char buf[512];
+  struct statfs f;
+  struct mntent resmem;
+  struct mntent *mp;
+  FILE *fp;
+
+  /* The canonical place is /dev/shm.  This is at least what the
+     documentation tells everybody to do.  */
+  if (__statfs (defaultdir, &f) == 0 && (f.f_type == SHMFS_SUPER_MAGIC
+                                         || f.f_type == RAMFS_MAGIC))
+    {
+      /* It is in the normal place.  */
+      mountpoint.dir = (char *) defaultdir;
+      mountpoint.dirlen = sizeof (defaultdir) - 1;
+
+      return;
+    }
+
+  /* OK, do it the hard way.  Look through the /proc/mounts file and if
+     this does not exist through /etc/fstab to find the mount point.  */
+  fp = __setmntent ("/proc/mounts", "r");
+  if (__glibc_unlikely (fp == NULL))
+    {
+      fp = __setmntent (_PATH_MNTTAB, "r");
+      if (__glibc_unlikely (fp == NULL))
+        /* There is nothing we can do.  Blind guesses are not helpful.  */
+        return;
+    }
+
+  /* Now read the entries.  */
+  while ((mp = __getmntent_r (fp, &resmem, buf, sizeof buf)) != NULL)
+    /* The original name is "shm" but this got changed in early Linux
+       2.4.x to "tmpfs".  */
+    if (strcmp (mp->mnt_type, "tmpfs") == 0
+        || strcmp (mp->mnt_type, "shm") == 0)
+      {
+        /* Found it.  There might be more than one place where the
+           filesystem is mounted but one is enough for us.  */
+        size_t namelen;
+
+        /* First make sure this really is the correct entry.  At least
+           some versions of the kernel give wrong information because
+           of the implicit mount of the shmfs for SysV IPC.  */
+        if (__statfs (mp->mnt_dir, &f) != 0 || (f.f_type != SHMFS_SUPER_MAGIC
+                                                && f.f_type != RAMFS_MAGIC))
+          continue;
+
+        namelen = strlen (mp->mnt_dir);
+
+        if (namelen == 0)
+          /* Hum, maybe some crippled entry.  Keep on searching.  */
+          continue;
+
+        mountpoint.dir = (char *) malloc (namelen + 2);
+        if (mountpoint.dir != NULL)
+          {
+            char *cp = __mempcpy (mountpoint.dir, mp->mnt_dir, namelen);
+            if (cp[-1] != '/')
+              *cp++ = '/';
+            *cp = '\0';
+            mountpoint.dirlen = cp - mountpoint.dir;
+          }
+
+        break;
+      }
+
+  /* Close the stream.  */
+  __endmntent (fp);
+}
+
+
+const char *
+__shm_directory (size_t *len)
+{
+  /* Determine where the shmfs is mounted.  */
+  __libc_once (once, where_is_shmfs);
+
+  /* If we don't know the mount points there is nothing we can do.  Ever.  */
+  if (__glibc_unlikely (mountpoint.dir == NULL))
+    {
+      __set_errno (ENOSYS);
+      return NULL;
+    }
+
+  *len = mountpoint.dirlen;
+  return mountpoint.dir;
+}
+#if IS_IN (libpthread)
+hidden_def (__shm_directory)
+#endif
+
+
+/* Make sure the table is freed if we want to free everything before
+   exiting.  */
+libc_freeres_fn (freeit)
+{
+  if (mountpoint.dir != defaultdir)
+    free (mountpoint.dir);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shmat.c b/REORG.TODO/sysdeps/unix/sysv/linux/shmat.c
new file mode 100644
index 0000000000..98dcec609b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shmat.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Attach the shared memory segment associated with SHMID to the data
+   segment of the calling process.  SHMADDR and SHMFLG determine how
+   and where the segment is attached.  */
+
+void *
+shmat (int shmid, const void *shmaddr, int shmflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return (void*) INLINE_SYSCALL_CALL (shmat, shmid, shmaddr, shmflg);
+#else
+  INTERNAL_SYSCALL_DECL(err);
+  unsigned long resultvar;
+  void *raddr;
+
+  resultvar = INTERNAL_SYSCALL_CALL (ipc, err, IPCOP_shmat, shmid, shmflg,
+				     &raddr, shmaddr);
+  if (INTERNAL_SYSCALL_ERROR_P (resultvar, err))
+    return (void *) INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (resultvar,
+									       err));
+
+  return raddr;
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shmctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/shmctl.c
new file mode 100644
index 0000000000..96365b51fc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shmctl.c
@@ -0,0 +1,73 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/shm.h>
+#include <stdarg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <shlib-compat.h>
+#include <errno.h>
+
+
+#ifndef DEFAULT_VERSION
+# define DEFAULT_VERSION GLIBC_2_2
+#endif
+
+
+/* Provide operations to control over shared memory segments.  */
+int
+__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (shmctl, shmid, cmd | __IPC_64, buf);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_shmctl, shmid, cmd | __IPC_64, 0,
+			      buf);
+#endif
+}
+versioned_symbol (libc, __new_shmctl, shmctl, DEFAULT_VERSION);
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+struct __old_shmid_ds
+{
+  struct __old_ipc_perm shm_perm;	/* operation permission struct */
+  int shm_segsz;			/* size of segment in bytes */
+  __time_t shm_atime;			/* time of last shmat() */
+  __time_t shm_dtime;			/* time of last shmdt() */
+  __time_t shm_ctime;			/* time of last change by shmctl() */
+  __ipc_pid_t shm_cpid;			/* pid of creator */
+  __ipc_pid_t shm_lpid;			/* pid of last shmop */
+  unsigned short int shm_nattch;	/* number of current attaches */
+  unsigned short int __shm_npages;	/* size of segment (pages) */
+  unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */
+  struct vm_area_struct *__attaches;	/* descriptors for attaches */
+};
+
+int
+attribute_compat_text_section
+__old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (shmctl, shmid, cmd, buf);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_shmctl, shmid, cmd, 0, buf);
+#endif
+}
+compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shmdt.c b/REORG.TODO/sysdeps/unix/sysv/linux/shmdt.c
new file mode 100644
index 0000000000..ee0668b7ce
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shmdt.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Detach shared memory segment starting at address specified by SHMADDR
+   from the caller's data segment.  */
+
+int
+shmdt (const void *shmaddr)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (shmdt, shmaddr);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_shmdt, 0, 0, 0, shmaddr);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shmget.c b/REORG.TODO/sysdeps/unix/sysv/linux/shmget.c
new file mode 100644
index 0000000000..ed8ca7d226
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shmget.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <errno.h>
+
+/* Return an identifier for an shared memory segment of at least size SIZE
+   which is associated with KEY.  */
+
+int
+shmget (key_t key, size_t size, int shmflg)
+{
+#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
+  return INLINE_SYSCALL_CALL (shmget, key, size, shmflg, NULL);
+#else
+  return INLINE_SYSCALL_CALL (ipc, IPCOP_shmget, key, size, shmflg, NULL);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/shutdown.c b/REORG.TODO/sysdeps/unix/sysv/linux/shutdown.c
new file mode 100644
index 0000000000..4de4f9c25d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/shutdown.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__shutdown (int fd, int how)
+{
+#ifdef __ASSUME_SHUTDOWN_SYSCALL
+  return INLINE_SYSCALL (shutdown, 2, fd, how);
+#else
+  return SOCKETCALL (shutdown, fd, how);
+#endif
+}
+weak_alias (__shutdown, shutdown)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigaction.c
new file mode 100644
index 0000000000..c76c9374c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigaction.c
@@ -0,0 +1,69 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+
+  struct kernel_sigaction kact, koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+      kact.sa_restorer = act->sa_restorer;
+#endif
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+			   act ? &kact : NULL,
+			   oact ? &koact : NULL, _NSIG / 8);
+
+  if (oact && result >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+      oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+      oact->sa_restorer = koact.sa_restorer;
+#endif
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/siglist.h b/REORG.TODO/sysdeps/unix/sysv/linux/siglist.h
new file mode 100644
index 0000000000..7735a4d25d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/siglist.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file is included multiple times.  */
+
+#include_next <siglist.h>	/* Get the canonical list.  */
+
+#define	OLD_SIGLIST_SIZE	32 /* For GLIBC_2.0 binary compatibility.  */
+
+#define OLD2_SIGLIST_SIZE	64 /* For GLIBC_2.1 binary compatibility.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/signal.c b/REORG.TODO/sysdeps/unix/sysv/linux/signal.c
new file mode 100644
index 0000000000..bc4e4e8447
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/signal.c
@@ -0,0 +1,3 @@
+/* We need this file since otherwise `signal' would be handled as a
+   system call.  */
+#include <sysdeps/posix/signal.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/signalfd.c b/REORG.TODO/sysdeps/unix/sysv/linux/signalfd.c
new file mode 100644
index 0000000000..5133443558
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/signalfd.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/signalfd.h>
+#include <sysdep.h>
+
+
+int
+signalfd (int fd, const sigset_t *mask, int flags)
+{
+  return INLINE_SYSCALL (signalfd4, 4, fd, mask, _NSIG / 8, flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigpending.c
new file mode 100644
index 0000000000..ee50be6b87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigpending.c
@@ -0,0 +1,32 @@
+/* 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)
+{
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigprocmask.c
new file mode 100644
index 0000000000..e39e5f6872
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigprocmask.c
@@ -0,0 +1,56 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>  /* Needed for string function builtin redirection.  */
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <nptl/pthreadP.h>              /* SIGCANCEL, SIGSETXID */
+
+
+/* Get and/or change the set of blocked signals.  */
+int
+__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
+{
+#ifdef SIGCANCEL
+  sigset_t local_newmask;
+
+  /* The only thing we have to make sure here is that SIGCANCEL and
+     SIGSETXID are not blocked.  */
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+	  || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+	  ))
+    {
+      local_newmask = *set;
+      __sigdelset (&local_newmask, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&local_newmask, SIGSETXID);
+# endif
+      set = &local_newmask;
+    }
+#endif
+
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
+}
+weak_alias (__sigprocmask, sigprocmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigqueue.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigqueue.c
new file mode 100644
index 0000000000..059e524528
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigqueue.c
@@ -0,0 +1,48 @@
+/* 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 <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_rt_sigqueueinfo
+/* Return any pending signal or wait for one for the given time.  */
+int
+__sigqueue (pid_t pid, int sig, const union sigval val)
+{
+  siginfo_t info;
+
+  /* First, clear the siginfo_t structure, so that we don't pass our
+     stack content to other tasks.  */
+  memset (&info, 0, sizeof (siginfo_t));
+  /* We must pass the information about the data in a siginfo_t value.  */
+  info.si_signo = sig;
+  info.si_code = SI_QUEUE;
+  info.si_pid = __getpid ();
+  info.si_uid = __getuid ();
+  info.si_value = val;
+
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info);
+}
+weak_alias (__sigqueue, sigqueue)
+#else
+# include <signal/sigqueue.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigreturn.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigreturn.c
new file mode 100644
index 0000000000..626b1eb8af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigreturn.c
@@ -0,0 +1,3 @@
+/* The sigreturn syscall cannot be explicitly called on Linux, only
+   implicitly by returning from a signal handler.  */
+#include <signal/sigreturn.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigset-cvt-mask.h b/REORG.TODO/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
new file mode 100644
index 0000000000..2620059e9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
@@ -0,0 +1,43 @@
+/* Convert between lowlevel sigmask and libc representation of sigset_t.
+   Linux version.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Joe Keane <jgk@jgk.org>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+static inline int __attribute__ ((unused))
+sigset_set_old_mask (sigset_t *set, int mask)
+{
+  unsigned long int *ptr;
+  int cnt;
+
+  ptr = &set->__val[0];
+
+  *ptr++ = (unsigned int) mask;
+
+  cnt = _SIGSET_NWORDS - 2;
+  do
+    *ptr++ = 0ul;
+  while (--cnt >= 0);
+
+  return 0;
+}
+
+static inline int __attribute__ ((unused))
+sigset_get_old_mask (const sigset_t *set)
+{
+  return (unsigned int) set->__val[0];
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigsetops.h b/REORG.TODO/sysdeps/unix/sysv/linux/sigsetops.h
new file mode 100644
index 0000000000..05a605ff3f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigsetops.h
@@ -0,0 +1,108 @@
+/* __sigset_t manipulators.  Linux version.
+   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/>.  */
+
+#ifndef _SIGSETOPS_H
+#define _SIGSETOPS_H 1
+
+#include <signal.h>
+
+/* Return a mask that includes the bit for SIG only.  */
+# define __sigmask(sig) \
+  (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
+
+/* Return the word index for SIG.  */
+# define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
+
+# define __sigemptyset(set)					\
+  (__extension__ ({						\
+    int __cnt = _SIGSET_NWORDS;					\
+    sigset_t *__set = (set);					\
+    while (--__cnt >= 0)					\
+      __set->__val[__cnt] = 0;					\
+    (void)0;							\
+  }))
+
+# define __sigfillset(set)					\
+  (__extension__ ({						\
+    int __cnt = _SIGSET_NWORDS;					\
+    sigset_t *__set = (set);					\
+    while (--__cnt >= 0)					\
+      __set->__val[__cnt] = ~0UL;				\
+    (void)0;							\
+  }))
+
+# define __sigisemptyset(set)					\
+  (__extension__ ({						\
+    int __cnt = _SIGSET_NWORDS;					\
+    const sigset_t *__set = (set);				\
+    int __ret = __set->__val[--__cnt];				\
+    while (!__ret && --__cnt >= 0)				\
+      __ret = __set->__val[__cnt];				\
+    __ret == 0;							\
+  }))
+
+# define __sigandset(dest, left, right)				\
+  (__extension__ ({						\
+    int __cnt = _SIGSET_NWORDS;					\
+    sigset_t *__dest = (dest);					\
+    const sigset_t *__left = (left);				\
+    const sigset_t *__right = (right);				\
+    while (--__cnt >= 0)					\
+      __dest->__val[__cnt] = (__left->__val[__cnt]		\
+			      & __right->__val[__cnt]);		\
+    (void)0;							\
+  }))
+
+# define __sigorset(dest, left, right)				\
+  (__extension__ ({						\
+    int __cnt = _SIGSET_NWORDS;					\
+    sigset_t *__dest = (dest);					\
+    const sigset_t *__left = (left);				\
+    const sigset_t *__right = (right);				\
+    while (--__cnt >= 0)					\
+      __dest->__val[__cnt] = (__left->__val[__cnt]		\
+			      | __right->__val[__cnt]);		\
+    (void)0;							\
+  }))
+
+/* These macros needn't check for a bogus signal number;
+   error checking is done in the non-__ versions.  */
+# define __sigismember(set, sig)				\
+  (__extension__ ({						\
+    unsigned long int __mask = __sigmask (sig);			\
+    unsigned long int __word = __sigword (sig);			\
+    (set)->__val[__word] & __mask ? 1 : 0;			\
+  }))
+
+# define __sigaddset(set, sig)					\
+  (__extension__ ({						\
+    unsigned long int __mask = __sigmask (sig);			\
+    unsigned long int __word = __sigword (sig);			\
+    (set)->__val[__word] |= __mask;				\
+    (void)0;							\
+  }))
+
+# define __sigdelset(set, sig)					\
+  (__extension__ ({						\
+    unsigned long int __mask = __sigmask (sig);			\
+    unsigned long int __word = __sigword (sig);			\
+    (set)->__val[__word] &= ~__mask;				\
+    (void)0;							\
+ }))
+
+#endif /* bits/sigsetops.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigstack.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigstack.c
new file mode 100644
index 0000000000..94d9935fc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigstack.c
@@ -0,0 +1,66 @@
+/* Emulate sigstack function using sigaltstack.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <stddef.h>
+#include <sys/syscall.h>
+
+
+#ifdef __NR_sigaltstack
+int
+sigstack (struct sigstack *ss, struct sigstack *oss)
+{
+  stack_t sas;
+  stack_t *sasp = NULL;
+  stack_t osas;
+  stack_t *osasp = oss == NULL ? NULL : &osas;
+  int result;
+
+  if (ss != NULL)
+    {
+      /* We have to convert the information.  */
+      sas.ss_sp = ss->ss_sp;
+      sas.ss_flags = ss->ss_onstack ? SS_ONSTACK : 0;
+
+      /* For the size of the stack we have no value we can pass to the
+	 kernel.  This is why this function should not be used.  We simply
+	 assume that all the memory down to address zero (in case the stack
+	 grows down) is available.  */
+      sas.ss_size = ss->ss_sp - NULL;
+
+      sasp = &sas;
+    }
+
+  /* Call the kernel.  */
+  result = __sigaltstack (sasp, osasp);
+
+  /* Convert the result, if wanted and possible.  */
+  if (result == 0 && oss != NULL)
+    {
+      oss->ss_sp = osas.ss_sp;
+      oss->ss_onstack = (osas.ss_flags & SS_ONSTACK) != 0;
+    }
+
+  return result;
+}
+
+link_warning (sigstack, "the `sigstack' function is dangerous.  `sigaltstack' should be used instead.")
+#else
+# include <signal/sigstack.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigsuspend.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigsuspend.c
new file mode 100644
index 0000000000..df29abfbe9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigsuspend.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sysdep-cancel.h>
+
+/* Change the set of blocked signals to SET,
+   wait until a signal arrives, and restore the set of blocked signals.  */
+int
+__sigsuspend (const sigset_t *set)
+{
+  return SYSCALL_CANCEL (rt_sigsuspend, set, _NSIG / 8);
+}
+libc_hidden_def (__sigsuspend)
+weak_alias (__sigsuspend, sigsuspend)
+strong_alias (__sigsuspend, __libc_sigsuspend)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigtimedwait.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigtimedwait.c
new file mode 100644
index 0000000000..ab1a84ef1c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -0,0 +1,69 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <nptl/pthreadP.h>
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_rt_sigtimedwait
+
+int
+__sigtimedwait (const sigset_t *set, siginfo_t *info,
+		const struct timespec *timeout)
+{
+#ifdef SIGCANCEL
+  sigset_t tmpset;
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+	  || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+	  ))
+    {
+      /* Create a temporary mask without the bit for SIGCANCEL set.  */
+      // We are not copying more than we have to.
+      memcpy (&tmpset, set, _NSIG / 8);
+      __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
+      set = &tmpset;
+    }
+#endif
+
+    /* XXX The size argument hopefully will have to be changed to the
+       real size of the user-level sigset_t.  */
+  int result = SYSCALL_CANCEL (rt_sigtimedwait, set, info, timeout, _NSIG / 8);
+
+  /* The kernel generates a SI_TKILL code in si_code in case tkill is
+     used.  tkill is transparently used in raise().  Since having
+     SI_TKILL as a code is useful in general we fold the results
+     here.  */
+  if (result != -1 && info != NULL && info->si_code == SI_TKILL)
+    info->si_code = SI_USER;
+
+  return result;
+}
+libc_hidden_def (__sigtimedwait)
+weak_alias (__sigtimedwait, sigtimedwait)
+#else
+# include <signal/sigtimedwait.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigwait.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigwait.c
new file mode 100644
index 0000000000..48bcd2fda7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigwait.c
@@ -0,0 +1,107 @@
+/* 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>
+#define __need_NULL
+#include <stddef.h>
+#include <string.h>
+
+#include <nptl/pthreadP.h>
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_rt_sigtimedwait
+
+/* Return any pending signal or wait for one for the given time.  */
+static int
+do_sigwait (const sigset_t *set, int *sig)
+{
+  int ret;
+
+#ifdef SIGCANCEL
+  sigset_t tmpset;
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+	  || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+	  ))
+    {
+      /* Create a temporary mask without the bit for SIGCANCEL set.  */
+      // We are not copying more than we have to.
+      memcpy (&tmpset, set, _NSIG / 8);
+      __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
+      set = &tmpset;
+    }
+#endif
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+#ifdef INTERNAL_SYSCALL
+  INTERNAL_SYSCALL_DECL (err);
+  do
+    ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, set,
+			    NULL, NULL, _NSIG / 8);
+  while (INTERNAL_SYSCALL_ERROR_P (ret, err)
+	 && INTERNAL_SYSCALL_ERRNO (ret, err) == EINTR);
+  if (! INTERNAL_SYSCALL_ERROR_P (ret, err))
+    {
+      *sig = ret;
+      ret = 0;
+    }
+  else
+    ret = INTERNAL_SYSCALL_ERRNO (ret, err);
+#else
+  do
+    ret = INLINE_SYSCALL (rt_sigtimedwait, 4, set, NULL, NULL, _NSIG / 8);
+  while (ret == -1 && errno == EINTR);
+  if (ret != -1)
+    {
+      *sig = ret;
+      ret = 0;
+    }
+  else
+    ret = errno;
+#endif
+
+  return ret;
+}
+
+int
+__sigwait (const sigset_t *set, int *sig)
+{
+  if (SINGLE_THREAD_P)
+    return do_sigwait (set, sig);
+
+  int oldtype = LIBC_CANCEL_ASYNC ();
+
+  int result = do_sigwait (set, sig);
+
+  LIBC_CANCEL_RESET (oldtype);
+
+  return result;
+}
+libc_hidden_def (__sigwait)
+weak_alias (__sigwait, sigwait)
+#else
+# include <sysdeps/posix/sigwait.c>
+#endif
+strong_alias (__sigwait, __libc_sigwait)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sigwaitinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/sigwaitinfo.c
new file mode 100644
index 0000000000..5a044f08e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -0,0 +1,73 @@
+/* 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>
+#define __need_NULL
+#include <stddef.h>
+#include <string.h>
+
+#include <nptl/pthreadP.h>
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_rt_sigtimedwait
+
+/* Return any pending signal or wait for one for the given time.  */
+int
+__sigwaitinfo (const sigset_t *set, siginfo_t *info)
+{
+#ifdef SIGCANCEL
+  sigset_t tmpset;
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+# ifdef SIGSETXID
+	  || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+# endif
+	  ))
+    {
+      /* Create a temporary mask without the bit for SIGCANCEL set.  */
+      // We are not copying more than we have to.
+      memcpy (&tmpset, set, _NSIG / 8);
+      __sigdelset (&tmpset, SIGCANCEL);
+# ifdef SIGSETXID
+      __sigdelset (&tmpset, SIGSETXID);
+# endif
+      set = &tmpset;
+    }
+#endif
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  int result = SYSCALL_CANCEL (rt_sigtimedwait, set, info, NULL, _NSIG / 8);
+
+  /* The kernel generates a SI_TKILL code in si_code in case tkill is
+     used.  tkill is transparently used in raise().  Since having
+     SI_TKILL as a code is useful in general we fold the results
+     here.  */
+  if (result != -1 && info != NULL && info->si_code == SI_TKILL)
+    info->si_code = SI_USER;
+
+  return result;
+}
+
+libc_hidden_def (__sigwaitinfo)
+weak_alias (__sigwaitinfo, sigwaitinfo)
+#else
+# include <signal/sigwaitinfo.c>
+#endif
+strong_alias (__sigwaitinfo, __libc_sigwaitinfo)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/sizes.h
new file mode 100644
index 0000000000..5de696d348
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/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 "4"
+
+#endif /* sizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/socket.c b/REORG.TODO/sysdeps/unix/sysv/linux/socket.c
new file mode 100644
index 0000000000..99109d4b93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/socket.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__socket (int fd, int type, int domain)
+{
+#ifdef __ASSUME_SOCKET_SYSCALL
+  return INLINE_SYSCALL (socket, 3, fd, type, domain);
+#else
+  return SOCKETCALL (socket, fd, type, domain);
+#endif
+}
+libc_hidden_def (__socket)
+weak_alias (__socket, socket)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/socketcall.h b/REORG.TODO/sysdeps/unix/sysv/linux/socketcall.h
new file mode 100644
index 0000000000..75f70d0a42
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/socketcall.h
@@ -0,0 +1,104 @@
+/* ID for functions called via socketcall system call.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SOCKETCALL_H
+#define _SYS_SOCKETCALL_H	1
+
+/* Define unique numbers for the operations permitted on socket.  Linux
+   uses a single system call for all these functions.  The relevant code
+   file is /usr/include/linux/net.h.
+   We cannot use an enum here because the values are used in assembler
+   code.  */
+
+#define SOCKOP_invalid		-1
+#define SOCKOP_socket		1
+#define SOCKOP_bind		2
+#define SOCKOP_connect		3
+#define SOCKOP_listen		4
+#define SOCKOP_accept		5
+#define SOCKOP_getsockname	6
+#define SOCKOP_getpeername	7
+#define SOCKOP_socketpair	8
+#define SOCKOP_send		9
+#define SOCKOP_recv		10
+#define SOCKOP_sendto		11
+#define SOCKOP_recvfrom		12
+#define SOCKOP_shutdown		13
+#define SOCKOP_setsockopt	14
+#define SOCKOP_getsockopt	15
+#define SOCKOP_sendmsg		16
+#define SOCKOP_recvmsg		17
+#define SOCKOP_accept4		18
+#define SOCKOP_recvmmsg		19
+#define SOCKOP_sendmmsg		20
+
+#define __SOCKETCALL1(name, a1) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [1]) { (long int) (a1) }))
+#define __SOCKETCALL2(name, a1, a2) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [2]) { (long int) (a1), (long int) (a2) }))
+#define __SOCKETCALL3(name, a1, a2, a3) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [3]) { (long int) (a1), (long int) (a2), (long int) (a3) }))
+#define __SOCKETCALL4(name, a1, a2, a3, a4) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [4]) { (long int) (a1), (long int) (a2), (long int) (a3), \
+                       (long int) (a4) }))
+#define __SOCKETCALL5(name, a1, a2, a3, a4, a5) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [5]) { (long int) (a1), (long int) (a2), (long int) (a3), \
+                       (long int) (a4), (long int) (a5) }))
+#define __SOCKETCALL6(name, a1, a2, a3, a4, a5, a6) \
+  INLINE_SYSCALL (socketcall, 2, name, \
+     ((long int [6]) { (long int) (a1), (long int) (a2), (long int) (a3), \
+                       (long int) (a4), (long int) (a5), (long int) (a6) }))
+
+#define __SOCKETCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
+#define __SOCKETCALL_NARGS(...) \
+  __SOCKETCALL_NARGS_X (__VA_ARGS__,7,6,5,4,3,2,1,0,)
+#define __SOCKETCALL_CONCAT_X(a,b)     a##b
+#define __SOCKETCALL_CONCAT(a,b)       __SOCKETCALL_CONCAT_X (a, b)
+#define __SOCKETCALL_DISP(b,...) \
+  __SOCKETCALL_CONCAT (b,__SOCKETCALL_NARGS(__VA_ARGS__))(__VA_ARGS__)
+
+#define __SOCKETCALL(...) __SOCKETCALL_DISP (__SOCKETCALL, __VA_ARGS__)
+
+
+#define SOCKETCALL(name, args...)					\
+  ({									\
+    long int sc_ret = __SOCKETCALL (SOCKOP_##name, args);		\
+    sc_ret;								\
+  })
+
+
+#if IS_IN (libc)
+# define __pthread_enable_asynccancel  __libc_enable_asynccancel
+# define __pthread_disable_asynccancel __libc_disable_asynccancel
+#endif
+
+#define SOCKETCALL_CANCEL(name, args...)				\
+  ({									\
+    int oldtype = LIBC_CANCEL_ASYNC ();					\
+    long int sc_ret = __SOCKETCALL (SOCKOP_##name, args);		\
+    LIBC_CANCEL_RESET (oldtype);					\
+    sc_ret;								\
+  })
+
+
+#endif /* sys/socketcall.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/socketpair.c b/REORG.TODO/sysdeps/unix/sysv/linux/socketpair.c
new file mode 100644
index 0000000000..66d6da1c23
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/socketpair.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <sys/socket.h>
+
+#include <socketcall.h>
+#include <kernel-features.h>
+#include <sys/syscall.h>
+
+int
+__socketpair (int domain, int type, int protocol, int sv[2])
+{
+#ifdef __ASSUME_SOCKETPAIR_SYSCALL
+  return INLINE_SYSCALL (socketpair, 4, domain, type, protocol, &sv[0]);
+#else
+  return SOCKETCALL (socketpair, domain, type, protocol, sv);
+#endif
+}
+weak_alias (__socketpair, socketpair)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Implies
new file mode 100644
index 0000000000..a8cc375171
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Implies
@@ -0,0 +1 @@
+sparc/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Makefile
new file mode 100644
index 0000000000..a67d199eb5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Makefile
@@ -0,0 +1,20 @@
+abi-variants := 32 64
+abi-32-options := -U__sparc_v9__ -U__arch64__
+abi-32-condition := __WORDSIZE == 32
+abi-64-options := -D__sparc_v9__ -D__arch64__
+abi-64-condition := __WORDSIZE == 64
+
+ifeq ($(subdir),rt)
+librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
+endif
+
+ifeq ($(subdir),sysvipc)
+sysdep_routines += getshmlba
+endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Versions
new file mode 100644
index 0000000000..4dc1cd720b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/Versions
@@ -0,0 +1,46 @@
+libc {
+  # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
+  # When you get an error from errlist-compat.awk, you need to add a new
+  # version here.
+
+  GLIBC_2.0 {
+    #errlist-compat	127
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.1 {
+    #errlist-compat	127
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.3 {
+    #errlist-compat	128
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.4 {
+    #errlist-compat	134
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.12 {
+    #errlist-compat	135
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
+  GLIBC_2.16 {
+    #errlist-compat	136
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
+    __getshmlba;
+  }
+}
+
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
+
+librt {
+  GLIBC_2.3 {
+    # AIO functions.
+    aio_cancel; aio_cancel64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/a.out.h
new file mode 100644
index 0000000000..593c4cccf4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/a.out.h
@@ -0,0 +1,174 @@
+#ifndef __A_OUT_GNU_H__
+#define __A_OUT_GNU_H__
+
+#include <bits/a.out.h>
+
+#define __GNU_EXEC_MACROS__
+
+struct exec
+{
+  unsigned char a_dynamic:1;	/* A __DYNAMIC is in this image.  */
+  unsigned char a_toolversion:7;
+  unsigned char a_machtype;
+  unsigned short a_info;
+  unsigned int a_text;		/* Length of text, in bytes.  */
+  unsigned int a_data;		/* Length of data, in bytes.  */
+  unsigned int a_bss;		/* Length of bss, in bytes.  */
+  unsigned int a_syms;		/* Length of symbol table, in bytes.  */
+  unsigned int a_entry;		/* Where program begins.  */
+  unsigned int a_trsize;
+  unsigned int a_drsize;
+};
+
+enum machine_type
+{
+  M_OLDSUN2 = 0,
+  M_68010 = 1,
+  M_68020 = 2,
+  M_SPARC = 3,
+  M_386 = 100,
+  M_MIPS1 = 151,
+  M_MIPS2 = 152
+};
+
+#define N_MAGIC(exec)	((exec).a_info & 0xffff)
+#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
+#define N_FLAGS(exec)	(((exec).a_info >> 24) & 0xff)
+#define N_SET_INFO(exec, magic, type, flags) \
+  ((exec).a_info = ((magic) & 0xffff)					\
+   | (((int)(type) & 0xff) << 16)					\
+   | (((flags) & 0xff) << 24))
+#define N_SET_MAGIC(exec, magic) \
+  ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
+#define N_SET_MACHTYPE(exec, machtype) \
+  ((exec).a_info =							\
+   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
+#define N_SET_FLAGS(exec, flags) \
+  ((exec).a_info =							\
+   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
+
+/* Code indicating object file or impure executable.  */
+#define OMAGIC 0407
+/* Code indicating pure executable.  */
+#define NMAGIC 0410
+/* Code indicating demand-paged executable.  */
+#define ZMAGIC 0413
+/* This indicates a demand-paged executable with the header in the text.
+   The first page is unmapped to help trap NULL pointer references.  */
+#define QMAGIC 0314
+/* Code indicating core file.  */
+#define CMAGIC 0421
+
+#define N_TRSIZE(a)	((a).a_trsize)
+#define N_DRSIZE(a)	((a).a_drsize)
+#define N_SYMSIZE(a)	((a).a_syms)
+#define N_BADMAG(x) \
+  (N_MAGIC(x) != OMAGIC	&& N_MAGIC(x) != NMAGIC				\
+   && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
+#define _N_HDROFF(x)	(1024 - sizeof (struct exec))
+#define N_TXTOFF(x) \
+  (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
+#define N_DATOFF(x)	(N_TXTOFF(x) + (x).a_text)
+#define N_TRELOFF(x)	(N_DATOFF(x) + (x).a_data)
+#define N_DRELOFF(x)	(N_TRELOFF(x) + N_TRSIZE(x))
+#define N_SYMOFF(x) \
+  (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize)
+#define N_STROFF(x)	(N_SYMOFF(x) + N_SYMSIZE(x))
+
+#define SPARC_PGSIZE	0x2000
+
+/* Address of text segment in memory after it is loaded.  */
+#define N_TXTADDR(x) \
+ (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \
+		 ? 0 : SPARC_PGSIZE)
+
+/* Address of data segment in memory after it is loaded.  */
+#define SEGMENT_SIZE	SPARC_PGSIZE
+
+#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
+#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
+
+#define N_DATADDR(x) \
+  (N_MAGIC(x)==OMAGIC							\
+   ? (N_TXTADDR(x) + (x).a_text)					\
+   : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
+#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
+
+#if !defined (N_NLIST_DECLARED)
+struct nlist
+{
+  union
+    {
+      char *n_name;
+      struct nlist *n_next;
+      long n_strx;
+    } n_un;
+  unsigned char n_type;
+  char n_other;
+  short n_desc;
+  unsigned long n_value;
+};
+#endif /* no N_NLIST_DECLARED.  */
+
+#define N_UNDF	0
+#define N_ABS	2
+#define N_TEXT	4
+#define N_DATA	6
+#define N_BSS	8
+#define N_FN	15
+#define N_EXT	1
+#define N_TYPE	036
+#define N_STAB	0340
+#define N_INDR	0xa
+#define	N_SETA	0x14	/* Absolute set element symbol.  */
+#define	N_SETT	0x16	/* Text set element symbol.  */
+#define	N_SETD	0x18	/* Data set element symbol.  */
+#define	N_SETB	0x1A	/* Bss set element symbol.  */
+#define N_SETV	0x1C	/* Pointer to set vector in data area.  */
+
+#if !defined (N_RELOCATION_INFO_DECLARED)
+enum reloc_type
+{
+  RELOC_8,
+  RELOC_16,
+  RELOC_32,
+  RELOC_DISP8,
+  RELOC_DISP16,
+  RELOC_DISP32,
+  RELOC_WDISP30,
+  RELOC_WDISP22,
+  RELOC_HI22,
+  RELOC_22,
+  RELOC_13,
+  RELOC_LO10,
+  RELOC_SFA_BASE,
+  RELOC_SFA_OFF13,
+  RELOC_BASE10,
+  RELOC_BASE13,
+  RELOC_BASE22,
+  RELOC_PC10,
+  RELOC_PC22,
+  RELOC_JMP_TBL,
+  RELOC_SEGOFF16,
+  RELOC_GLOB_DAT,
+  RELOC_JMP_SLOT,
+  RELOC_RELATIVE
+};
+
+/* This structure describes a single relocation to be performed.
+   The text-relocation section of the file is a vector of these structures,
+   all of which apply to the text section.
+   Likewise, the data-relocation section applies to the data section.  */
+
+struct relocation_info
+{
+  unsigned int r_address;
+  unsigned int r_index:24;
+  unsigned int r_extern:1;
+  int r_pad:2;
+  enum reloc_type r_type:5;
+  int r_addend;
+};
+#endif /* no N_RELOCATION_INFO_DECLARED.  */
+
+#endif /* __A_OUT_GNU_H__ */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/aio_cancel.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/aio_cancel.c
new file mode 100644
index 0000000000..0d6da82919
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/aio_cancel.c
@@ -0,0 +1,33 @@
+#include <shlib-compat.h>
+
+#define aio_cancel64 XXX
+#include <aio.h>
+#undef aio_cancel64
+#include <errno.h>
+
+extern __typeof (aio_cancel) __new_aio_cancel;
+extern __typeof (aio_cancel) __old_aio_cancel;
+
+#define aio_cancel	__new_aio_cancel
+
+#include <sysdeps/pthread/aio_cancel.c>
+
+#undef aio_cancel
+strong_alias (__new_aio_cancel, __new_aio_cancel64);
+versioned_symbol (librt, __new_aio_cancel, aio_cancel, GLIBC_2_3);
+versioned_symbol (librt, __new_aio_cancel64, aio_cancel64, GLIBC_2_3);
+
+#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_3)
+
+#undef ECANCELED
+#define aio_cancel	__old_aio_cancel
+#define ECANCELED	125
+
+#include <sysdeps/pthread/aio_cancel.c>
+
+#undef aio_cancel
+strong_alias (__old_aio_cancel, __old_aio_cancel64);
+compat_symbol (librt, __old_aio_cancel, aio_cancel, GLIBC_2_1);
+compat_symbol (librt, __old_aio_cancel64, aio_cancel64, GLIBC_2_1);
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/arch-fork.h
new file mode 100644
index 0000000000..f4c67fb132
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/arch-fork.h
@@ -0,0 +1,27 @@
+/* ARCH_FORK definition for Linux fork implementation.  SPARC version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK() \
+  INLINE_CLONE_SYSCALL (CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \
+			0, NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/a.out.h
new file mode 100644
index 0000000000..228a8d41af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/a.out.h
@@ -0,0 +1,13 @@
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+
+/* Signal to users of this header that this architecture really doesn't
+   support a.out binary format.  */
+#define __NO_A_OUT_SUPPORT 1
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/environments.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/environments.h
new file mode 100644
index 0000000000..475d5648d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/environments.h
@@ -0,0 +1,96 @@
+/* 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/>.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+   Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
+   # undef _POSIX_V6_ILP32_OFF32
+   # undef _POSIX_V6_ILP32_OFFBIG
+   # undef _XBS5_ILP32_OFF32
+   # undef _XBS5_ILP32_OFFBIG
+   and users need to check at runtime.  */
+
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64	1
+# define _POSIX_V6_LP64_OFF64	1
+# define _XBS5_LP64_OFF64	1
+
+#else /* __WORDSIZE == 32 */
+
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32	1
+# define _POSIX_V7_ILP32_OFFBIG	1
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
+# define _XBS5_ILP32_OFF32	1
+# define _XBS5_ILP32_OFFBIG	1
+
+/* We optionally provide an environment with the above size but an 64-bit
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
+
+/* Environments with 64-bit wide pointers can be provided,
+   so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
+   # undef _POSIX_V6_LP64_OFF64
+   # undef _POSIX_V6_LPBIG_OFFBIG
+   # undef _XBS5_LP64_OFF64
+   # undef _XBS5_LPBIG_OFFBIG
+   and sysconf tests for it at runtime.  */
+
+#endif /* __WORDSIZE == 32 */
+
+#define __ILP32_OFF32_CFLAGS	"-m32"
+#define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+#define __ILP32_OFF32_LDFLAGS	"-m32"
+#define __ILP32_OFFBIG_LDFLAGS	"-m32"
+#define __LP64_OFF64_CFLAGS	"-m64"
+#define __LP64_OFF64_LDFLAGS	"-m64"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/epoll.h
new file mode 100644
index 0000000000..69388004f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/epoll.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC = 0x400000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/errno.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/errno.h
new file mode 100644
index 0000000000..4a8d8a0879
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/errno.h
@@ -0,0 +1,65 @@
+/* Error constants.  Linux/Sparc specific version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code.  */
+# define ENOTSUP EOPNOTSUPP
+
+# ifndef ECANCELED
+#  define ECANCELED	127
+# endif
+
+/* Support for error codes to support robust mutexes was added later, too.  */
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		132
+#  define ENOTRECOVERABLE	133
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		134
+# endif
+
+# ifndef EHWPOISON
+#  define EHWPOISON		135
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable.  */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+#  if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value.  */
+#   define errno (*__errno_location ())
+#  endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough.  We must
+   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+   defined.  */
+# define EDOM	33	/* Math argument out of domain of function.  */
+# define EILSEQ	122	/* Illegal byte sequence.  */
+# define ERANGE	34	/* Math result not representable.  */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h
new file mode 100644
index 0000000000..963761c888
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
+#endif
+
+/* Flags for eventfd.  */
+enum
+  {
+    EFD_SEMAPHORE = 0x000001,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
+    EFD_CLOEXEC = 0x400000,
+#define EFD_CLOEXEC EFD_CLOEXEC
+    EFD_NONBLOCK = 0x004000
+#define EFD_NONBLOCK EFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
new file mode 100644
index 0000000000..bde61c59d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
@@ -0,0 +1,101 @@
+/* O_*, F_*, FD_* bit values for Linux/SPARC.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#define O_APPEND	0x0008
+#define O_ASYNC		0x0040
+#define O_CREAT		0x0200	/* not fcntl */
+#define O_TRUNC		0x0400	/* not fcntl */
+#define O_EXCL		0x0800	/* not fcntl */
+#define O_SYNC		0x802000
+#define O_NONBLOCK	0x4000
+#define O_NDELAY	(0x0004 | O_NONBLOCK)
+#define O_NOCTTY        0x8000  /* not fcntl */
+
+#define __O_DIRECTORY	0x10000 /* must be a directory */
+#define __O_NOFOLLOW	0x20000 /* don't follow links */
+#define __O_CLOEXEC	0x400000 /* Set close_on_exit.  */
+
+#define __O_DIRECT	0x100000 /* direct disk access hint */
+#define __O_NOATIME	0x200000 /* Do not set atime.  */
+#define __O_PATH	0x1000000 /* Resolve pathname but do not open file.  */
+#define __O_TMPFILE	0x2010000 /* Atomically create nameless file.  */
+
+#if __WORDSIZE == 64
+# define __O_LARGEFILE	0
+#else
+# define __O_LARGEFILE	0x40000
+#endif
+
+#define __O_DSYNC	0x2000	/* Synchronize data.  */
+
+
+#define __F_GETOWN	5	/* Get owner (process receiving SIGIO).  */
+#define __F_SETOWN	6	/* Set owner (process receiving SIGIO).  */
+
+#ifndef __USE_FILE_OFFSET64
+# define F_GETLK	7	/* Get record locking info.  */
+# define F_SETLK	8	/* Set record locking info (non-blocking).  */
+# define F_SETLKW	9	/* Set record locking info (blocking).  */
+#endif
+
+#if __WORDSIZE == 64
+# define F_GETLK64	7	/* Get record locking info.  */
+# define F_SETLK64	8	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	9	/* Set record locking info (blocking).  */
+#endif
+
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
+#define F_RDLCK		1	/* Read lock.  */
+#define F_WRLCK		2	/* Write lock.  */
+#define F_UNLCK		3	/* Remove lock.  */
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+    short int __glibc_reserved;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+    short int __glibc_reserved;
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/inotify.h
new file mode 100644
index 0000000000..1130da9646
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/inotify.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
+#endif
+
+/* Flags for the parameter of inotify_init1.  */
+enum
+  {
+    IN_CLOEXEC = 0x400000,
+#define IN_CLOEXEC IN_CLOEXEC
+    IN_NONBLOCK = 0x004000
+#define IN_NONBLOCK IN_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h
new file mode 100644
index 0000000000..07796fd0ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
+#endif
+
+/* Use the definitions from the kernel header files.  */
+#include <asm/ioctls.h>
+
+/* Oh well, this is necessary since the kernel data structure is
+   different from the user-level version.  */
+#undef  TCGETS
+#undef  TCSETS
+#undef  TCSETSW
+#undef  TCSETSF
+#define TCGETS	_IOR ('T', 8, char[36])
+#define TCSETS	_IOW ('T', 9, char[36])
+#define TCSETSW	_IOW ('T', 10, char[36])
+#define TCSETSF	_IOW ('T', 11, char[36])
+
+#include <linux/sockios.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ipc.h
new file mode 100644
index 0000000000..9e4d1517f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/ipc.h
@@ -0,0 +1,61 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+#if __WORDSIZE == 32
+    unsigned short int __pad1;
+    unsigned short int mode;		/* Read/write permission.  */
+    unsigned short int __pad2;
+#else
+    __mode_t mode;			/* Read/write permission.  */
+    unsigned short int __pad1;
+#endif
+    unsigned short int __seq;		/* Sequence number.  */
+    __extension__ unsigned long long int __glibc_reserved1;
+    __extension__ unsigned long long int __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
new file mode 100644
index 0000000000..090fc6dca1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/SPARC version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/long-double.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/long-double.h
new file mode 100644
index 0000000000..094e05124b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/long-double.h
@@ -0,0 +1,26 @@
+/* Properties of long double type.  SPARC 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  published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <bits/wordsize.h>
+
+#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32
+# define __LONG_DOUBLE_MATH_OPTIONAL   1
+# ifndef __LONG_DOUBLE_128__
+#  define __NO_LONG_DOUBLE_MATH        1
+# endif
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/mman.h
new file mode 100644
index 0000000000..d20361f5ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/mman.h
@@ -0,0 +1,53 @@
+/* Definitions for POSIX memory map interface.  Linux/SPARC version.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x0200		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x0800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x1000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x0100		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x0040		/* Don't check for reservations.  */
+# define _MAP_NEW	0x80000000	/* Binary compatibility with SunOS.  */
+# define MAP_POPULATE	0x8000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Flags for `mlockall'.  */
+#define MCL_CURRENT	0x2000		/* Lock all currently mapped pages.  */
+#define MCL_FUTURE	0x4000		/* Lock all additions to address
+					   space.  */
+#define MCL_ONFAULT	0x8000		/* Lock all pages that are
+					   faulted in.  */
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
+
+/* Other flags.  */
+#ifdef __USE_MISC
+# define MAP_RENAME	MAP_ANONYMOUS
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/msq.h
new file mode 100644
index 0000000000..79572212cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/msq.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+#if __WORDSIZE == 32
+  unsigned int __pad1;
+#endif
+  __time_t msg_stime;		/* time of last msgsnd command */
+#if __WORDSIZE == 32
+  unsigned int __pad2;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#if __WORDSIZE == 32
+  unsigned int __pad3;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+  unsigned long int __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/poll.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/poll.h
new file mode 100644
index 0000000000..ace1594786
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/poll.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for.  These bits may be set in `events'
+   to indicate the interesting event types; they will appear in `revents'
+   to indicate the status of the file descriptor.  */
+#define POLLIN		0x001		/* There is data to read.  */
+#define POLLPRI		0x002		/* There is urgent data to read.  */
+#define POLLOUT		0x004		/* Writing now will not block.  */
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+/* These values are defined in XPG4.2.  */
+# define POLLRDNORM	0x040		/* Normal data may be read.  */
+# define POLLRDBAND	0x080		/* Priority data may be read.  */
+# define POLLWRNORM	POLLOUT		/* Writing now will not block.  */
+# define POLLWRBAND	0x100		/* Priority data may be written.  */
+#endif
+
+#ifdef __USE_GNU
+/* These are extensions for Linux.  */
+# define POLLMSG	0x200
+# define POLLREMOVE	0x400
+# define POLLRDHUP	0x800
+#endif
+
+/* Event types always implicitly polled for.  These bits need not be set in
+   `events', but they will appear in `revents' to indicate the status of
+   the file descriptor.  */
+#define POLLERR		0x008		/* Error condition.  */
+#define POLLHUP		0x010		/* Hung up.  */
+#define POLLNVAL	0x020		/* Invalid polling request.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/resource.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/resource.h
new file mode 100644
index 0000000000..6b65d3aac7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/resource.h
@@ -0,0 +1,280 @@
+/* Bit values & structures for resource limits.  Linux/SPARC version.
+   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_RESOURCE_H
+# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Transmute defines to enumerations.  The macro re-definitions are
+   necessary because some programs want to test for operating system
+   features with #ifdef RUSAGE_SELF.  In ISO C the reflexive
+   definition is a no-op.  */
+
+/* Kinds of resource limit.  */
+enum __rlimit_resource
+{
+  /* Per-process CPU limit, in seconds.  */
+  RLIMIT_CPU = 0,
+#define RLIMIT_CPU RLIMIT_CPU
+
+  /* Largest file that can be created, in bytes.  */
+  RLIMIT_FSIZE = 1,
+#define	RLIMIT_FSIZE RLIMIT_FSIZE
+
+  /* Maximum size of data segment, in bytes.  */
+  RLIMIT_DATA = 2,
+#define	RLIMIT_DATA RLIMIT_DATA
+
+  /* Maximum size of stack segment, in bytes.  */
+  RLIMIT_STACK = 3,
+#define	RLIMIT_STACK RLIMIT_STACK
+
+  /* Largest core file that can be created, in bytes.  */
+  RLIMIT_CORE = 4,
+#define	RLIMIT_CORE RLIMIT_CORE
+
+  /* Largest resident set size, in bytes.
+     This affects swapping; processes that are exceeding their
+     resident set size will be more likely to have physical memory
+     taken from them.  */
+  __RLIMIT_RSS = 5,
+#define	RLIMIT_RSS __RLIMIT_RSS
+
+  /* Number of open files.  */
+  RLIMIT_NOFILE = 6,
+  __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
+#define RLIMIT_NOFILE RLIMIT_NOFILE
+#define RLIMIT_OFILE __RLIMIT_OFILE
+
+  /* Address space limit (?) */
+  RLIMIT_AS = 9,
+#define RLIMIT_AS RLIMIT_AS
+
+  /* Number of processes.  */
+  __RLIMIT_NPROC = 7,
+#define RLIMIT_NPROC __RLIMIT_NPROC
+
+  /* Locked-in-memory address space.  */
+  __RLIMIT_MEMLOCK = 8,
+#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
+
+  /* Maximum number of file locks.  */
+  __RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS __RLIMIT_LOCKS
+
+  /* Maximum number of pending signals.  */
+  __RLIMIT_SIGPENDING = 11,
+#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
+
+  /* Maximum bytes in POSIX message queues.  */
+  __RLIMIT_MSGQUEUE = 12,
+#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
+
+  /* Maximum nice priority allowed to raise to.
+     Nice levels 19 .. -20 correspond to 0 .. 39
+     values of this resource limit.  */
+  __RLIMIT_NICE = 13,
+#define RLIMIT_NICE __RLIMIT_NICE
+
+  /* Maximum realtime priority allowed for non-priviledged
+     processes.  */
+  __RLIMIT_RTPRIO = 14,
+#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
+
+  /* Maximum CPU time in µs that a process scheduled under a real-time
+     scheduling policy may consume without making a blocking system
+     call before being forcibly descheduled.  */
+  __RLIMIT_RTTIME = 15,
+#define RLIMIT_RTTIME __RLIMIT_RTTIME
+
+  __RLIMIT_NLIMITS = 16,
+  __RLIM_NLIMITS = __RLIMIT_NLIMITS
+#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
+#define RLIM_NLIMITS __RLIM_NLIMITS
+};
+
+/* Value to indicate that there is no limit.  */
+#if __WORDSIZE == 64
+
+#ifndef __USE_FILE_OFFSET64
+# define RLIM_INFINITY ((unsigned long int)(~0UL))
+#else
+# define RLIM_INFINITY 0xffffffffffffffffuLL
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define RLIM64_INFINITY 0xffffffffffffffffuLL
+#endif
+
+#else
+
+#ifndef __USE_FILE_OFFSET64
+# define RLIM_INFINITY ((long int)(~0UL >> 1))
+#else
+# define RLIM_INFINITY 0xffffffffffffffffLL
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define RLIM64_INFINITY 0xffffffffffffffffLL
+#endif
+
+#endif
+
+/* We can represent all limits.  */
+#define RLIM_SAVED_MAX	RLIM_INFINITY
+#define RLIM_SAVED_CUR	RLIM_INFINITY
+
+
+/* Type for resource quantity measurement.  */
+#ifndef __USE_FILE_OFFSET64
+typedef __rlim_t rlim_t;
+#else
+typedef __rlim64_t rlim_t;
+#endif
+#ifdef __USE_LARGEFILE64
+typedef __rlim64_t rlim64_t;
+#endif
+
+struct rlimit
+  {
+    /* The current (soft) limit.  */
+    rlim_t rlim_cur;
+    /* The hard limit.  */
+    rlim_t rlim_max;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct rlimit64
+  {
+    /* The current (soft) limit.  */
+    rlim64_t rlim_cur;
+    /* The hard limit.  */
+    rlim64_t rlim_max;
+ };
+#endif
+
+/* Whose usage statistics do you want?  */
+enum __rusage_who
+{
+  /* The calling process.  */
+  RUSAGE_SELF = 0,
+#define RUSAGE_SELF RUSAGE_SELF
+
+  /* All of its terminated child processes.  */
+  RUSAGE_CHILDREN = -1
+#define RUSAGE_CHILDREN RUSAGE_CHILDREN
+
+#ifdef __USE_GNU
+  ,
+  /* The calling thread.  */
+  RUSAGE_THREAD = 1
+# define RUSAGE_THREAD RUSAGE_THREAD
+  /* Name for the same functionality on Solaris.  */
+# define RUSAGE_LWP RUSAGE_THREAD
+#endif
+};
+
+#include <bits/types/struct_timeval.h>
+
+/* Structure which says how much of each resource has been used.  */
+struct rusage
+  {
+    /* Total amount of user time used.  */
+    struct timeval ru_utime;
+    /* Total amount of system time used.  */
+    struct timeval ru_stime;
+    /* Maximum resident set size (in kilobytes).  */
+    long int ru_maxrss;
+    /* Amount of sharing of text segment memory
+       with other processes (kilobyte-seconds).  */
+    long int ru_ixrss;
+    /* Amount of data segment memory used (kilobyte-seconds).  */
+    long int ru_idrss;
+    /* Amount of stack memory used (kilobyte-seconds).  */
+    long int ru_isrss;
+    /* Number of soft page faults (i.e. those serviced by reclaiming
+       a page from the list of pages awaiting reallocation.  */
+    long int ru_minflt;
+    /* Number of hard page faults (i.e. those that required I/O).  */
+    long int ru_majflt;
+    /* Number of times a process was swapped out of physical memory.  */
+    long int ru_nswap;
+    /* Number of input operations via the file system.  Note: This
+       and `ru_oublock' do not include operations with the cache.  */
+    long int ru_inblock;
+    /* Number of output operations via the file system.  */
+    long int ru_oublock;
+    /* Number of IPC messages sent.  */
+    long int ru_msgsnd;
+    /* Number of IPC messages received.  */
+    long int ru_msgrcv;
+    /* Number of signals delivered.  */
+    long int ru_nsignals;
+    /* Number of voluntary context switches, i.e. because the process
+       gave up the process before it had to (usually to wait for some
+       resource to be available).  */
+    long int ru_nvcsw;
+    /* Number of involuntary context switches, i.e. a higher priority process
+       became runnable or the current process used up its time slice.  */
+    long int ru_nivcsw;
+  };
+
+/* Priority limits.  */
+#define PRIO_MIN	-20	/* Minimum priority a process can have.  */
+#define PRIO_MAX	20	/* Maximum priority a process can have.  */
+
+/* The type of the WHICH argument to `getpriority' and `setpriority',
+   indicating what flavor of entity the WHO argument specifies.  */
+enum __priority_which
+{
+  PRIO_PROCESS = 0,		/* WHO is a process ID.  */
+#define PRIO_PROCESS PRIO_PROCESS
+  PRIO_PGRP = 1,		/* WHO is a process group ID.  */
+#define PRIO_PGRP PRIO_PGRP
+  PRIO_USER = 2			/* WHO is a user ID.  */
+#define PRIO_USER PRIO_USER
+};
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically.  */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+		    const struct rlimit *__new_limit,
+		    struct rlimit *__old_limit) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+				     enum __rlimit_resource __resource,
+				     const struct rlimit *__new_limit,
+				     struct rlimit *__old_limit), prlimit64);
+#  else
+#   define prlimit prlimit64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+		      const struct rlimit64 *__new_limit,
+		      struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sem.h
new file mode 100644
index 0000000000..c3cf059eb8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sem.h
@@ -0,0 +1,91 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+#include <bits/wordsize.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+#if __WORDSIZE == 32
+  unsigned int __pad1;
+#endif
+  __time_t sem_otime;			/* last semop() time */
+#if __WORDSIZE == 32
+  unsigned int __pad2;
+#endif
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  unsigned long int sem_nsems;		/* number of semaphores in set */
+  unsigned long int __glibc_reserved1;
+  unsigned long int __glibc_reserved2;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
new file mode 100644
index 0000000000..5e92e829d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
@@ -0,0 +1,67 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H  1
+
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+
+#ifndef _ASM
+typedef struct __sparc64_jmp_buf
+  {
+    struct __sparc64_jmp_buf	*__uc_link;
+    unsigned long		__uc_flags;
+    unsigned long		__uc_sigmask;
+    struct __sparc64_jmp_buf_mcontext
+      {
+	unsigned long		__mc_gregs[19];
+	unsigned long		__mc_fp;
+	unsigned long		__mc_i7;
+	struct __sparc64_jmp_buf_fpu
+	  {
+	    union
+	      {
+		unsigned int	__sregs[32];
+		unsigned long	__dregs[32];
+		long double	__qregs[16];
+	      }			__mcfpu_fpregs;
+	    unsigned long	__mcfpu_fprs;
+	    unsigned long	__mcfpu_gsr;
+	    void		*__mcfpu_fq;
+	    unsigned char	__mcfpu_qcnt;
+	    unsigned char	__mcfpu_qentsz;
+	    unsigned char	__mcfpu_enab;
+	  }			__mc_fpregs;
+      }				__uc_mcontext;
+  } __jmp_buf[1];
+#endif
+
+#else
+
+#ifndef _ASM
+typedef int __jmp_buf[3];
+#endif
+
+#endif
+
+#endif  /* bits/setjmp.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/shm.h
new file mode 100644
index 0000000000..c7857cc4fa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/shm.h
@@ -0,0 +1,110 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getshmlba ())
+extern int __getshmlba (void) __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+#if __WORDSIZE == 32
+    unsigned int __pad1;
+#endif
+    __time_t shm_atime;			/* time of last shmat() */
+#if __WORDSIZE == 32
+    unsigned int __pad2;
+#endif
+    __time_t shm_dtime;			/* time of last shmdt() */
+#if __WORDSIZE == 32
+    unsigned int __pad3;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    unsigned long shmmax;
+    unsigned long shmmin;
+    unsigned long shmmni;
+    unsigned long shmseg;
+    unsigned long shmall;
+    unsigned long __glibc_reserved1;
+    unsigned long __glibc_reserved2;
+    unsigned long __glibc_reserved3;
+    unsigned long __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    unsigned long int shm_tot;	/* total allocated shm */
+    unsigned long int shm_rss;	/* total resident shm */
+    unsigned long int shm_swp;	/* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
new file mode 100644
index 0000000000..6ab47f416c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -0,0 +1,82 @@
+/* The proper definitions for Linux/SPARC sigaction.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler. */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* Special flags.  */
+#if __WORDSIZE == 64
+    int __glibc_reserved0;
+#endif
+    int sa_flags;
+
+    /* Not used by Linux/Sparc yet.  */
+    void (*sa_restorer) (void);
+  };
+
+
+/* Bits in `sa_flags'.  */
+#define	SA_NOCLDSTOP 0x00000008  /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT 0x00000100  /* Don't create zombie on child death.  */
+#define SA_SIGINFO   0x00000200  /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
+# define SA_INTERRUPT 0x00000010 /* Historical no-op.  */
+# define SA_NOMASK    0x00000020 /* Don't automatically block the signal when
+				    its handler is being executed.  */
+# define SA_ONESHOT   0x00000004 /* Reset to SIG_DFL on entry to handler.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NODEFER   SA_NOMASK
+# define SA_RESETHAND SA_ONESHOT
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define	SIG_BLOCK     1		 /* Block signals.  */
+#define	SIG_UNBLOCK   2		 /* Unblock signals.  */
+#define	SIG_SETMASK   4		 /* Set the set of blocked signals.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h
new file mode 100644
index 0000000000..78e09a5809
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h
@@ -0,0 +1,82 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+
+/* It is quite hard to choose what to put here, because
+   Linux/sparc32 had at least 3 totally incompatible
+   signal stack layouts.
+   This one is for the "new" style signals, which are
+   now delivered unless SA_SIGINFO is requested.  */
+
+struct sigcontext
+  {
+    struct
+      {
+	unsigned int	psr;
+	unsigned int	pc;
+	unsigned int	npc;
+	unsigned int	y;
+	unsigned int	u_regs[16]; /* globals and ins */
+      }			si_regs;
+    int			si_mask;
+  };
+
+#else /* sparc64 */
+
+typedef struct
+  {
+    unsigned int	si_float_regs [64];
+    unsigned long	si_fsr;
+    unsigned long	si_gsr;
+    unsigned long	si_fprs;
+  } __siginfo_fpu_t;
+
+struct sigcontext
+  {
+    char		sigc_info[128];
+    struct
+      {
+	unsigned long	u_regs[16]; /* globals and ins */
+	unsigned long	tstate;
+	unsigned long	tpc;
+	unsigned long	tnpc;
+	unsigned int	y;
+	unsigned int	fprs;
+      }			sigc_regs;
+    __siginfo_fpu_t *	sigc_fpu_save;
+    struct
+      {
+	void *		ss_sp;
+	int		ss_flags;
+	unsigned long	ss_size;
+      }			sigc_stack;
+    unsigned long	sigc_mask;
+};
+
+#endif /* sparc64 */
+
+#endif /* bits/sigcontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
new file mode 100644
index 0000000000..9f79715ebe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
@@ -0,0 +1,12 @@
+/* Architecture-specific adjustments to siginfo_t.  SPARC version.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+#define __SI_BAND_TYPE int
+
+#define __SI_SIGFAULT_ADDL \
+  int _si_trapno;
+
+#define si_trapno	_sifields._sigfault._si_trapno
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-consts-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-consts-arch.h
new file mode 100644
index 0000000000..721dc9cd43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/siginfo-consts-arch.h
@@ -0,0 +1,12 @@
+/* Architecture-specific additional siginfo constants.  SPARC version.  */
+#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
+#define _BITS_SIGINFO_CONSTS_ARCH_H 1
+
+/* `si_code' values for SIGEMT signal.  */
+enum
+{
+  EMT_TAGOVF = 1	/* Tag overflow.  */
+#define EMT_TAGOVF	EMT_TAGOVF
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h
new file mode 100644
index 0000000000..6a5bea24b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC = 0x400000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 0x004000
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signum.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signum.h
new file mode 100644
index 0000000000..a0c5be5fa5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/signum.h
@@ -0,0 +1,83 @@
+/* Signal number definitions.  Linux/SPARC version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef	_SIGNAL_H
+
+/* Fake signal functions.  */
+#define SIG_ERR ((__sighandler_t) -1) /* Error return.  */
+#define SIG_DFL ((__sighandler_t) 0) /* Default action.  */
+#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal.  */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
+#endif
+
+/*
+ * Linux/SPARC has different signal numbers that Linux/i386: I'm trying
+ * to make it OSF/1 binary compatible, at least for normal binaries.
+ */
+#define SIGHUP		 1
+#define SIGINT		 2
+#define SIGQUIT		 3
+#define SIGILL		 4
+#define SIGTRAP		 5
+#define SIGABRT		 6
+#define SIGIOT		 6
+#define SIGEMT           7
+#define SIGFPE		 8
+#define SIGKILL		 9
+#define SIGBUS          10
+#define SIGSEGV		11
+#define SIGSYS		12
+#define SIGPIPE		13
+#define SIGALRM		14
+#define SIGTERM		15
+#define SIGURG          16
+
+/* SunOS values which deviate from the Linux/i386 ones */
+#define SIGSTOP		17
+#define SIGTSTP		18
+#define SIGCONT		19
+#define SIGCHLD		20
+#define SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define SIGTTIN		21
+#define SIGTTOU		22
+#define SIGIO		23
+#define SIGPOLL		SIGIO   /* SysV name for SIGIO */
+#define SIGXCPU		24
+#define SIGXFSZ		25
+#define SIGVTALRM	26
+#define SIGPROF		27
+#define SIGWINCH	28
+#define SIGLOST		29
+#define SIGPWR          SIGLOST
+#define SIGUSR1		30
+#define SIGUSR2		31
+
+#define	_NSIG		65	/* Biggest signal number + 1
+				   (including real-time signals).  */
+
+#define SIGRTMIN        (__libc_current_sigrtmin ())
+#define SIGRTMAX        (__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+#define __SIGRTMIN	32
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h
new file mode 100644
index 0000000000..74670cb037
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   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 _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	4096
+
+/* System default stack size.  */
+#define SIGSTKSZ	16384
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h
new file mode 100644
index 0000000000..53fcd0c018
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h
@@ -0,0 +1,55 @@
+/* Define enum __socket_type for Linux/SPARC.
+   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/>.  */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_STREAM = 1,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_DGRAM = 2,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_DCCP = 6,		/* Datagram Congestion Control Protocol.  */
+#define SOCK_DCCP SOCK_DCCP
+  SOCK_PACKET = 10,		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 0x400000,	/* Atomically set close-on-exec flag for the
+				   new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 0x004000	/* Atomically mark descriptor(s) as
+				   non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/stat.h
new file mode 100644
index 0000000000..87b1c9d1ca
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/stat.h
@@ -0,0 +1,173 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
+
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+
+
+struct stat
+  {
+    __dev_t st_dev;			/* Device.  */
+#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
+    unsigned short int __pad1;
+    __ino_t st_ino;			/* File serial number.	*/
+#else
+    __ino64_t st_ino;			/* File serial number.	*/
+#endif
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+#ifndef __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+#else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+#endif
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+#else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;			/* Device.  */
+# if __WORDSIZE == 64
+    unsigned short int __pad1;
+# endif
+    __ino64_t st_ino;			/* File serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+    __uid_t st_uid;			/* User ID of the file's owner.	*/
+    __gid_t st_gid;			/* Group ID of the file's group.*/
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned short int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
+
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+#  define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+#  define st_mtime st_mtim.tv_sec
+#  define st_ctime st_ctim.tv_sec
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/termios.h
new file mode 100644
index 0000000000..82678ea156
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -0,0 +1,225 @@
+/* termios type and macro definitions.  Linux/SPARC version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios.h> directly; use <termios.h> instead."
+#endif
+
+typedef unsigned char cc_t;
+typedef unsigned int speed_t;
+typedef unsigned int tcflag_t;
+
+#define NCCS 17
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[NCCS];		/* control characters */
+  };
+
+/* c_cc characters */
+#define VINTR    0
+#define VQUIT    1
+#define VERASE   2
+#define VKILL    3
+#define VEOF     4
+#define VEOL     5
+#define VEOL2    6
+#define VSWTC    7
+#define VSTART   8
+#define VSTOP    9
+#define VSUSP    10
+#define VDSUSP   11		/* SunOS POSIX nicety I do believe... */
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE  14
+#define VLNEXT   15
+
+/* User apps assume vmin/vtime is shared with eof/eol */
+#define VMIN     VEOF
+#define VTIME    VEOL
+
+/* c_iflag bits */
+#define IGNBRK	0x00000001
+#define BRKINT	0x00000002
+#define IGNPAR	0x00000004
+#define PARMRK	0x00000008
+#define INPCK	0x00000010
+#define ISTRIP	0x00000020
+#define INLCR	0x00000040
+#define IGNCR	0x00000080
+#define ICRNL	0x00000100
+#define IUCLC	0x00000200
+#define IXON	0x00000400
+#define IXANY	0x00000800
+#define IXOFF	0x00001000
+#define IMAXBEL	0x00002000
+#define IUTF8	0x00004000
+
+/* c_oflag bits */
+#define OPOST	0x00000001
+#define OLCUC	0x00000002
+#define ONLCR	0x00000004
+#define OCRNL	0x00000008
+#define ONOCR	0x00000010
+#define ONLRET	0x00000020
+#define OFILL	0x00000040
+#define OFDEL	0x00000080
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0x00000100
+# define   NL0	0x00000000
+# define   NL1	0x00000100
+# define CRDLY	0x00000600
+# define   CR0	0x00000000
+# define   CR1	0x00000200
+# define   CR2	0x00000400
+# define   CR3	0x00000600
+# define TABDLY	0x00001800
+# define   TAB0	0x00000000
+# define   TAB1	0x00000800
+# define   TAB2	0x00001000
+# define   TAB3	0x00001800
+# define BSDLY	0x00002000
+# define   BS0	0x00000000
+# define   BS1	0x00002000
+#define FFDLY	0x00008000
+#define   FF0	0x00000000
+#define   FF1	0x00008000
+#endif
+#define VTDLY	0x00004000
+#define   VT0	0x00000000
+#define   VT1	0x00004000
+
+# if defined __USE_GNU
+#define PAGEOUT 0x00010000	/* SUNOS specific */
+#define WRAP    0x00020000	/* SUNOS specific */
+# endif
+
+#ifdef __USE_MISC
+# define   XTABS	0x00001800
+#endif
+
+/* c_cflag bit meaning */
+#ifdef __USE_MISC
+# define CBAUD	0x0000100f
+#endif
+#define  B0	0x00000000	/* hang up */
+#define  B50	0x00000001
+#define  B75	0x00000002
+#define  B110	0x00000003
+#define  B134	0x00000004
+#define  B150	0x00000005
+#define  B200	0x00000006
+#define  B300	0x00000007
+#define  B600	0x00000008
+#define  B1200	0x00000009
+#define  B1800	0x0000000a
+#define  B2400	0x0000000b
+#define  B4800	0x0000000c
+#define  B9600	0x0000000d
+#define  B19200	0x0000000e
+#define  B38400	0x0000000f
+#ifdef __USE_MISC
+# define EXTA    B19200
+# define EXTB    B38400
+#endif
+#define  CSIZE  0x00000030
+#define   CS5	0x00000000
+#define   CS6	0x00000010
+#define   CS7	0x00000020
+#define   CS8	0x00000030
+#define CSTOPB	0x00000040
+#define CREAD	0x00000080
+#define PARENB	0x00000100
+#define PARODD	0x00000200
+#define HUPCL	0x00000400
+#define CLOCAL	0x00000800
+#ifdef __USE_MISC
+# define CBAUDEX 0x00001000
+#endif
+#define  B57600  0x00001001
+#define  B115200 0x00001002
+#define  B230400 0x00001003
+#define  B460800 0x00001004
+#define  B76800  0x00001005
+#define  B153600 0x00001006
+#define  B307200 0x00001007
+#define  B614400 0x00001008
+#define  B921600 0x00001009
+#define  B500000 0x0000100a
+#define  B576000 0x0000100b
+#define B1000000 0x0000100c
+#define B1152000 0x0000100d
+#define B1500000 0x0000100e
+#define B2000000 0x0000100f
+#define __MAX_BAUD B2000000
+
+#ifdef __USE_MISC
+# define CIBAUD	 0x100f0000	/* input baud rate (not used) */
+# define CMSPAR	 0x40000000	/* mark or space (stick) parity */
+# define CRTSCTS 0x80000000	/* flow control */
+#endif
+
+/* c_lflag bits */
+#define ISIG	0x00000001
+#define ICANON	0x00000002
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0x00000004
+#endif
+#define ECHO	0x00000008
+#define ECHOE	0x00000010
+#define ECHOK	0x00000020
+#define ECHONL	0x00000040
+#define NOFLSH	0x00000080
+#define TOSTOP	0x00000100
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000200
+# define ECHOPRT	0x00000400
+# define ECHOKE		0x00000800
+# define DEFECHO	0x00001000	/* SUNOS thing, what is it? */
+# define FLUSHO		0x00002000
+# define PENDIN		0x00004000
+#endif
+#define IEXTEN	0x00008000
+#ifdef __USE_MISC
+# define EXTPROC 0x00010000
+#endif
+
+# if defined __USE_GNU
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+#endif
+
+/* tcflow() and TCXONC use these */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* tcflush() and TCFLSH use these */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* tcsetattr uses these */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/timerfd.h
new file mode 100644
index 0000000000..d484c352e6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/timerfd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
+#endif
+
+/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
+enum
+  {
+    TFD_CLOEXEC = 0x400000,
+#define TFD_CLOEXEC TFD_CLOEXEC
+    TFD_NONBLOCK = 0x004000
+#define TFD_NONBLOCK TFD_NONBLOCK
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
new file mode 100644
index 0000000000..e3f9127b05
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
@@ -0,0 +1,83 @@
+/* bits/typesizes.h -- underlying types for *_t.  Linux/SPARC version.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef	_BITS_TYPESIZES_H
+#define	_BITS_TYPESIZES_H	1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+#define __DEV_T_TYPE		__UQUAD_TYPE
+#define __UID_T_TYPE		__U32_TYPE
+#define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
+#define __INO64_T_TYPE		__UQUAD_TYPE
+#define __MODE_T_TYPE		__U32_TYPE
+#define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
+#define __OFF64_T_TYPE		__SQUAD_TYPE
+#define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
+#define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
+#define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
+#define	__ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
+#define __USECONDS_T_TYPE	__U32_TYPE
+#define __SUSECONDS_T_TYPE	__S32_TYPE
+#define __DADDR_T_TYPE		__S32_TYPE
+#define __KEY_T_TYPE		__S32_TYPE
+#define __CLOCKID_T_TYPE	__S32_TYPE
+#define __TIMER_T_TYPE		void *
+#define __BLKSIZE_T_TYPE	__SLONGWORD_TYPE
+#define __FSID_T_TYPE		struct { int __val[2]; }
+#define __SSIZE_T_TYPE		__SWORD_TYPE
+#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
+
+#if defined __arch64__ || defined __sparcv9
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
+
+/* And for __rlim_t and __rlim64_t.  */
+# define __RLIM_T_MATCHES_RLIM64_T	1
+#else
+# define __RLIM_T_MATCHES_RLIM64_T	0
+#endif
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define	__FD_SETSIZE		1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
new file mode 100644
index 0000000000..7562875ee2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
@@ -0,0 +1,11 @@
+/* Determine the wordsize from the preprocessor defines.  */
+
+#if defined __arch64__ || defined __sparcv9
+# define __WORDSIZE	64
+# define __WORDSIZE_TIME64_COMPAT32	1
+#else
+# define __WORDSIZE	32
+# define __WORDSIZE32_SIZE_ULONG	0
+# define __WORDSIZE32_PTRDIFF_LONG	0
+# define __WORDSIZE_TIME64_COMPAT32	0
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure
new file mode 100644
index 0000000000..00fb21e156
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure
@@ -0,0 +1,5 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/sparc.
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure.ac
new file mode 100644
index 0000000000..7e2af9847a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/configure.ac
@@ -0,0 +1,5 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/sparc.
+
+libc_cv_gcc_unwind_find_fde=yes
+ldd_rewrite_script=sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/dl-cache.h
new file mode 100644
index 0000000000..86f4cf4919
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/dl-cache.h
@@ -0,0 +1,38 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define add_system_dir(dir) \
+  do								\
+    {								\
+      size_t len = strlen (dir);				\
+      char path[len + 3];					\
+      memcpy (path, dir, len + 1);				\
+      if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6))	\
+	{							\
+	  len -= 2;						\
+	  path[len] = '\0';					\
+	}							\
+      add_dir (path);						\
+      if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4))	\
+	{							\
+	  memcpy (path + len, "64", 3);				\
+	  add_dir (path);					\
+	}							\
+    } while (0)
+
+#include <sysdeps/generic/dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getrlimit64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getrlimit64.c
new file mode 100644
index 0000000000..7ffc7dd5dd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getrlimit64.c
@@ -0,0 +1,24 @@
+/* Linux getrlimit64 sparc32 implementation (64 bits rlim_t).
+   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 <shlib-compat.h>
+
+#undef SHLIB_COMPAT
+#define SHLIB_COMPAT(a,b,c) 0
+
+#include <sysdeps/unix/sysv/linux/getrlimit64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getshmlba.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getshmlba.c
new file mode 100644
index 0000000000..26a90e707a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getshmlba.c
@@ -0,0 +1,39 @@
+/* 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 <unistd.h>
+#include <sys/shm.h>
+#include <ldsodefs.h>
+
+int
+__getshmlba (void)
+{
+  uint64_t hwcap = GLRO(dl_hwcap);
+  int pgsz = GLRO(dl_pagesize);
+
+  if (hwcap & HWCAP_SPARC_V9)
+    {
+      if (pgsz < (16 * 1024))
+	return 16 * 1024;
+      else
+	return pgsz;
+    }
+  else if (!(hwcap & HWCAP_SPARC_FLUSH))
+    return 64 * 1024;
+  else
+    return 256 * 1024;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getsysstats.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getsysstats.c
new file mode 100644
index 0000000000..49708495ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/getsysstats.c
@@ -0,0 +1,55 @@
+/* Determine various system internal values, Linux/Sparc version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Schwab <schwab@suse.de> 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/>.  */
+
+
+/* We need to define a special parser for /proc/cpuinfo.  */
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)	  \
+  do									  \
+    {									  \
+      (RESULT) = 0;							  \
+      /* Find the line that contains the information about the number of  \
+	 active cpus.  We don't have to fear extremely long lines since	  \
+	 the kernel will not generate them.  8192 bytes are really	  \
+	 enough.  */							  \
+      char *l;								  \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)  \
+	if (sscanf (l, "ncpus active : %d", &(RESULT)) == 1)		  \
+	  break;							  \
+    }									  \
+  while (0)
+
+
+/* On the Sparc we can distinguish between the number of configured and
+   active cpus.  */
+#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT)			 \
+  do									 \
+    {									 \
+      (RESULT) = 0;							 \
+      /* Find the line that contains the information about the number of \
+	 probed cpus.  We don't have to fear extremely long lines since	 \
+	 the kernel will not generate them.  8192 bytes are really	 \
+	 enough.  */							 \
+      while (__fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \
+	if (sscanf (buffer, "ncpus probed : %d", &(RESULT)) == 1)	 \
+	  break;							 \
+    }									 \
+  while (0)
+
+#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel-features.h
new file mode 100644
index 0000000000..3fafab359c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel-features.h
@@ -0,0 +1,42 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  SPARC version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* SPARC uses socketcall.  */
+#define __ASSUME_SOCKETCALL		1
+
+#include_next <kernel-features.h>
+
+/* 32-bit SPARC kernels do not support
+   futex_atomic_cmpxchg_inatomic.  */
+#if !defined __arch64__ && !defined __sparc_v9__
+# undef __ASSUME_SET_ROBUST_LIST
+#endif
+
+#if !defined __arch64__
+# undef __ASSUME_ACCEPT_SYSCALL
+# undef __ASSUME_CONNECT_SYSCALL
+# undef __ASSUME_RECVFROM_SYSCALL
+#else
+/* sparc64 defines __NR_pause,  however it is not supported (ENOSYS).
+   Undefine so pause.c can use a correct alternative.  */
+# undef __NR_pause
+#endif
+
+/* sparc only supports ipc syscall.  */
+#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel_termios.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel_termios.h
new file mode 100644
index 0000000000..464ddf8135
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/kernel_termios.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+/* The following corresponds to the values from the Linux 2.1.20 kernel.  */
+
+/* We need the definition of tcflag_t, cc_t, and speed_t.  */
+#include <termios.h>
+
+#define __KERNEL_NCCS 17
+
+struct __kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[__KERNEL_NCCS];	/* control characters */
+  };
+
+#endif /* kernel_termios.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
new file mode 100644
index 0000000000..7dc2698fa8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
@@ -0,0 +1,3 @@
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+s_^\(RTLDLIST=\)\(.*lib\)\(\|64\)\(/[^/]*\.so\.[0-9.]*\)[ 	]*$_\1"\2\4 \264\4"_
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
new file mode 100644
index 0000000000..e36fde6cae
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
@@ -0,0 +1,135 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LOWLEVELLOCK_H
+#define _LOWLEVELLOCK_H	1
+
+#include <time.h>
+#include <sys/param.h>
+#include <bits/pthreadtypes.h>
+#include <atomic.h>
+#include <kernel-features.h>
+
+#include <lowlevellock-futex.h>
+
+static inline int
+__attribute__ ((always_inline))
+__lll_trylock (int *futex)
+{
+  return atomic_compare_and_exchange_val_24_acq (futex, 1, 0) != 0;
+}
+#define lll_trylock(futex) __lll_trylock (&(futex))
+
+static inline int
+__attribute__ ((always_inline))
+__lll_cond_trylock (int *futex)
+{
+  return atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0;
+}
+#define lll_cond_trylock(futex) __lll_cond_trylock (&(futex))
+
+
+extern void __lll_lock_wait_private (int *futex) attribute_hidden;
+extern void __lll_lock_wait (int *futex, int private) attribute_hidden;
+
+static inline void
+__attribute__ ((always_inline))
+__lll_lock (int *futex, int private)
+{
+  int val = atomic_compare_and_exchange_val_24_acq (futex, 1, 0);
+
+  if (__glibc_unlikely (val != 0))
+    {
+      if (__builtin_constant_p (private) && private == LLL_PRIVATE)
+	__lll_lock_wait_private (futex);
+      else
+	__lll_lock_wait (futex, private);
+    }
+}
+#define lll_lock(futex, private) __lll_lock (&(futex), private)
+
+static inline void
+__attribute__ ((always_inline))
+__lll_cond_lock (int *futex, int private)
+{
+  int val = atomic_compare_and_exchange_val_24_acq (futex, 2, 0);
+
+  if (__glibc_unlikely (val != 0))
+    __lll_lock_wait (futex, private);
+}
+#define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private)
+
+
+extern int __lll_timedlock_wait (int *futex, const struct timespec *,
+				 int private) attribute_hidden;
+
+static inline int
+__attribute__ ((always_inline))
+__lll_timedlock (int *futex, const struct timespec *abstime, int private)
+{
+  int val = atomic_compare_and_exchange_val_24_acq (futex, 1, 0);
+  int result = 0;
+
+  if (__glibc_unlikely (val != 0))
+    result = __lll_timedlock_wait (futex, abstime, private);
+  return result;
+}
+#define lll_timedlock(futex, abstime, private) \
+  __lll_timedlock (&(futex), abstime, private)
+
+#define lll_unlock(lock, private) \
+  ((void) ({								      \
+    int *__futex = &(lock);						      \
+    int __private = (private);						      \
+    int __val = atomic_exchange_24_rel (__futex, 0);			      \
+    if (__glibc_unlikely (__val > 1))					      \
+      lll_futex_wake (__futex, 1, __private);				      \
+  }))
+
+#define lll_islocked(futex) \
+  (futex != 0)
+
+/* Initializers for lock.  */
+#define LLL_LOCK_INITIALIZER		(0)
+#define LLL_LOCK_INITIALIZER_LOCKED	(1)
+
+/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
+   wakeup when the clone terminates.  The memory location contains the
+   thread ID while the clone is running and is reset to zero
+   afterwards.	*/
+#define lll_wait_tid(tid) \
+  do							\
+    {							\
+      __typeof (tid) __tid;				\
+      while ((__tid = (tid)) != 0)			\
+	lll_futex_wait (&(tid), __tid, LLL_SHARED);	\
+    }							\
+  while (0)
+
+extern int __lll_timedwait_tid (int *, const struct timespec *)
+     attribute_hidden;
+
+#define lll_timedwait_tid(tid, abstime) \
+  ({							\
+    int __res = 0;					\
+    if ((tid) != 0)					\
+      __res = __lll_timedwait_tid (&(tid), (abstime));	\
+    __res;						\
+  })
+
+#endif	/* lowlevellock.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/pt-vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
new file mode 100644
index 0000000000..65cc3823ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/readelflib.c
new file mode 100644
index 0000000000..a9737fe89a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/readelflib.c
@@ -0,0 +1,61 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 1999 and
+		  Jakub Jelinek <jakub@redhat.com>, 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/>.  */
+
+
+int process_elf32_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+int process_elf64_file (const char *file_name, const char *lib, int *flag,
+			unsigned int *osversion, char **soname,
+			void *file_contents, size_t file_length);
+
+/* Returns 0 if everything is ok, != 0 in case of error.  */
+int
+process_elf_file (const char *file_name, const char *lib, int *flag,
+		  unsigned int *osversion, char **soname, void *file_contents,
+		  size_t file_length)
+{
+  ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+  int ret;
+
+  if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+    return process_elf32_file (file_name, lib, flag, osversion, soname,
+			       file_contents, file_length);
+  else
+    {
+      ret = process_elf64_file (file_name, lib, flag, osversion, soname,
+				file_contents, file_length);
+      /* Sparc 64bit libraries are always libc.so.6+.  */
+      if (!ret)
+	*flag = FLAG_SPARC_LIB64|FLAG_ELF_LIBC6;
+      return ret;
+    }
+}
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf32_file
+#define __ELF_NATIVE_CLASS 32
+#include "elf/readelflib.c"
+
+#undef __ELF_NATIVE_CLASS
+#undef process_elf_file
+#define process_elf_file process_elf64_file
+#define __ELF_NATIVE_CLASS 64
+#include "elf/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/rt-sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/rt-sysdep.c
new file mode 100644
index 0000000000..3ff55952e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/rt-sysdep.c
@@ -0,0 +1 @@
+#include <sysdep.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies
new file mode 100644
index 0000000000..efda9d27c0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies
@@ -0,0 +1,3 @@
+# These supply the ABI compatibility for when long double was double.
+ieee754/ldbl-64-128
+ieee754/ldbl-opt
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
new file mode 100644
index 0000000000..21c7dc1680
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
@@ -0,0 +1,28 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
+asm-CPPFLAGS = -D__ASSEMBLY__
+ASFLAGS-.os += -fPIC
+LD += -melf32_sparc
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+# When I get this to work, this is the right thing
+ifeq ($(subdir),elf)
+CFLAGS-rtld.c += -mcpu=v8
+#rtld-routines += dl-sysdepsparc
+sysdep-others += lddlibc4
+install-bin += lddlibc4
+endif   # elf
+
+ifeq ($(subdir),math)
+# These 2 routines are normally in libgcc{.a,_s.so.1}.
+# However, sparc32 -mlong-double-128 libgcc relies on
+# glibc providing _Q_* routines and without these files
+# glibc relies on __multc3/__divtc3 only provided
+# by libgcc if configured with -mlong-double-128.
+# Provide these routines here as well.
+libm-routines += multc3 divtc3
+endif   # math
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions
new file mode 100644
index 0000000000..c9a5b3e9d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions
@@ -0,0 +1,26 @@
+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 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64;
+
+    # g*
+    glob64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+  }
+  GLIBC_2.3.3 {
+    posix_fadvise64; posix_fallocate64;
+  }
+  GLIBC_2.11 {
+    fallocate64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S
new file mode 100644
index 0000000000..ff65bbd487
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S
@@ -0,0 +1,113 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <jmpbuf-offsets.h>
+
+#define ENV(base,reg) [%base + (reg * 4)]
+#define ST_FLUSH_WINDOWS 3
+
+.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)
+	ld	ENV(o0,JB_SP), %g5
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE (%g5, %g5, %g4)
+#endif
+
+	cmp	%sp, %g5
+	bleu	.Lok_norestore
+	 nop
+
+	save	%sp, -80, %sp
+	cfi_remember_state
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
+	clr	%o0
+	add	%sp, 64, %o1
+	LOADSYSCALL(sigaltstack)
+	ta	0x10
+	bcs	.Lok
+	 ld	[%sp + 64 + 4], %o2
+	andcc	%o2, 0x1, %g0
+	be	.Lfail
+	 ld	[%sp + 64 + 0], %o0
+
+	ld	[%sp + 64 + 8], %o1
+	add	%o0, %o1, %o0
+	sub	%o0, %g5, %o0
+	cmp	%o0, %o1
+	bgeu	.Lok
+	 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
+	ld	[%l7 + %o0], %o0, %gdop(longjmp_msg)
+#endif
+	call	HIDDEN_JUMPTARGET(__fortify_fail)
+	 nop
+
+.Lok:
+	restore
+	cfi_restore_state
+
+.Lok_norestore:
+	ld	ENV(o0,JB_FP), %g3	/* Cache target FP in register %g3.  */
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE2 (%g3, %g3, %g4)
+#endif
+
+	mov %o0, %g1		/* ENV in %g1 */
+	orcc %o1, %g0, %g2	/* VAL in %g2 */
+	be,a 0f			/* Branch if zero; else skip delay slot.  */
+	 mov 1, %g2		/* Delay slot only hit if zero: VAL = 1.  */
+0:
+
+	save	%sp, -96, %sp
+	/*
+	 * Do a "flush register windows trap".  The trap handler in the
+	 * kernel writes all the register windows to their stack slots, and
+	 * marks them all as invalid (needing to be sucked up from the
+	 * stack when used).  This ensures that all information needed to
+	 * unwind to these callers is in memory, not in the register
+	 * windows.
+	 */
+	ta	ST_FLUSH_WINDOWS
+#ifdef PTR_DEMANGLE
+	ld	ENV(g1,JB_PC), %g1 /* Set return PC. */
+	PTR_DEMANGLE2 (%i7, %g1, %g4)
+#else
+	ld	ENV(g1,JB_PC), %i7 /* Set return PC. */
+#endif
+	mov	%g5, %fp
+	jmp	%i7 + 8
+	 restore %g2, 0, %o0	/* Restore values from above register frame. */
+
+END(____longjmp_chk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c
new file mode 100644
index 0000000000..7162eb27b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c
@@ -0,0 +1,54 @@
+/* brk system call for Linux/SPARC.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx)
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt
+   to work around different old braindamage in the old Linux ELF dynamic
+   linker.  */
+weak_alias (__curbrk, ___brk_addr)
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  {
+    register void *o0 __asm__("%o0") = addr;
+    register int g1 __asm__("%g1") = __NR_brk;
+    __asm ("t 0x10" : "=r"(o0) : "r"(g1), "0"(o0) : "cc");
+    newbrk = o0;
+  }
+
+  __curbrk = newbrk;
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data
new file mode 100644
index 0000000000..b3c19d9c61
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t: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:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
new file mode 100644
index 0000000000..6d2f5bd55f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
@@ -0,0 +1,90 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <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); */
+
+	.text
+ENTRY (__clone)
+	save	%sp,-96,%sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
+	/* sanity check arguments */
+	orcc	%i0,%g0,%g2
+	be	.Leinval
+	 orcc	%i1,%g0,%o1
+	be	.Leinval
+	 mov	%i2,%o0
+
+	/* The child_stack is the top of the stack, allocate one
+	   whole stack frame from that as this is what the kernel
+	   expects.  */
+	sub	%o1, 96, %o1
+	mov	%i3, %g3
+
+	/* ptid */
+	mov	%i4,%o2
+	/* tls */
+	mov	%i5,%o3
+	/* ctid */
+	ld	[%fp+92],%o4
+
+	/* Do the system call */
+	set	__NR_clone,%g1
+	ta	0x10
+	bcs	.Lerror
+	 tst	%o1
+	bne	__thread_start
+	 nop
+	jmpl	%i7 + 8, %g0
+	 restore %o0,%g0,%o0
+
+.Leinval:
+	mov	EINVAL, %o0
+.Lerror:
+	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/sparc32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c
new file mode 100644
index 0000000000..ea951bc4f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies
new file mode 100644
index 0000000000..dbcd1e9e6f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies
@@ -0,0 +1,2 @@
+# We must list this here to move it ahead of the ldbl-opt code.
+sparc/sparc32/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c
new file mode 100644
index 0000000000..4f219f0b9d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c
new file mode 100644
index 0000000000..0f8b3135d8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/fxstatat.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S
new file mode 100644
index 0000000000..893d7bf5b5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S
@@ -0,0 +1,84 @@
+/* Save current context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 *ucp)
+
+  Saves the machine context in UCP such that when it is activated,
+  it appears as if __getcontext() returned again.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+
+ENTRY(__getcontext)
+	save	%sp, -112, %sp
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PSR]
+
+	/* In reality, we only use the GREG_PC value when setting
+	   or swapping contexts.  But we fill in NPC for completeness.  */
+	add	%i7, 8, %o0
+	st	%o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PC]
+	add	%o0, 4, %o0
+	st	%o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_NPC]
+
+	rd	%y, %o1
+	st	%o1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y]
+
+	st	%g1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G1]
+	st	%g2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2]
+	st	%g3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3]
+	st	%g4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4]
+	st	%g5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5]
+	st	%g6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6]
+	st	%g7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7]
+
+	mov	SIG_BLOCK, %o0
+	clr	%o1
+	add	%i0, UC_SIGMASK, %o2
+	mov	8, %o3
+	mov	__NR_rt_sigprocmask, %g1
+	ta	0x10
+
+	/* Zero, success, return value.  */
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O0]
+	st	%i1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1]
+	st	%i2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2]
+	st	%i3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3]
+	st	%i4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4]
+	st	%i5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5]
+	st	%i6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6]
+	st	%i7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O7]
+
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GWINS]
+
+	/* Do not save FPU state, it is volatile across calls.  */
+	stb	%g0, [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN]
+
+	st	%g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_ID]
+	st	%g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_PTR]
+	jmpl	%i7 + 8, %g0
+	 restore %g0, %g0, %o0
+END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c
new file mode 100644
index 0000000000..0c75fb5a06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/getdents64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c
new file mode 100644
index 0000000000..82a9a296a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/glob64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h
new file mode 100644
index 0000000000..a4416009f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h
@@ -0,0 +1,35 @@
+/* Definition of `struct stat' used in the kernel */
+struct kernel_stat
+  {
+    unsigned short int st_dev;
+    unsigned long int st_ino;
+    unsigned short int st_mode;
+    short int st_nlink;
+    unsigned short int st_uid;
+    unsigned short int st_gid;
+    unsigned short int st_rdev;
+    long int st_size;
+    struct timespec st_atim;
+    struct timespec st_mtim;
+    struct timespec st_ctim;
+    long int st_blksize;
+    long int st_blocks;
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+  };
+
+#define _HAVE___UNUSED4
+#define _HAVE___UNUSED5
+
+#define _HAVE_STAT___UNUSED4
+#define _HAVE_STAT___UNUSED5
+#define _HAVE_STAT___PAD1
+#define _HAVE_STAT___PAD2
+#define _HAVE_STAT64___UNUSED4
+#define _HAVE_STAT64___UNUSED5
+#define _HAVE_STAT64___PAD2
+#define _HAVE_STAT_NSEC
+#define _HAVE_STAT64_NSEC
+
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
new file mode 100644
index 0000000000..fb4bcb016d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _r_debug D 0x14
+GLIBC_2.0 calloc F
+GLIBC_2.0 free F
+GLIBC_2.0 malloc F
+GLIBC_2.0 realloc F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_stack_end D 0x4
+GLIBC_2.1 _dl_mcount F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..4a56bb68a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
new file mode 100644
index 0000000000..8c4c2e502c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -0,0 +1,2479 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 .div F
+GLIBC_2.0 .mul F
+GLIBC_2.0 .rem F
+GLIBC_2.0 .udiv F
+GLIBC_2.0 .umul F
+GLIBC_2.0 .urem F
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_adjust_column F
+GLIBC_2.0 _IO_default_doallocate F
+GLIBC_2.0 _IO_default_finish F
+GLIBC_2.0 _IO_default_pbackfail F
+GLIBC_2.0 _IO_default_uflow F
+GLIBC_2.0 _IO_default_xsgetn F
+GLIBC_2.0 _IO_default_xsputn F
+GLIBC_2.0 _IO_do_write F
+GLIBC_2.0 _IO_doallocbuf F
+GLIBC_2.0 _IO_fclose F
+GLIBC_2.0 _IO_fdopen F
+GLIBC_2.0 _IO_feof F
+GLIBC_2.0 _IO_ferror F
+GLIBC_2.0 _IO_fflush F
+GLIBC_2.0 _IO_fgetpos F
+GLIBC_2.0 _IO_fgets F
+GLIBC_2.0 _IO_file_attach F
+GLIBC_2.0 _IO_file_close F
+GLIBC_2.0 _IO_file_close_it F
+GLIBC_2.0 _IO_file_doallocate F
+GLIBC_2.0 _IO_file_fopen F
+GLIBC_2.0 _IO_file_init F
+GLIBC_2.0 _IO_file_jumps D 0x54
+GLIBC_2.0 _IO_file_open F
+GLIBC_2.0 _IO_file_overflow F
+GLIBC_2.0 _IO_file_read F
+GLIBC_2.0 _IO_file_seek F
+GLIBC_2.0 _IO_file_seekoff F
+GLIBC_2.0 _IO_file_setbuf F
+GLIBC_2.0 _IO_file_stat F
+GLIBC_2.0 _IO_file_sync F
+GLIBC_2.0 _IO_file_underflow F
+GLIBC_2.0 _IO_file_write F
+GLIBC_2.0 _IO_file_xsputn F
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_flush_all F
+GLIBC_2.0 _IO_flush_all_linebuffered F
+GLIBC_2.0 _IO_fopen F
+GLIBC_2.0 _IO_fprintf F
+GLIBC_2.0 _IO_fputs F
+GLIBC_2.0 _IO_fread F
+GLIBC_2.0 _IO_free_backup_area F
+GLIBC_2.0 _IO_fsetpos F
+GLIBC_2.0 _IO_ftell F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 _IO_fwrite F
+GLIBC_2.0 _IO_getc F
+GLIBC_2.0 _IO_getline F
+GLIBC_2.0 _IO_gets F
+GLIBC_2.0 _IO_init F
+GLIBC_2.0 _IO_init_marker F
+GLIBC_2.0 _IO_link_in F
+GLIBC_2.0 _IO_list_all D 0x4
+GLIBC_2.0 _IO_marker_delta F
+GLIBC_2.0 _IO_marker_difference F
+GLIBC_2.0 _IO_padn F
+GLIBC_2.0 _IO_peekc_locked F
+GLIBC_2.0 _IO_popen F
+GLIBC_2.0 _IO_printf F
+GLIBC_2.0 _IO_proc_close F
+GLIBC_2.0 _IO_proc_open F
+GLIBC_2.0 _IO_putc F
+GLIBC_2.0 _IO_puts F
+GLIBC_2.0 _IO_remove_marker F
+GLIBC_2.0 _IO_seekmark F
+GLIBC_2.0 _IO_seekoff F
+GLIBC_2.0 _IO_seekpos F
+GLIBC_2.0 _IO_setb F
+GLIBC_2.0 _IO_setbuffer F
+GLIBC_2.0 _IO_setvbuf F
+GLIBC_2.0 _IO_sgetn F
+GLIBC_2.0 _IO_sprintf F
+GLIBC_2.0 _IO_sputbackc F
+GLIBC_2.0 _IO_sscanf F
+GLIBC_2.0 _IO_stderr_ D 0x50
+GLIBC_2.0 _IO_stdin_ D 0x50
+GLIBC_2.0 _IO_stdout_ D 0x50
+GLIBC_2.0 _IO_str_init_readonly F
+GLIBC_2.0 _IO_str_init_static F
+GLIBC_2.0 _IO_str_overflow F
+GLIBC_2.0 _IO_str_pbackfail F
+GLIBC_2.0 _IO_str_seekoff F
+GLIBC_2.0 _IO_str_underflow F
+GLIBC_2.0 _IO_sungetc F
+GLIBC_2.0 _IO_switch_to_get_mode F
+GLIBC_2.0 _IO_un_link F
+GLIBC_2.0 _IO_ungetc F
+GLIBC_2.0 _IO_unsave_markers F
+GLIBC_2.0 _IO_vfprintf F
+GLIBC_2.0 _IO_vfscanf F
+GLIBC_2.0 _IO_vsprintf F
+GLIBC_2.0 ___brk_addr D 0x4
+GLIBC_2.0 __adjtimex F
+GLIBC_2.0 __after_morecore_hook D 0x4
+GLIBC_2.0 __argz_count F
+GLIBC_2.0 __argz_next F
+GLIBC_2.0 __argz_stringify F
+GLIBC_2.0 __assert_fail F
+GLIBC_2.0 __assert_perror_fail F
+GLIBC_2.0 __bsd_getpgrp F
+GLIBC_2.0 __bzero F
+GLIBC_2.0 __check_rhosts_file D 0x4
+GLIBC_2.0 __clone F
+GLIBC_2.0 __close F
+GLIBC_2.0 __cmsg_nxthdr F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __ctype32_b D 0x4
+GLIBC_2.0 __ctype_b D 0x4
+GLIBC_2.0 __ctype_get_mb_cur_max F
+GLIBC_2.0 __ctype_tolower D 0x4
+GLIBC_2.0 __ctype_toupper D 0x4
+GLIBC_2.0 __curbrk D 0x4
+GLIBC_2.0 __daylight D 0x4
+GLIBC_2.0 __dcgettext F
+GLIBC_2.0 __default_morecore F
+GLIBC_2.0 __deregister_frame F
+GLIBC_2.0 __deregister_frame_info F
+GLIBC_2.0 __dgettext F
+GLIBC_2.0 __dup2 F
+GLIBC_2.0 __environ D 0x4
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __ffs F
+GLIBC_2.0 __finite F
+GLIBC_2.0 __finitef F
+GLIBC_2.0 __finitel F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __fpu_control D 0x4
+GLIBC_2.0 __frame_state_for F
+GLIBC_2.0 __free_hook D 0x4
+GLIBC_2.0 __fxstat F
+GLIBC_2.0 __getdelim F
+GLIBC_2.0 __getpagesize F
+GLIBC_2.0 __getpgid F
+GLIBC_2.0 __getpid F
+GLIBC_2.0 __gettimeofday F
+GLIBC_2.0 __gmtime_r F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __isinf F
+GLIBC_2.0 __isinff F
+GLIBC_2.0 __isinfl F
+GLIBC_2.0 __isnan F
+GLIBC_2.0 __isnanf F
+GLIBC_2.0 __isnanl F
+GLIBC_2.0 __iswctype F
+GLIBC_2.0 __ivaliduser F
+GLIBC_2.0 __libc_calloc F
+GLIBC_2.0 __libc_free F
+GLIBC_2.0 __libc_init_first F
+GLIBC_2.0 __libc_mallinfo F
+GLIBC_2.0 __libc_malloc F
+GLIBC_2.0 __libc_mallopt F
+GLIBC_2.0 __libc_memalign F
+GLIBC_2.0 __libc_pvalloc F
+GLIBC_2.0 __libc_realloc F
+GLIBC_2.0 __libc_start_main F
+GLIBC_2.0 __libc_valloc F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __lxstat F
+GLIBC_2.0 __malloc_hook D 0x4
+GLIBC_2.0 __malloc_initialize_hook D 0x4
+GLIBC_2.0 __mbrlen F
+GLIBC_2.0 __mbrtowc F
+GLIBC_2.0 __memalign_hook D 0x4
+GLIBC_2.0 __mempcpy F
+GLIBC_2.0 __monstartup F
+GLIBC_2.0 __morecore D 0x4
+GLIBC_2.0 __nss_configure_lookup F
+GLIBC_2.0 __nss_database_lookup F
+GLIBC_2.0 __nss_group_lookup F
+GLIBC_2.0 __nss_hosts_lookup F
+GLIBC_2.0 __nss_next F
+GLIBC_2.0 __nss_passwd_lookup F
+GLIBC_2.0 __open F
+GLIBC_2.0 __overflow F
+GLIBC_2.0 __pipe F
+GLIBC_2.0 __printf_fp F
+GLIBC_2.0 __profile_frequency F
+GLIBC_2.0 __progname D 0x4
+GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __rcmd_errstr D 0x4
+GLIBC_2.0 __read F
+GLIBC_2.0 __realloc_hook D 0x4
+GLIBC_2.0 __register_frame F
+GLIBC_2.0 __register_frame_info F
+GLIBC_2.0 __register_frame_info_table F
+GLIBC_2.0 __register_frame_table F
+GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __sbrk F
+GLIBC_2.0 __sched_get_priority_max F
+GLIBC_2.0 __sched_get_priority_min F
+GLIBC_2.0 __sched_getparam F
+GLIBC_2.0 __sched_getscheduler F
+GLIBC_2.0 __sched_setscheduler F
+GLIBC_2.0 __sched_yield F
+GLIBC_2.0 __secure_getenv F
+GLIBC_2.0 __select F
+GLIBC_2.0 __send F
+GLIBC_2.0 __setpgid F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __sigaddset F
+GLIBC_2.0 __sigdelset F
+GLIBC_2.0 __sigismember F
+GLIBC_2.0 __sigpause F
+GLIBC_2.0 __sigsetjmp F
+GLIBC_2.0 __stpcpy F
+GLIBC_2.0 __stpncpy F
+GLIBC_2.0 __strcasecmp F
+GLIBC_2.0 __strdup F
+GLIBC_2.0 __strerror_r F
+GLIBC_2.0 __strtod_internal F
+GLIBC_2.0 __strtof_internal F
+GLIBC_2.0 __strtok_r F
+GLIBC_2.0 __strtol_internal F
+GLIBC_2.0 __strtold_internal F
+GLIBC_2.0 __strtoll_internal F
+GLIBC_2.0 __strtoq_internal F
+GLIBC_2.0 __strtoul_internal F
+GLIBC_2.0 __strtoull_internal F
+GLIBC_2.0 __strtouq_internal F
+GLIBC_2.0 __sysv_signal F
+GLIBC_2.0 __timezone D 0x4
+GLIBC_2.0 __tzname D 0x8
+GLIBC_2.0 __uflow F
+GLIBC_2.0 __underflow F
+GLIBC_2.0 __vfscanf F
+GLIBC_2.0 __vsnprintf F
+GLIBC_2.0 __vsscanf F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __waitpid F
+GLIBC_2.0 __wcstod_internal F
+GLIBC_2.0 __wcstof_internal F
+GLIBC_2.0 __wcstol_internal F
+GLIBC_2.0 __wcstold_internal F
+GLIBC_2.0 __wcstoll_internal F
+GLIBC_2.0 __wcstoul_internal F
+GLIBC_2.0 __wcstoull_internal F
+GLIBC_2.0 __write F
+GLIBC_2.0 __xmknod F
+GLIBC_2.0 __xpg_basename F
+GLIBC_2.0 __xstat F
+GLIBC_2.0 _environ D 0x4
+GLIBC_2.0 _exit F
+GLIBC_2.0 _libc_intl_domainname D 0x5
+GLIBC_2.0 _longjmp F
+GLIBC_2.0 _mcleanup F
+GLIBC_2.0 _mcount F
+GLIBC_2.0 _nl_default_dirname D 0x12
+GLIBC_2.0 _nl_domain_bindings D 0x4
+GLIBC_2.0 _nl_msg_cat_cntr D 0x4
+GLIBC_2.0 _null_auth D 0xc
+GLIBC_2.0 _obstack D 0x4
+GLIBC_2.0 _obstack_allocated_p F
+GLIBC_2.0 _obstack_begin F
+GLIBC_2.0 _obstack_begin_1 F
+GLIBC_2.0 _obstack_free F
+GLIBC_2.0 _obstack_memory_used F
+GLIBC_2.0 _obstack_newchunk F
+GLIBC_2.0 _res D 0x200
+GLIBC_2.0 _rpc_dtablesize F
+GLIBC_2.0 _seterr_reply F
+GLIBC_2.0 _setjmp F
+GLIBC_2.0 _sys_errlist D 0x1fc
+GLIBC_2.0 _sys_nerr D 0x4
+GLIBC_2.0 _sys_siglist D 0x80
+GLIBC_2.0 _tolower F
+GLIBC_2.0 _toupper F
+GLIBC_2.0 a64l F
+GLIBC_2.0 abort F
+GLIBC_2.0 abs F
+GLIBC_2.0 accept F
+GLIBC_2.0 access F
+GLIBC_2.0 acct F
+GLIBC_2.0 addmntent F
+GLIBC_2.0 adjtime F
+GLIBC_2.0 adjtimex F
+GLIBC_2.0 advance F
+GLIBC_2.0 alarm F
+GLIBC_2.0 alphasort F
+GLIBC_2.0 argz_add F
+GLIBC_2.0 argz_add_sep F
+GLIBC_2.0 argz_append F
+GLIBC_2.0 argz_count F
+GLIBC_2.0 argz_create F
+GLIBC_2.0 argz_create_sep F
+GLIBC_2.0 argz_delete F
+GLIBC_2.0 argz_extract F
+GLIBC_2.0 argz_insert F
+GLIBC_2.0 argz_next F
+GLIBC_2.0 argz_replace F
+GLIBC_2.0 argz_stringify F
+GLIBC_2.0 asctime F
+GLIBC_2.0 asctime_r F
+GLIBC_2.0 asprintf F
+GLIBC_2.0 atexit F
+GLIBC_2.0 atof F
+GLIBC_2.0 atoi F
+GLIBC_2.0 atol F
+GLIBC_2.0 atoll F
+GLIBC_2.0 authnone_create F
+GLIBC_2.0 authunix_create F
+GLIBC_2.0 authunix_create_default F
+GLIBC_2.0 basename F
+GLIBC_2.0 bcmp F
+GLIBC_2.0 bcopy F
+GLIBC_2.0 bdflush F
+GLIBC_2.0 bind F
+GLIBC_2.0 bindresvport F
+GLIBC_2.0 bindtextdomain F
+GLIBC_2.0 brk F
+GLIBC_2.0 bsd_signal F
+GLIBC_2.0 bsearch F
+GLIBC_2.0 btowc F
+GLIBC_2.0 bzero F
+GLIBC_2.0 calloc F
+GLIBC_2.0 callrpc F
+GLIBC_2.0 canonicalize_file_name F
+GLIBC_2.0 catclose F
+GLIBC_2.0 catgets F
+GLIBC_2.0 catopen F
+GLIBC_2.0 cfgetispeed F
+GLIBC_2.0 cfgetospeed F
+GLIBC_2.0 cfmakeraw F
+GLIBC_2.0 cfree F
+GLIBC_2.0 cfsetispeed F
+GLIBC_2.0 cfsetospeed F
+GLIBC_2.0 cfsetspeed F
+GLIBC_2.0 chdir F
+GLIBC_2.0 chflags F
+GLIBC_2.0 chmod F
+GLIBC_2.0 chown F
+GLIBC_2.0 chroot F
+GLIBC_2.0 clearenv F
+GLIBC_2.0 clearerr F
+GLIBC_2.0 clearerr_unlocked F
+GLIBC_2.0 clnt_broadcast F
+GLIBC_2.0 clnt_create F
+GLIBC_2.0 clnt_pcreateerror F
+GLIBC_2.0 clnt_perrno F
+GLIBC_2.0 clnt_perror F
+GLIBC_2.0 clnt_spcreateerror F
+GLIBC_2.0 clnt_sperrno F
+GLIBC_2.0 clnt_sperror F
+GLIBC_2.0 clntraw_create F
+GLIBC_2.0 clnttcp_create F
+GLIBC_2.0 clntudp_bufcreate F
+GLIBC_2.0 clntudp_create F
+GLIBC_2.0 clock F
+GLIBC_2.0 clone F
+GLIBC_2.0 close F
+GLIBC_2.0 closedir F
+GLIBC_2.0 closelog F
+GLIBC_2.0 confstr F
+GLIBC_2.0 connect F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 creat F
+GLIBC_2.0 create_module F
+GLIBC_2.0 ctermid F
+GLIBC_2.0 ctime F
+GLIBC_2.0 ctime_r F
+GLIBC_2.0 cuserid F
+GLIBC_2.0 daemon F
+GLIBC_2.0 daylight D 0x4
+GLIBC_2.0 dcgettext F
+GLIBC_2.0 delete_module F
+GLIBC_2.0 dgettext F
+GLIBC_2.0 difftime F
+GLIBC_2.0 dirfd F
+GLIBC_2.0 dirname F
+GLIBC_2.0 div F
+GLIBC_2.0 dprintf F
+GLIBC_2.0 drand48 F
+GLIBC_2.0 drand48_r F
+GLIBC_2.0 dup F
+GLIBC_2.0 dup2 F
+GLIBC_2.0 dysize F
+GLIBC_2.0 ecvt F
+GLIBC_2.0 ecvt_r F
+GLIBC_2.0 endaliasent F
+GLIBC_2.0 endfsent F
+GLIBC_2.0 endgrent F
+GLIBC_2.0 endhostent F
+GLIBC_2.0 endmntent F
+GLIBC_2.0 endnetent F
+GLIBC_2.0 endnetgrent F
+GLIBC_2.0 endprotoent F
+GLIBC_2.0 endpwent F
+GLIBC_2.0 endrpcent F
+GLIBC_2.0 endservent F
+GLIBC_2.0 endspent F
+GLIBC_2.0 endttyent F
+GLIBC_2.0 endusershell F
+GLIBC_2.0 endutent F
+GLIBC_2.0 environ D 0x4
+GLIBC_2.0 envz_add F
+GLIBC_2.0 envz_entry F
+GLIBC_2.0 envz_get F
+GLIBC_2.0 envz_merge F
+GLIBC_2.0 envz_remove F
+GLIBC_2.0 envz_strip F
+GLIBC_2.0 erand48 F
+GLIBC_2.0 erand48_r F
+GLIBC_2.0 err F
+GLIBC_2.0 error F
+GLIBC_2.0 error_at_line F
+GLIBC_2.0 error_message_count D 0x4
+GLIBC_2.0 error_one_per_line D 0x4
+GLIBC_2.0 error_print_progname D 0x4
+GLIBC_2.0 errx F
+GLIBC_2.0 ether_aton F
+GLIBC_2.0 ether_aton_r F
+GLIBC_2.0 ether_hostton F
+GLIBC_2.0 ether_line F
+GLIBC_2.0 ether_ntoa F
+GLIBC_2.0 ether_ntoa_r F
+GLIBC_2.0 ether_ntohost F
+GLIBC_2.0 euidaccess F
+GLIBC_2.0 execl F
+GLIBC_2.0 execle F
+GLIBC_2.0 execlp F
+GLIBC_2.0 execv F
+GLIBC_2.0 execve F
+GLIBC_2.0 execvp F
+GLIBC_2.0 exit F
+GLIBC_2.0 fchdir F
+GLIBC_2.0 fchflags F
+GLIBC_2.0 fchmod F
+GLIBC_2.0 fchown F
+GLIBC_2.0 fclose F
+GLIBC_2.0 fcloseall F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 fcvt F
+GLIBC_2.0 fcvt_r F
+GLIBC_2.0 fdatasync F
+GLIBC_2.0 fdopen F
+GLIBC_2.0 feof F
+GLIBC_2.0 feof_unlocked F
+GLIBC_2.0 ferror F
+GLIBC_2.0 ferror_unlocked F
+GLIBC_2.0 fexecve F
+GLIBC_2.0 fflush F
+GLIBC_2.0 fflush_unlocked F
+GLIBC_2.0 ffs F
+GLIBC_2.0 fgetc F
+GLIBC_2.0 fgetgrent F
+GLIBC_2.0 fgetgrent_r F
+GLIBC_2.0 fgetpos F
+GLIBC_2.0 fgetpwent F
+GLIBC_2.0 fgetpwent_r F
+GLIBC_2.0 fgets F
+GLIBC_2.0 fgetspent F
+GLIBC_2.0 fgetspent_r F
+GLIBC_2.0 fileno F
+GLIBC_2.0 fileno_unlocked F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 flock F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fnmatch F
+GLIBC_2.0 fopen F
+GLIBC_2.0 fopencookie F
+GLIBC_2.0 fork F
+GLIBC_2.0 fpathconf F
+GLIBC_2.0 fprintf F
+GLIBC_2.0 fputc F
+GLIBC_2.0 fputc_unlocked F
+GLIBC_2.0 fputs F
+GLIBC_2.0 fread F
+GLIBC_2.0 free F
+GLIBC_2.0 freeaddrinfo F
+GLIBC_2.0 freopen F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 fscanf F
+GLIBC_2.0 fseek F
+GLIBC_2.0 fsetpos F
+GLIBC_2.0 fstatfs F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftell F
+GLIBC_2.0 ftime F
+GLIBC_2.0 ftok F
+GLIBC_2.0 ftruncate F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 fts_children F
+GLIBC_2.0 fts_close F
+GLIBC_2.0 fts_open F
+GLIBC_2.0 fts_read F
+GLIBC_2.0 fts_set F
+GLIBC_2.0 ftw F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 fwrite F
+GLIBC_2.0 gcvt F
+GLIBC_2.0 get_avphys_pages F
+GLIBC_2.0 get_current_dir_name F
+GLIBC_2.0 get_kernel_syms F
+GLIBC_2.0 get_myaddress F
+GLIBC_2.0 get_nprocs F
+GLIBC_2.0 get_nprocs_conf F
+GLIBC_2.0 get_phys_pages F
+GLIBC_2.0 getaddrinfo F
+GLIBC_2.0 getaliasbyname F
+GLIBC_2.0 getaliasbyname_r F
+GLIBC_2.0 getaliasent F
+GLIBC_2.0 getaliasent_r F
+GLIBC_2.0 getc F
+GLIBC_2.0 getc_unlocked F
+GLIBC_2.0 getchar F
+GLIBC_2.0 getchar_unlocked F
+GLIBC_2.0 getcwd F
+GLIBC_2.0 getdelim F
+GLIBC_2.0 getdirentries F
+GLIBC_2.0 getdomainname F
+GLIBC_2.0 getdtablesize F
+GLIBC_2.0 getegid F
+GLIBC_2.0 getenv F
+GLIBC_2.0 geteuid F
+GLIBC_2.0 getfsent F
+GLIBC_2.0 getfsfile F
+GLIBC_2.0 getfsspec F
+GLIBC_2.0 getgid F
+GLIBC_2.0 getgrent F
+GLIBC_2.0 getgrent_r F
+GLIBC_2.0 getgrgid F
+GLIBC_2.0 getgrgid_r F
+GLIBC_2.0 getgrnam F
+GLIBC_2.0 getgrnam_r F
+GLIBC_2.0 getgroups F
+GLIBC_2.0 gethostbyaddr F
+GLIBC_2.0 gethostbyaddr_r F
+GLIBC_2.0 gethostbyname F
+GLIBC_2.0 gethostbyname2 F
+GLIBC_2.0 gethostbyname2_r F
+GLIBC_2.0 gethostbyname_r F
+GLIBC_2.0 gethostent F
+GLIBC_2.0 gethostent_r F
+GLIBC_2.0 gethostid F
+GLIBC_2.0 gethostname F
+GLIBC_2.0 getitimer F
+GLIBC_2.0 getline F
+GLIBC_2.0 getlogin F
+GLIBC_2.0 getlogin_r F
+GLIBC_2.0 getmntent F
+GLIBC_2.0 getmntent_r F
+GLIBC_2.0 getnetbyaddr F
+GLIBC_2.0 getnetbyaddr_r F
+GLIBC_2.0 getnetbyname F
+GLIBC_2.0 getnetbyname_r F
+GLIBC_2.0 getnetent F
+GLIBC_2.0 getnetent_r F
+GLIBC_2.0 getnetgrent F
+GLIBC_2.0 getnetgrent_r F
+GLIBC_2.0 getopt F
+GLIBC_2.0 getopt_long F
+GLIBC_2.0 getopt_long_only F
+GLIBC_2.0 getpagesize F
+GLIBC_2.0 getpass F
+GLIBC_2.0 getpeername F
+GLIBC_2.0 getpgid F
+GLIBC_2.0 getpgrp F
+GLIBC_2.0 getpid F
+GLIBC_2.0 getppid F
+GLIBC_2.0 getpriority F
+GLIBC_2.0 getprotobyname F
+GLIBC_2.0 getprotobyname_r F
+GLIBC_2.0 getprotobynumber F
+GLIBC_2.0 getprotobynumber_r F
+GLIBC_2.0 getprotoent F
+GLIBC_2.0 getprotoent_r F
+GLIBC_2.0 getpublickey F
+GLIBC_2.0 getpw F
+GLIBC_2.0 getpwent F
+GLIBC_2.0 getpwent_r F
+GLIBC_2.0 getpwnam F
+GLIBC_2.0 getpwnam_r F
+GLIBC_2.0 getpwuid F
+GLIBC_2.0 getpwuid_r F
+GLIBC_2.0 getresgid F
+GLIBC_2.0 getresuid F
+GLIBC_2.0 getrlimit F
+GLIBC_2.0 getrpcbyname F
+GLIBC_2.0 getrpcbyname_r F
+GLIBC_2.0 getrpcbynumber F
+GLIBC_2.0 getrpcbynumber_r F
+GLIBC_2.0 getrpcent F
+GLIBC_2.0 getrpcent_r F
+GLIBC_2.0 getrpcport F
+GLIBC_2.0 getrusage F
+GLIBC_2.0 gets F
+GLIBC_2.0 getsecretkey F
+GLIBC_2.0 getservbyname F
+GLIBC_2.0 getservbyname_r F
+GLIBC_2.0 getservbyport F
+GLIBC_2.0 getservbyport_r F
+GLIBC_2.0 getservent F
+GLIBC_2.0 getservent_r F
+GLIBC_2.0 getsid F
+GLIBC_2.0 getsockname F
+GLIBC_2.0 getsockopt F
+GLIBC_2.0 getspent F
+GLIBC_2.0 getspent_r F
+GLIBC_2.0 getspnam F
+GLIBC_2.0 getspnam_r F
+GLIBC_2.0 getsubopt F
+GLIBC_2.0 gettext F
+GLIBC_2.0 gettimeofday F
+GLIBC_2.0 getttyent F
+GLIBC_2.0 getttynam F
+GLIBC_2.0 getuid F
+GLIBC_2.0 getusershell F
+GLIBC_2.0 getutent F
+GLIBC_2.0 getutent_r F
+GLIBC_2.0 getutid F
+GLIBC_2.0 getutid_r F
+GLIBC_2.0 getutline F
+GLIBC_2.0 getutline_r F
+GLIBC_2.0 getw F
+GLIBC_2.0 getwd F
+GLIBC_2.0 glob F
+GLIBC_2.0 glob_pattern_p F
+GLIBC_2.0 globfree F
+GLIBC_2.0 gmtime F
+GLIBC_2.0 gmtime_r F
+GLIBC_2.0 group_member F
+GLIBC_2.0 gsignal F
+GLIBC_2.0 gtty F
+GLIBC_2.0 h_errlist D 0x14
+GLIBC_2.0 h_nerr D 0x4
+GLIBC_2.0 hasmntopt F
+GLIBC_2.0 hcreate F
+GLIBC_2.0 hcreate_r F
+GLIBC_2.0 hdestroy F
+GLIBC_2.0 hdestroy_r F
+GLIBC_2.0 herror F
+GLIBC_2.0 hsearch F
+GLIBC_2.0 hsearch_r F
+GLIBC_2.0 hstrerror F
+GLIBC_2.0 htonl F
+GLIBC_2.0 htons F
+GLIBC_2.0 index F
+GLIBC_2.0 inet_addr F
+GLIBC_2.0 inet_aton F
+GLIBC_2.0 inet_lnaof F
+GLIBC_2.0 inet_makeaddr F
+GLIBC_2.0 inet_netof F
+GLIBC_2.0 inet_network F
+GLIBC_2.0 inet_nsap_addr F
+GLIBC_2.0 inet_nsap_ntoa F
+GLIBC_2.0 inet_ntoa F
+GLIBC_2.0 inet_ntop F
+GLIBC_2.0 inet_pton F
+GLIBC_2.0 init_module F
+GLIBC_2.0 initgroups F
+GLIBC_2.0 initstate F
+GLIBC_2.0 initstate_r F
+GLIBC_2.0 innetgr F
+GLIBC_2.0 insque F
+GLIBC_2.0 ioctl F
+GLIBC_2.0 iruserok F
+GLIBC_2.0 isalnum F
+GLIBC_2.0 isalpha F
+GLIBC_2.0 isascii F
+GLIBC_2.0 isatty F
+GLIBC_2.0 isblank F
+GLIBC_2.0 iscntrl F
+GLIBC_2.0 isdigit F
+GLIBC_2.0 isfdtype F
+GLIBC_2.0 isgraph F
+GLIBC_2.0 isinf F
+GLIBC_2.0 isinff F
+GLIBC_2.0 isinfl F
+GLIBC_2.0 islower F
+GLIBC_2.0 isnan F
+GLIBC_2.0 isnanf F
+GLIBC_2.0 isnanl F
+GLIBC_2.0 isprint F
+GLIBC_2.0 ispunct F
+GLIBC_2.0 isspace F
+GLIBC_2.0 isupper F
+GLIBC_2.0 iswalnum F
+GLIBC_2.0 iswalpha F
+GLIBC_2.0 iswcntrl F
+GLIBC_2.0 iswctype F
+GLIBC_2.0 iswdigit F
+GLIBC_2.0 iswgraph F
+GLIBC_2.0 iswlower F
+GLIBC_2.0 iswprint F
+GLIBC_2.0 iswpunct F
+GLIBC_2.0 iswspace F
+GLIBC_2.0 iswupper F
+GLIBC_2.0 iswxdigit F
+GLIBC_2.0 isxdigit F
+GLIBC_2.0 jrand48 F
+GLIBC_2.0 jrand48_r F
+GLIBC_2.0 kill F
+GLIBC_2.0 killpg F
+GLIBC_2.0 klogctl F
+GLIBC_2.0 l64a F
+GLIBC_2.0 labs F
+GLIBC_2.0 lchown F
+GLIBC_2.0 lckpwdf F
+GLIBC_2.0 lcong48 F
+GLIBC_2.0 lcong48_r F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 ldiv F
+GLIBC_2.0 lfind F
+GLIBC_2.0 link F
+GLIBC_2.0 listen F
+GLIBC_2.0 llabs F
+GLIBC_2.0 lldiv F
+GLIBC_2.0 llseek F
+GLIBC_2.0 loc1 D 0x4
+GLIBC_2.0 loc2 D 0x4
+GLIBC_2.0 localeconv F
+GLIBC_2.0 localtime F
+GLIBC_2.0 localtime_r F
+GLIBC_2.0 lockf F
+GLIBC_2.0 locs D 0x4
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lrand48 F
+GLIBC_2.0 lrand48_r F
+GLIBC_2.0 lsearch F
+GLIBC_2.0 lseek F
+GLIBC_2.0 madvise F
+GLIBC_2.0 mallinfo F
+GLIBC_2.0 malloc F
+GLIBC_2.0 malloc_get_state F
+GLIBC_2.0 malloc_set_state F
+GLIBC_2.0 malloc_stats F
+GLIBC_2.0 malloc_trim F
+GLIBC_2.0 malloc_usable_size F
+GLIBC_2.0 mallopt F
+GLIBC_2.0 mallwatch D 0x4
+GLIBC_2.0 mblen F
+GLIBC_2.0 mbrlen F
+GLIBC_2.0 mbrtowc F
+GLIBC_2.0 mbsinit F
+GLIBC_2.0 mbsnrtowcs F
+GLIBC_2.0 mbsrtowcs F
+GLIBC_2.0 mbstowcs F
+GLIBC_2.0 mbtowc F
+GLIBC_2.0 mcheck F
+GLIBC_2.0 mcount F
+GLIBC_2.0 memalign F
+GLIBC_2.0 memccpy F
+GLIBC_2.0 memchr F
+GLIBC_2.0 memcmp F
+GLIBC_2.0 memcpy F
+GLIBC_2.0 memfrob F
+GLIBC_2.0 memmem F
+GLIBC_2.0 memmove F
+GLIBC_2.0 memset F
+GLIBC_2.0 mkdir F
+GLIBC_2.0 mkfifo F
+GLIBC_2.0 mkstemp F
+GLIBC_2.0 mktemp F
+GLIBC_2.0 mktime F
+GLIBC_2.0 mlock F
+GLIBC_2.0 mlockall F
+GLIBC_2.0 mmap F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 monstartup F
+GLIBC_2.0 mount F
+GLIBC_2.0 mprobe F
+GLIBC_2.0 mprotect F
+GLIBC_2.0 mrand48 F
+GLIBC_2.0 mrand48_r F
+GLIBC_2.0 mremap F
+GLIBC_2.0 msgctl F
+GLIBC_2.0 msgget F
+GLIBC_2.0 msgrcv F
+GLIBC_2.0 msgsnd F
+GLIBC_2.0 msync F
+GLIBC_2.0 mtrace F
+GLIBC_2.0 munlock F
+GLIBC_2.0 munlockall F
+GLIBC_2.0 munmap F
+GLIBC_2.0 muntrace F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 nfsservctl F
+GLIBC_2.0 nice F
+GLIBC_2.0 nl_langinfo F
+GLIBC_2.0 nrand48 F
+GLIBC_2.0 nrand48_r F
+GLIBC_2.0 ntohl F
+GLIBC_2.0 ntohs F
+GLIBC_2.0 obstack_alloc_failed_handler D 0x4
+GLIBC_2.0 obstack_exit_failure D 0x4
+GLIBC_2.0 obstack_free F
+GLIBC_2.0 obstack_printf F
+GLIBC_2.0 obstack_vprintf F
+GLIBC_2.0 on_exit F
+GLIBC_2.0 open F
+GLIBC_2.0 open_memstream F
+GLIBC_2.0 opendir F
+GLIBC_2.0 openlog F
+GLIBC_2.0 optarg D 0x4
+GLIBC_2.0 opterr D 0x4
+GLIBC_2.0 optind D 0x4
+GLIBC_2.0 optopt D 0x4
+GLIBC_2.0 parse_printf_format F
+GLIBC_2.0 pathconf F
+GLIBC_2.0 pause F
+GLIBC_2.0 pclose F
+GLIBC_2.0 perror F
+GLIBC_2.0 personality F
+GLIBC_2.0 pipe F
+GLIBC_2.0 pmap_getmaps F
+GLIBC_2.0 pmap_getport F
+GLIBC_2.0 pmap_rmtcall F
+GLIBC_2.0 pmap_set F
+GLIBC_2.0 pmap_unset F
+GLIBC_2.0 poll F
+GLIBC_2.0 popen F
+GLIBC_2.0 prctl F
+GLIBC_2.0 printf F
+GLIBC_2.0 profil F
+GLIBC_2.0 profil_counter F
+GLIBC_2.0 program_invocation_name D 0x4
+GLIBC_2.0 program_invocation_short_name D 0x4
+GLIBC_2.0 pselect F
+GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 ptrace F
+GLIBC_2.0 putc F
+GLIBC_2.0 putc_unlocked F
+GLIBC_2.0 putchar F
+GLIBC_2.0 putchar_unlocked F
+GLIBC_2.0 putenv F
+GLIBC_2.0 putpwent F
+GLIBC_2.0 puts F
+GLIBC_2.0 putspent F
+GLIBC_2.0 pututline F
+GLIBC_2.0 putw F
+GLIBC_2.0 pvalloc F
+GLIBC_2.0 qecvt F
+GLIBC_2.0 qecvt_r F
+GLIBC_2.0 qfcvt F
+GLIBC_2.0 qfcvt_r F
+GLIBC_2.0 qgcvt F
+GLIBC_2.0 qsort F
+GLIBC_2.0 query_module F
+GLIBC_2.0 quotactl F
+GLIBC_2.0 raise F
+GLIBC_2.0 rand F
+GLIBC_2.0 rand_r F
+GLIBC_2.0 random F
+GLIBC_2.0 random_r F
+GLIBC_2.0 rcmd F
+GLIBC_2.0 re_comp F
+GLIBC_2.0 re_compile_fastmap F
+GLIBC_2.0 re_compile_pattern F
+GLIBC_2.0 re_exec F
+GLIBC_2.0 re_match F
+GLIBC_2.0 re_match_2 F
+GLIBC_2.0 re_max_failures D 0x4
+GLIBC_2.0 re_search F
+GLIBC_2.0 re_search_2 F
+GLIBC_2.0 re_set_registers F
+GLIBC_2.0 re_set_syntax F
+GLIBC_2.0 re_syntax_options D 0x4
+GLIBC_2.0 read F
+GLIBC_2.0 readdir F
+GLIBC_2.0 readdir_r F
+GLIBC_2.0 readlink F
+GLIBC_2.0 readv F
+GLIBC_2.0 realloc F
+GLIBC_2.0 realpath F
+GLIBC_2.0 reboot F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 regcomp F
+GLIBC_2.0 regerror F
+GLIBC_2.0 regexec F
+GLIBC_2.0 regfree F
+GLIBC_2.0 register_printf_function F
+GLIBC_2.0 registerrpc F
+GLIBC_2.0 remove F
+GLIBC_2.0 remque F
+GLIBC_2.0 rename F
+GLIBC_2.0 res_init F
+GLIBC_2.0 revoke F
+GLIBC_2.0 rewind F
+GLIBC_2.0 rewinddir F
+GLIBC_2.0 rexec F
+GLIBC_2.0 rexecoptions D 0x4
+GLIBC_2.0 rindex F
+GLIBC_2.0 rmdir F
+GLIBC_2.0 rpc_createerr D 0x10
+GLIBC_2.0 rpmatch F
+GLIBC_2.0 rresvport F
+GLIBC_2.0 ruserok F
+GLIBC_2.0 ruserpass F
+GLIBC_2.0 sbrk F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 scandir F
+GLIBC_2.0 scanf F
+GLIBC_2.0 sched_get_priority_max F
+GLIBC_2.0 sched_get_priority_min F
+GLIBC_2.0 sched_getparam F
+GLIBC_2.0 sched_getscheduler F
+GLIBC_2.0 sched_rr_get_interval F
+GLIBC_2.0 sched_setparam F
+GLIBC_2.0 sched_setscheduler F
+GLIBC_2.0 sched_yield F
+GLIBC_2.0 seed48 F
+GLIBC_2.0 seed48_r F
+GLIBC_2.0 seekdir F
+GLIBC_2.0 select F
+GLIBC_2.0 semctl F
+GLIBC_2.0 semget F
+GLIBC_2.0 semop F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 setaliasent F
+GLIBC_2.0 setbuf F
+GLIBC_2.0 setbuffer F
+GLIBC_2.0 setcontext F
+GLIBC_2.0 setdomainname F
+GLIBC_2.0 setegid F
+GLIBC_2.0 setenv F
+GLIBC_2.0 seteuid F
+GLIBC_2.0 setfsent F
+GLIBC_2.0 setfsgid F
+GLIBC_2.0 setfsuid F
+GLIBC_2.0 setgid F
+GLIBC_2.0 setgrent F
+GLIBC_2.0 setgroups F
+GLIBC_2.0 sethostent F
+GLIBC_2.0 sethostid F
+GLIBC_2.0 sethostname F
+GLIBC_2.0 setitimer F
+GLIBC_2.0 setjmp F
+GLIBC_2.0 setlinebuf F
+GLIBC_2.0 setlocale F
+GLIBC_2.0 setlogin F
+GLIBC_2.0 setlogmask F
+GLIBC_2.0 setmntent F
+GLIBC_2.0 setnetent F
+GLIBC_2.0 setnetgrent F
+GLIBC_2.0 setpgid F
+GLIBC_2.0 setpgrp F
+GLIBC_2.0 setpriority F
+GLIBC_2.0 setprotoent F
+GLIBC_2.0 setpwent F
+GLIBC_2.0 setregid F
+GLIBC_2.0 setresgid F
+GLIBC_2.0 setresuid F
+GLIBC_2.0 setreuid F
+GLIBC_2.0 setrlimit F
+GLIBC_2.0 setrpcent F
+GLIBC_2.0 setservent F
+GLIBC_2.0 setsid F
+GLIBC_2.0 setsockopt F
+GLIBC_2.0 setspent F
+GLIBC_2.0 setstate F
+GLIBC_2.0 setstate_r F
+GLIBC_2.0 settimeofday F
+GLIBC_2.0 setttyent F
+GLIBC_2.0 setuid F
+GLIBC_2.0 setusershell F
+GLIBC_2.0 setutent F
+GLIBC_2.0 setvbuf F
+GLIBC_2.0 sgetspent F
+GLIBC_2.0 sgetspent_r F
+GLIBC_2.0 shmat F
+GLIBC_2.0 shmctl F
+GLIBC_2.0 shmdt F
+GLIBC_2.0 shmget F
+GLIBC_2.0 shutdown F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 sigaddset F
+GLIBC_2.0 sigaltstack F
+GLIBC_2.0 sigandset F
+GLIBC_2.0 sigblock F
+GLIBC_2.0 sigdelset F
+GLIBC_2.0 sigemptyset F
+GLIBC_2.0 sigfillset F
+GLIBC_2.0 siggetmask F
+GLIBC_2.0 siginterrupt F
+GLIBC_2.0 sigisemptyset F
+GLIBC_2.0 sigismember F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 signal F
+GLIBC_2.0 sigorset F
+GLIBC_2.0 sigpause F
+GLIBC_2.0 sigpending F
+GLIBC_2.0 sigprocmask F
+GLIBC_2.0 sigreturn F
+GLIBC_2.0 sigsetmask F
+GLIBC_2.0 sigstack F
+GLIBC_2.0 sigsuspend F
+GLIBC_2.0 sigvec F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 sleep F
+GLIBC_2.0 snprintf F
+GLIBC_2.0 socket F
+GLIBC_2.0 socketpair F
+GLIBC_2.0 sprintf F
+GLIBC_2.0 srand F
+GLIBC_2.0 srand48 F
+GLIBC_2.0 srand48_r F
+GLIBC_2.0 srandom F
+GLIBC_2.0 srandom_r F
+GLIBC_2.0 sscanf F
+GLIBC_2.0 ssignal F
+GLIBC_2.0 sstk F
+GLIBC_2.0 statfs F
+GLIBC_2.0 stderr D 0x4
+GLIBC_2.0 stdin D 0x4
+GLIBC_2.0 stdout D 0x4
+GLIBC_2.0 step F
+GLIBC_2.0 stime F
+GLIBC_2.0 stpcpy F
+GLIBC_2.0 stpncpy F
+GLIBC_2.0 strcasecmp F
+GLIBC_2.0 strcat F
+GLIBC_2.0 strchr F
+GLIBC_2.0 strcmp F
+GLIBC_2.0 strcoll F
+GLIBC_2.0 strcpy F
+GLIBC_2.0 strcspn F
+GLIBC_2.0 strdup F
+GLIBC_2.0 strerror F
+GLIBC_2.0 strerror_r F
+GLIBC_2.0 strfmon F
+GLIBC_2.0 strfry F
+GLIBC_2.0 strftime F
+GLIBC_2.0 strlen F
+GLIBC_2.0 strncasecmp F
+GLIBC_2.0 strncat F
+GLIBC_2.0 strncmp F
+GLIBC_2.0 strncpy F
+GLIBC_2.0 strndup F
+GLIBC_2.0 strnlen F
+GLIBC_2.0 strpbrk F
+GLIBC_2.0 strptime F
+GLIBC_2.0 strrchr F
+GLIBC_2.0 strsep F
+GLIBC_2.0 strsignal F
+GLIBC_2.0 strspn F
+GLIBC_2.0 strstr F
+GLIBC_2.0 strtod F
+GLIBC_2.0 strtof F
+GLIBC_2.0 strtok F
+GLIBC_2.0 strtok_r F
+GLIBC_2.0 strtol F
+GLIBC_2.0 strtold F
+GLIBC_2.0 strtoll F
+GLIBC_2.0 strtoq F
+GLIBC_2.0 strtoul F
+GLIBC_2.0 strtoull F
+GLIBC_2.0 strtouq F
+GLIBC_2.0 strxfrm F
+GLIBC_2.0 stty F
+GLIBC_2.0 svc_exit F
+GLIBC_2.0 svc_fdset D 0x80
+GLIBC_2.0 svc_getreq F
+GLIBC_2.0 svc_getreqset F
+GLIBC_2.0 svc_register F
+GLIBC_2.0 svc_run F
+GLIBC_2.0 svc_sendreply F
+GLIBC_2.0 svc_unregister F
+GLIBC_2.0 svcauthdes_stats D 0xc
+GLIBC_2.0 svcerr_auth F
+GLIBC_2.0 svcerr_decode F
+GLIBC_2.0 svcerr_noproc F
+GLIBC_2.0 svcerr_noprog F
+GLIBC_2.0 svcerr_progvers F
+GLIBC_2.0 svcerr_systemerr F
+GLIBC_2.0 svcerr_weakauth F
+GLIBC_2.0 svcfd_create F
+GLIBC_2.0 svcraw_create F
+GLIBC_2.0 svctcp_create F
+GLIBC_2.0 svcudp_bufcreate F
+GLIBC_2.0 svcudp_create F
+GLIBC_2.0 svcudp_enablecache F
+GLIBC_2.0 swab F
+GLIBC_2.0 swapoff F
+GLIBC_2.0 swapon F
+GLIBC_2.0 symlink F
+GLIBC_2.0 sync F
+GLIBC_2.0 sys_errlist D 0x1fc
+GLIBC_2.0 sys_nerr D 0x4
+GLIBC_2.0 sys_sigabbrev D 0x80
+GLIBC_2.0 sys_siglist D 0x80
+GLIBC_2.0 syscall F
+GLIBC_2.0 sysconf F
+GLIBC_2.0 sysctl F
+GLIBC_2.0 sysinfo F
+GLIBC_2.0 syslog F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 tcflow F
+GLIBC_2.0 tcflush F
+GLIBC_2.0 tcgetattr F
+GLIBC_2.0 tcgetpgrp F
+GLIBC_2.0 tcsendbreak F
+GLIBC_2.0 tcsetattr F
+GLIBC_2.0 tcsetpgrp F
+GLIBC_2.0 tdelete F
+GLIBC_2.0 telldir F
+GLIBC_2.0 tempnam F
+GLIBC_2.0 textdomain F
+GLIBC_2.0 tfind F
+GLIBC_2.0 time F
+GLIBC_2.0 timegm F
+GLIBC_2.0 timelocal F
+GLIBC_2.0 times F
+GLIBC_2.0 timezone D 0x4
+GLIBC_2.0 tmpfile F
+GLIBC_2.0 tmpnam F
+GLIBC_2.0 tmpnam_r F
+GLIBC_2.0 toascii F
+GLIBC_2.0 tolower F
+GLIBC_2.0 toupper F
+GLIBC_2.0 towctrans F
+GLIBC_2.0 towlower F
+GLIBC_2.0 towupper F
+GLIBC_2.0 tr_break F
+GLIBC_2.0 truncate F
+GLIBC_2.0 tsearch F
+GLIBC_2.0 ttyname F
+GLIBC_2.0 ttyname_r F
+GLIBC_2.0 ttyslot F
+GLIBC_2.0 twalk F
+GLIBC_2.0 tzname D 0x8
+GLIBC_2.0 tzset F
+GLIBC_2.0 ualarm F
+GLIBC_2.0 ulckpwdf F
+GLIBC_2.0 ulimit F
+GLIBC_2.0 umask F
+GLIBC_2.0 umount F
+GLIBC_2.0 uname F
+GLIBC_2.0 ungetc F
+GLIBC_2.0 unlink F
+GLIBC_2.0 unsetenv F
+GLIBC_2.0 updwtmp F
+GLIBC_2.0 uselib F
+GLIBC_2.0 usleep F
+GLIBC_2.0 ustat F
+GLIBC_2.0 utime F
+GLIBC_2.0 utimes F
+GLIBC_2.0 utmpname F
+GLIBC_2.0 valloc F
+GLIBC_2.0 vasprintf F
+GLIBC_2.0 vdprintf F
+GLIBC_2.0 verr F
+GLIBC_2.0 verrx F
+GLIBC_2.0 vfork F
+GLIBC_2.0 vfprintf F
+GLIBC_2.0 vfscanf F
+GLIBC_2.0 vhangup F
+GLIBC_2.0 vlimit F
+GLIBC_2.0 vprintf F
+GLIBC_2.0 vscanf F
+GLIBC_2.0 vsnprintf F
+GLIBC_2.0 vsprintf F
+GLIBC_2.0 vsscanf F
+GLIBC_2.0 vsyslog F
+GLIBC_2.0 vtimes F
+GLIBC_2.0 vwarn F
+GLIBC_2.0 vwarnx F
+GLIBC_2.0 wait F
+GLIBC_2.0 wait3 F
+GLIBC_2.0 wait4 F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 warn F
+GLIBC_2.0 warnx F
+GLIBC_2.0 wcpcpy F
+GLIBC_2.0 wcpncpy F
+GLIBC_2.0 wcrtomb F
+GLIBC_2.0 wcscat F
+GLIBC_2.0 wcschr F
+GLIBC_2.0 wcscmp F
+GLIBC_2.0 wcscoll F
+GLIBC_2.0 wcscpy F
+GLIBC_2.0 wcscspn F
+GLIBC_2.0 wcsdup F
+GLIBC_2.0 wcslen F
+GLIBC_2.0 wcsncat F
+GLIBC_2.0 wcsncmp F
+GLIBC_2.0 wcsncpy F
+GLIBC_2.0 wcsnrtombs F
+GLIBC_2.0 wcspbrk F
+GLIBC_2.0 wcsrchr F
+GLIBC_2.0 wcsrtombs F
+GLIBC_2.0 wcsspn F
+GLIBC_2.0 wcsstr F
+GLIBC_2.0 wcstod F
+GLIBC_2.0 wcstof F
+GLIBC_2.0 wcstok F
+GLIBC_2.0 wcstol F
+GLIBC_2.0 wcstold F
+GLIBC_2.0 wcstombs F
+GLIBC_2.0 wcstoq F
+GLIBC_2.0 wcstoul F
+GLIBC_2.0 wcstouq F
+GLIBC_2.0 wcswidth F
+GLIBC_2.0 wcsxfrm F
+GLIBC_2.0 wctob F
+GLIBC_2.0 wctomb F
+GLIBC_2.0 wctrans F
+GLIBC_2.0 wctype F
+GLIBC_2.0 wcwidth F
+GLIBC_2.0 wmemchr F
+GLIBC_2.0 wmemcmp F
+GLIBC_2.0 wmemcpy F
+GLIBC_2.0 wmemmove F
+GLIBC_2.0 wmemset F
+GLIBC_2.0 write F
+GLIBC_2.0 writev F
+GLIBC_2.0 xdr_accepted_reply F
+GLIBC_2.0 xdr_array F
+GLIBC_2.0 xdr_authunix_parms F
+GLIBC_2.0 xdr_bool F
+GLIBC_2.0 xdr_bytes F
+GLIBC_2.0 xdr_callhdr F
+GLIBC_2.0 xdr_callmsg F
+GLIBC_2.0 xdr_char F
+GLIBC_2.0 xdr_cryptkeyarg F
+GLIBC_2.0 xdr_cryptkeyarg2 F
+GLIBC_2.0 xdr_cryptkeyres F
+GLIBC_2.0 xdr_des_block F
+GLIBC_2.0 xdr_double F
+GLIBC_2.0 xdr_enum F
+GLIBC_2.0 xdr_float F
+GLIBC_2.0 xdr_free F
+GLIBC_2.0 xdr_int F
+GLIBC_2.0 xdr_key_netstarg F
+GLIBC_2.0 xdr_key_netstres F
+GLIBC_2.0 xdr_keybuf F
+GLIBC_2.0 xdr_keystatus F
+GLIBC_2.0 xdr_long F
+GLIBC_2.0 xdr_netobj F
+GLIBC_2.0 xdr_opaque F
+GLIBC_2.0 xdr_opaque_auth F
+GLIBC_2.0 xdr_pmap F
+GLIBC_2.0 xdr_pmaplist F
+GLIBC_2.0 xdr_pointer F
+GLIBC_2.0 xdr_reference F
+GLIBC_2.0 xdr_rejected_reply F
+GLIBC_2.0 xdr_replymsg F
+GLIBC_2.0 xdr_rmtcall_args F
+GLIBC_2.0 xdr_rmtcallres F
+GLIBC_2.0 xdr_short F
+GLIBC_2.0 xdr_string F
+GLIBC_2.0 xdr_u_char F
+GLIBC_2.0 xdr_u_int F
+GLIBC_2.0 xdr_u_long F
+GLIBC_2.0 xdr_u_short F
+GLIBC_2.0 xdr_union F
+GLIBC_2.0 xdr_vector F
+GLIBC_2.0 xdr_void F
+GLIBC_2.0 xdr_wrapstring F
+GLIBC_2.0 xdrmem_create F
+GLIBC_2.0 xdrrec_create F
+GLIBC_2.0 xdrrec_endofrecord F
+GLIBC_2.0 xdrrec_eof F
+GLIBC_2.0 xdrrec_skiprecord F
+GLIBC_2.0 xdrstdio_create F
+GLIBC_2.0 xencrypt F
+GLIBC_2.0 xprt_register F
+GLIBC_2.0 xprt_unregister F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.1 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.1 _IO_do_write F
+GLIBC_2.1 _IO_fclose F
+GLIBC_2.1 _IO_fdopen F
+GLIBC_2.1 _IO_fgetpos64 F
+GLIBC_2.1 _IO_file_attach F
+GLIBC_2.1 _IO_file_close_it F
+GLIBC_2.1 _IO_file_finish F
+GLIBC_2.1 _IO_file_fopen F
+GLIBC_2.1 _IO_file_init F
+GLIBC_2.1 _IO_file_overflow F
+GLIBC_2.1 _IO_file_seekoff F
+GLIBC_2.1 _IO_file_setbuf F
+GLIBC_2.1 _IO_file_sync F
+GLIBC_2.1 _IO_file_underflow F
+GLIBC_2.1 _IO_file_write F
+GLIBC_2.1 _IO_file_xsputn F
+GLIBC_2.1 _IO_fopen F
+GLIBC_2.1 _IO_fsetpos64 F
+GLIBC_2.1 _IO_getline_info F
+GLIBC_2.1 _IO_popen F
+GLIBC_2.1 _IO_proc_close F
+GLIBC_2.1 _IO_proc_open F
+GLIBC_2.1 __asprintf F
+GLIBC_2.1 __backtrace F
+GLIBC_2.1 __backtrace_symbols F
+GLIBC_2.1 __backtrace_symbols_fd F
+GLIBC_2.1 __duplocale F
+GLIBC_2.1 __freelocale F
+GLIBC_2.1 __fxstat64 F
+GLIBC_2.1 __isalnum_l F
+GLIBC_2.1 __isalpha_l F
+GLIBC_2.1 __isascii_l F
+GLIBC_2.1 __isblank_l F
+GLIBC_2.1 __iscntrl_l F
+GLIBC_2.1 __isdigit_l F
+GLIBC_2.1 __isgraph_l F
+GLIBC_2.1 __islower_l F
+GLIBC_2.1 __isprint_l F
+GLIBC_2.1 __ispunct_l F
+GLIBC_2.1 __isspace_l F
+GLIBC_2.1 __isupper_l F
+GLIBC_2.1 __iswalnum_l F
+GLIBC_2.1 __iswalpha_l F
+GLIBC_2.1 __iswblank_l F
+GLIBC_2.1 __iswcntrl_l F
+GLIBC_2.1 __iswctype_l F
+GLIBC_2.1 __iswdigit_l F
+GLIBC_2.1 __iswgraph_l F
+GLIBC_2.1 __iswlower_l F
+GLIBC_2.1 __iswprint_l F
+GLIBC_2.1 __iswpunct_l F
+GLIBC_2.1 __iswspace_l F
+GLIBC_2.1 __iswupper_l F
+GLIBC_2.1 __iswxdigit_l F
+GLIBC_2.1 __isxdigit_l F
+GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.1 __key_gendes_LOCAL D 0x4
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 __libc_freeres F
+GLIBC_2.1 __libc_sa_len F
+GLIBC_2.1 __lxstat64 F
+GLIBC_2.1 __newlocale F
+GLIBC_2.1 __poll F
+GLIBC_2.1 __pread64 F
+GLIBC_2.1 __pwrite64 F
+GLIBC_2.1 __rawmemchr F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 __strcasecmp_l F
+GLIBC_2.1 __strcasestr F
+GLIBC_2.1 __strcoll_l F
+GLIBC_2.1 __strfmon_l F
+GLIBC_2.1 __strncasecmp_l F
+GLIBC_2.1 __strtod_l F
+GLIBC_2.1 __strtof_l F
+GLIBC_2.1 __strtol_l F
+GLIBC_2.1 __strtold_l F
+GLIBC_2.1 __strtoll_l F
+GLIBC_2.1 __strtoul_l F
+GLIBC_2.1 __strtoull_l F
+GLIBC_2.1 __strxfrm_l F
+GLIBC_2.1 __toascii_l F
+GLIBC_2.1 __tolower_l F
+GLIBC_2.1 __toupper_l F
+GLIBC_2.1 __towctrans F
+GLIBC_2.1 __towctrans_l F
+GLIBC_2.1 __towlower_l F
+GLIBC_2.1 __towupper_l F
+GLIBC_2.1 __wcscasecmp_l F
+GLIBC_2.1 __wcscoll_l F
+GLIBC_2.1 __wcsncasecmp_l F
+GLIBC_2.1 __wcstod_l F
+GLIBC_2.1 __wcstof_l F
+GLIBC_2.1 __wcstol_l F
+GLIBC_2.1 __wcstold_l F
+GLIBC_2.1 __wcstoll_l F
+GLIBC_2.1 __wcstoul_l F
+GLIBC_2.1 __wcstoull_l F
+GLIBC_2.1 __wcsxfrm_l F
+GLIBC_2.1 __wctype_l F
+GLIBC_2.1 __xstat64 F
+GLIBC_2.1 _authenticate F
+GLIBC_2.1 _dl_mcount_wrapper F
+GLIBC_2.1 _dl_mcount_wrapper_check F
+GLIBC_2.1 _sys_errlist D 0x1fc
+GLIBC_2.1 _sys_nerr D 0x4
+GLIBC_2.1 _sys_siglist D 0x100
+GLIBC_2.1 addseverity F
+GLIBC_2.1 alphasort64 F
+GLIBC_2.1 argp_err_exit_status D 0x4
+GLIBC_2.1 argp_error F
+GLIBC_2.1 argp_failure F
+GLIBC_2.1 argp_help F
+GLIBC_2.1 argp_parse F
+GLIBC_2.1 argp_program_bug_address D 0x4
+GLIBC_2.1 argp_program_version D 0x4
+GLIBC_2.1 argp_program_version_hook D 0x4
+GLIBC_2.1 argp_state_help F
+GLIBC_2.1 argp_usage F
+GLIBC_2.1 authdes_create F
+GLIBC_2.1 authdes_getucred F
+GLIBC_2.1 authdes_pk_create F
+GLIBC_2.1 backtrace F
+GLIBC_2.1 backtrace_symbols F
+GLIBC_2.1 backtrace_symbols_fd F
+GLIBC_2.1 capget F
+GLIBC_2.1 capset F
+GLIBC_2.1 cbc_crypt F
+GLIBC_2.1 clntunix_create F
+GLIBC_2.1 creat64 F
+GLIBC_2.1 des_setparity F
+GLIBC_2.1 ecb_crypt F
+GLIBC_2.1 endutxent F
+GLIBC_2.1 fattach F
+GLIBC_2.1 fclose F
+GLIBC_2.1 fdetach F
+GLIBC_2.1 fdopen F
+GLIBC_2.1 ffsl F
+GLIBC_2.1 ffsll F
+GLIBC_2.1 fgetc_unlocked F
+GLIBC_2.1 fgetpos64 F
+GLIBC_2.1 fgets_unlocked F
+GLIBC_2.1 fmtmsg F
+GLIBC_2.1 fopen F
+GLIBC_2.1 fopen64 F
+GLIBC_2.1 fputs_unlocked F
+GLIBC_2.1 fread_unlocked F
+GLIBC_2.1 freopen64 F
+GLIBC_2.1 fseeko F
+GLIBC_2.1 fseeko64 F
+GLIBC_2.1 fsetpos64 F
+GLIBC_2.1 fstatfs64 F
+GLIBC_2.1 fstatvfs F
+GLIBC_2.1 fstatvfs64 F
+GLIBC_2.1 ftello F
+GLIBC_2.1 ftello64 F
+GLIBC_2.1 ftruncate64 F
+GLIBC_2.1 ftw64 F
+GLIBC_2.1 fwrite_unlocked F
+GLIBC_2.1 gai_strerror F
+GLIBC_2.1 getcontext F
+GLIBC_2.1 getdate F
+GLIBC_2.1 getdate_err D 0x4
+GLIBC_2.1 getdate_r F
+GLIBC_2.1 getmsg F
+GLIBC_2.1 getnameinfo F
+GLIBC_2.1 getnetname F
+GLIBC_2.1 getpmsg F
+GLIBC_2.1 getpt F
+GLIBC_2.1 getrlimit64 F
+GLIBC_2.1 getutxent F
+GLIBC_2.1 getutxid F
+GLIBC_2.1 getutxline F
+GLIBC_2.1 glob64 F
+GLIBC_2.1 globfree64 F
+GLIBC_2.1 gnu_get_libc_release F
+GLIBC_2.1 gnu_get_libc_version F
+GLIBC_2.1 grantpt F
+GLIBC_2.1 host2netname F
+GLIBC_2.1 iconv F
+GLIBC_2.1 iconv_close F
+GLIBC_2.1 iconv_open F
+GLIBC_2.1 if_freenameindex F
+GLIBC_2.1 if_indextoname F
+GLIBC_2.1 if_nameindex F
+GLIBC_2.1 if_nametoindex F
+GLIBC_2.1 in6addr_any D 0x10
+GLIBC_2.1 in6addr_loopback D 0x10
+GLIBC_2.1 isastream F
+GLIBC_2.1 iswblank F
+GLIBC_2.1 key_decryptsession F
+GLIBC_2.1 key_decryptsession_pk F
+GLIBC_2.1 key_encryptsession F
+GLIBC_2.1 key_encryptsession_pk F
+GLIBC_2.1 key_gendes F
+GLIBC_2.1 key_get_conv F
+GLIBC_2.1 key_secretkey_is_set F
+GLIBC_2.1 key_setnet F
+GLIBC_2.1 key_setsecret F
+GLIBC_2.1 lockf64 F
+GLIBC_2.1 lseek64 F
+GLIBC_2.1 makecontext F
+GLIBC_2.1 mempcpy F
+GLIBC_2.1 mmap64 F
+GLIBC_2.1 netname2host F
+GLIBC_2.1 netname2user F
+GLIBC_2.1 nftw F
+GLIBC_2.1 nftw64 F
+GLIBC_2.1 ntp_adjtime F
+GLIBC_2.1 ntp_gettime F
+GLIBC_2.1 open64 F
+GLIBC_2.1 passwd2des F
+GLIBC_2.1 pclose F
+GLIBC_2.1 popen F
+GLIBC_2.1 pread F
+GLIBC_2.1 pread64 F
+GLIBC_2.1 printf_size F
+GLIBC_2.1 printf_size_info F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 ptsname F
+GLIBC_2.1 ptsname_r F
+GLIBC_2.1 putgrent F
+GLIBC_2.1 putmsg F
+GLIBC_2.1 putpmsg F
+GLIBC_2.1 pututxline F
+GLIBC_2.1 pwrite F
+GLIBC_2.1 pwrite64 F
+GLIBC_2.1 rawmemchr F
+GLIBC_2.1 readdir64 F
+GLIBC_2.1 readdir64_r F
+GLIBC_2.1 rtime F
+GLIBC_2.1 scandir64 F
+GLIBC_2.1 sendfile F
+GLIBC_2.1 setrlimit64 F
+GLIBC_2.1 setutxent F
+GLIBC_2.1 sighold F
+GLIBC_2.1 sigignore F
+GLIBC_2.1 sigqueue F
+GLIBC_2.1 sigrelse F
+GLIBC_2.1 sigset F
+GLIBC_2.1 sigtimedwait F
+GLIBC_2.1 sigwaitinfo F
+GLIBC_2.1 statfs64 F
+GLIBC_2.1 statvfs F
+GLIBC_2.1 statvfs64 F
+GLIBC_2.1 strcasestr F
+GLIBC_2.1 strtoimax F
+GLIBC_2.1 strtoumax F
+GLIBC_2.1 strverscmp F
+GLIBC_2.1 svcunix_create F
+GLIBC_2.1 svcunixfd_create F
+GLIBC_2.1 swapcontext F
+GLIBC_2.1 sys_errlist D 0x1fc
+GLIBC_2.1 sys_nerr D 0x4
+GLIBC_2.1 sys_sigabbrev D 0x100
+GLIBC_2.1 sys_siglist D 0x100
+GLIBC_2.1 sysv_signal F
+GLIBC_2.1 tcgetsid F
+GLIBC_2.1 tdestroy F
+GLIBC_2.1 tmpfile F
+GLIBC_2.1 tmpfile64 F
+GLIBC_2.1 truncate64 F
+GLIBC_2.1 umount2 F
+GLIBC_2.1 unlockpt F
+GLIBC_2.1 updwtmpx F
+GLIBC_2.1 user2netname F
+GLIBC_2.1 utmpxname F
+GLIBC_2.1 versionsort F
+GLIBC_2.1 versionsort64 F
+GLIBC_2.1 waitid F
+GLIBC_2.1 wcscasecmp F
+GLIBC_2.1 wcsncasecmp F
+GLIBC_2.1 wcsnlen F
+GLIBC_2.1 wcstoimax F
+GLIBC_2.1 wcstoll F
+GLIBC_2.1 wcstoull F
+GLIBC_2.1 wcstoumax F
+GLIBC_2.1 wcswcs F
+GLIBC_2.1 wordexp F
+GLIBC_2.1 wordfree F
+GLIBC_2.1 xdecrypt F
+GLIBC_2.1 xdr_authdes_cred F
+GLIBC_2.1 xdr_authdes_verf F
+GLIBC_2.1 xdr_getcredres F
+GLIBC_2.1 xdr_int16_t F
+GLIBC_2.1 xdr_int32_t F
+GLIBC_2.1 xdr_int8_t F
+GLIBC_2.1 xdr_netnamestr F
+GLIBC_2.1 xdr_sizeof F
+GLIBC_2.1 xdr_uint16_t F
+GLIBC_2.1 xdr_uint32_t F
+GLIBC_2.1 xdr_uint8_t F
+GLIBC_2.1 xdr_unixcred F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 _Exit F
+GLIBC_2.1.1 __mempcpy_small F
+GLIBC_2.1.1 __stpcpy_small F
+GLIBC_2.1.1 __strcpy_small F
+GLIBC_2.1.1 __strcspn_c1 F
+GLIBC_2.1.1 __strcspn_c2 F
+GLIBC_2.1.1 __strcspn_c3 F
+GLIBC_2.1.1 __strpbrk_c2 F
+GLIBC_2.1.1 __strpbrk_c3 F
+GLIBC_2.1.1 __strsep_1c F
+GLIBC_2.1.1 __strsep_2c F
+GLIBC_2.1.1 __strsep_3c F
+GLIBC_2.1.1 __strsep_g F
+GLIBC_2.1.1 __strspn_c1 F
+GLIBC_2.1.1 __strspn_c2 F
+GLIBC_2.1.1 __strspn_c3 F
+GLIBC_2.1.1 __strtok_r_1c F
+GLIBC_2.1.1 __strverscmp F
+GLIBC_2.1.1 getutmp F
+GLIBC_2.1.1 getutmpx F
+GLIBC_2.1.1 imaxabs F
+GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 strchrnul F
+GLIBC_2.1.1 xdr_hyper F
+GLIBC_2.1.1 xdr_int64_t F
+GLIBC_2.1.1 xdr_longlong_t F
+GLIBC_2.1.1 xdr_u_hyper F
+GLIBC_2.1.1 xdr_u_longlong_t F
+GLIBC_2.1.1 xdr_uint64_t F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.1.2 getaliasbyname_r F
+GLIBC_2.1.2 getaliasent_r F
+GLIBC_2.1.2 getgrent_r F
+GLIBC_2.1.2 getgrgid_r F
+GLIBC_2.1.2 getgrnam_r F
+GLIBC_2.1.2 gethostbyaddr_r F
+GLIBC_2.1.2 gethostbyname2_r F
+GLIBC_2.1.2 gethostbyname_r F
+GLIBC_2.1.2 gethostent_r F
+GLIBC_2.1.2 getnetbyaddr_r F
+GLIBC_2.1.2 getnetbyname_r F
+GLIBC_2.1.2 getnetent_r F
+GLIBC_2.1.2 getprotobyname_r F
+GLIBC_2.1.2 getprotobynumber_r F
+GLIBC_2.1.2 getprotoent_r F
+GLIBC_2.1.2 getpwent_r F
+GLIBC_2.1.2 getpwnam_r F
+GLIBC_2.1.2 getpwuid_r F
+GLIBC_2.1.2 getrpcbyname_r F
+GLIBC_2.1.2 getrpcbynumber_r F
+GLIBC_2.1.2 getrpcent_r F
+GLIBC_2.1.2 getservbyname_r F
+GLIBC_2.1.2 getservbyport_r F
+GLIBC_2.1.2 getservent_r F
+GLIBC_2.1.2 getspent_r F
+GLIBC_2.1.2 getspnam_r F
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 __cxa_atexit F
+GLIBC_2.1.3 __cxa_finalize F
+GLIBC_2.1.3 __sigsuspend F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 fallocate64 F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 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 0x220
+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 0x220
+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 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0x54
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __ctype32_tolower D 0x4
+GLIBC_2.2 __ctype32_toupper D 0x4
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _res_hconf D 0x30
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 localeconv F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 semctl F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x4
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 wscanf F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x200
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoll_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strtoull_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x200
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x104
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 posix_fadvise64 F
+GLIBC_2.3.3 posix_fallocate64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 sys_sigabbrev D 0x104
+GLIBC_2.3.3 sys_siglist D 0x104
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 _IO_fprintf F
+GLIBC_2.4 _IO_printf F
+GLIBC_2.4 _IO_sprintf F
+GLIBC_2.4 _IO_sscanf F
+GLIBC_2.4 _IO_vfprintf F
+GLIBC_2.4 _IO_vfscanf F
+GLIBC_2.4 _IO_vsprintf F
+GLIBC_2.4 _Q_add F
+GLIBC_2.4 _Q_cmp F
+GLIBC_2.4 _Q_cmpe F
+GLIBC_2.4 _Q_div F
+GLIBC_2.4 _Q_dtoq F
+GLIBC_2.4 _Q_feq F
+GLIBC_2.4 _Q_fge F
+GLIBC_2.4 _Q_fgt F
+GLIBC_2.4 _Q_fle F
+GLIBC_2.4 _Q_flt F
+GLIBC_2.4 _Q_fne F
+GLIBC_2.4 _Q_itoq F
+GLIBC_2.4 _Q_lltoq F
+GLIBC_2.4 _Q_mul F
+GLIBC_2.4 _Q_neg F
+GLIBC_2.4 _Q_qtod F
+GLIBC_2.4 _Q_qtoi F
+GLIBC_2.4 _Q_qtoll F
+GLIBC_2.4 _Q_qtos F
+GLIBC_2.4 _Q_qtou F
+GLIBC_2.4 _Q_qtoull F
+GLIBC_2.4 _Q_sqrt F
+GLIBC_2.4 _Q_stoq F
+GLIBC_2.4 _Q_sub F
+GLIBC_2.4 _Q_ulltoq F
+GLIBC_2.4 _Q_utoq F
+GLIBC_2.4 __asprintf F
+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 __finitel F
+GLIBC_2.4 __fprintf_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 __isinfl F
+GLIBC_2.4 __isnanl F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __nldbl__IO_fprintf F
+GLIBC_2.4 __nldbl__IO_printf F
+GLIBC_2.4 __nldbl__IO_sprintf F
+GLIBC_2.4 __nldbl__IO_sscanf F
+GLIBC_2.4 __nldbl__IO_vfprintf F
+GLIBC_2.4 __nldbl__IO_vfscanf F
+GLIBC_2.4 __nldbl__IO_vsprintf F
+GLIBC_2.4 __nldbl___asprintf F
+GLIBC_2.4 __nldbl___fprintf_chk F
+GLIBC_2.4 __nldbl___fwprintf_chk F
+GLIBC_2.4 __nldbl___printf_chk F
+GLIBC_2.4 __nldbl___printf_fp F
+GLIBC_2.4 __nldbl___snprintf_chk F
+GLIBC_2.4 __nldbl___sprintf_chk F
+GLIBC_2.4 __nldbl___strfmon_l F
+GLIBC_2.4 __nldbl___swprintf_chk F
+GLIBC_2.4 __nldbl___syslog_chk F
+GLIBC_2.4 __nldbl___vfprintf_chk F
+GLIBC_2.4 __nldbl___vfscanf F
+GLIBC_2.4 __nldbl___vfwprintf_chk F
+GLIBC_2.4 __nldbl___vprintf_chk F
+GLIBC_2.4 __nldbl___vsnprintf F
+GLIBC_2.4 __nldbl___vsnprintf_chk F
+GLIBC_2.4 __nldbl___vsprintf_chk F
+GLIBC_2.4 __nldbl___vsscanf F
+GLIBC_2.4 __nldbl___vstrfmon F
+GLIBC_2.4 __nldbl___vstrfmon_l F
+GLIBC_2.4 __nldbl___vswprintf_chk F
+GLIBC_2.4 __nldbl___vsyslog_chk F
+GLIBC_2.4 __nldbl___vwprintf_chk F
+GLIBC_2.4 __nldbl___wprintf_chk F
+GLIBC_2.4 __nldbl_asprintf F
+GLIBC_2.4 __nldbl_dprintf F
+GLIBC_2.4 __nldbl_fprintf F
+GLIBC_2.4 __nldbl_fscanf F
+GLIBC_2.4 __nldbl_fwprintf F
+GLIBC_2.4 __nldbl_fwscanf F
+GLIBC_2.4 __nldbl_obstack_printf F
+GLIBC_2.4 __nldbl_obstack_vprintf F
+GLIBC_2.4 __nldbl_printf F
+GLIBC_2.4 __nldbl_printf_size F
+GLIBC_2.4 __nldbl_scanf F
+GLIBC_2.4 __nldbl_snprintf F
+GLIBC_2.4 __nldbl_sprintf F
+GLIBC_2.4 __nldbl_sscanf F
+GLIBC_2.4 __nldbl_strfmon F
+GLIBC_2.4 __nldbl_strfmon_l F
+GLIBC_2.4 __nldbl_swprintf F
+GLIBC_2.4 __nldbl_swscanf F
+GLIBC_2.4 __nldbl_syslog F
+GLIBC_2.4 __nldbl_vasprintf F
+GLIBC_2.4 __nldbl_vdprintf F
+GLIBC_2.4 __nldbl_vfprintf F
+GLIBC_2.4 __nldbl_vfscanf F
+GLIBC_2.4 __nldbl_vfwprintf F
+GLIBC_2.4 __nldbl_vfwscanf F
+GLIBC_2.4 __nldbl_vprintf F
+GLIBC_2.4 __nldbl_vscanf F
+GLIBC_2.4 __nldbl_vsnprintf F
+GLIBC_2.4 __nldbl_vsprintf F
+GLIBC_2.4 __nldbl_vsscanf F
+GLIBC_2.4 __nldbl_vswprintf F
+GLIBC_2.4 __nldbl_vswscanf F
+GLIBC_2.4 __nldbl_vsyslog F
+GLIBC_2.4 __nldbl_vwprintf F
+GLIBC_2.4 __nldbl_vwscanf F
+GLIBC_2.4 __nldbl_wprintf F
+GLIBC_2.4 __nldbl_wscanf F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __printf_chk F
+GLIBC_2.4 __printf_fp 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 __signbitl F
+GLIBC_2.4 __snprintf_chk F
+GLIBC_2.4 __sprintf_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __strfmon_l F
+GLIBC_2.4 __strtold_internal F
+GLIBC_2.4 __strtold_l F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfprintf_chk F
+GLIBC_2.4 __vfscanf F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vprintf_chk F
+GLIBC_2.4 __vsnprintf F
+GLIBC_2.4 __vsnprintf_chk F
+GLIBC_2.4 __vsprintf_chk F
+GLIBC_2.4 __vsscanf 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 __wcstold_internal F
+GLIBC_2.4 __wcstold_l 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 0x218
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 asprintf F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 dprintf F
+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 finitel F
+GLIBC_2.4 fprintf F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 fscanf F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 fwprintf F
+GLIBC_2.4 fwscanf F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 isinfl F
+GLIBC_2.4 isnanl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 modfl F
+GLIBC_2.4 obstack_printf F
+GLIBC_2.4 obstack_vprintf 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 printf F
+GLIBC_2.4 printf_size F
+GLIBC_2.4 qecvt F
+GLIBC_2.4 qecvt_r F
+GLIBC_2.4 qfcvt F
+GLIBC_2.4 qfcvt_r F
+GLIBC_2.4 qgcvt F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 scanf F
+GLIBC_2.4 snprintf F
+GLIBC_2.4 sprintf F
+GLIBC_2.4 sscanf F
+GLIBC_2.4 strfmon F
+GLIBC_2.4 strfmon_l F
+GLIBC_2.4 strtold F
+GLIBC_2.4 strtold_l F
+GLIBC_2.4 swprintf F
+GLIBC_2.4 swscanf F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x218
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 syslog F
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.4 vasprintf F
+GLIBC_2.4 vdprintf F
+GLIBC_2.4 vfprintf F
+GLIBC_2.4 vfscanf F
+GLIBC_2.4 vfwprintf F
+GLIBC_2.4 vfwscanf F
+GLIBC_2.4 vprintf F
+GLIBC_2.4 vscanf F
+GLIBC_2.4 vsnprintf F
+GLIBC_2.4 vsprintf F
+GLIBC_2.4 vsscanf F
+GLIBC_2.4 vswprintf F
+GLIBC_2.4 vswscanf F
+GLIBC_2.4 vsyslog F
+GLIBC_2.4 vwprintf F
+GLIBC_2.4 vwscanf F
+GLIBC_2.4 wcstold F
+GLIBC_2.4 wcstold_l F
+GLIBC_2.4 wprintf F
+GLIBC_2.4 wscanf 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 __nldbl___isoc99_fscanf F
+GLIBC_2.7 __nldbl___isoc99_fwscanf F
+GLIBC_2.7 __nldbl___isoc99_scanf F
+GLIBC_2.7 __nldbl___isoc99_sscanf F
+GLIBC_2.7 __nldbl___isoc99_swscanf F
+GLIBC_2.7 __nldbl___isoc99_vfscanf F
+GLIBC_2.7 __nldbl___isoc99_vfwscanf F
+GLIBC_2.7 __nldbl___isoc99_vscanf F
+GLIBC_2.7 __nldbl___isoc99_vsscanf F
+GLIBC_2.7 __nldbl___isoc99_vswscanf F
+GLIBC_2.7 __nldbl___isoc99_vwscanf F
+GLIBC_2.7 __nldbl___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 __nldbl___asprintf_chk F
+GLIBC_2.8 __nldbl___dprintf_chk F
+GLIBC_2.8 __nldbl___obstack_printf_chk F
+GLIBC_2.8 __nldbl___obstack_vprintf_chk F
+GLIBC_2.8 __nldbl___vasprintf_chk F
+GLIBC_2.8 __nldbl___vdprintf_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/sparc32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
new file mode 100644
index 0000000000..f73af6f224
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -0,0 +1,568 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _LIB_VERSION D 0x4
+GLIBC_2.0 acos F
+GLIBC_2.0 acosf F
+GLIBC_2.0 acosh F
+GLIBC_2.0 acoshf F
+GLIBC_2.0 acoshl F
+GLIBC_2.0 acosl F
+GLIBC_2.0 asin F
+GLIBC_2.0 asinf F
+GLIBC_2.0 asinh F
+GLIBC_2.0 asinhf F
+GLIBC_2.0 asinhl F
+GLIBC_2.0 asinl F
+GLIBC_2.0 atan F
+GLIBC_2.0 atan2 F
+GLIBC_2.0 atan2f F
+GLIBC_2.0 atan2l F
+GLIBC_2.0 atanf F
+GLIBC_2.0 atanh F
+GLIBC_2.0 atanhf F
+GLIBC_2.0 atanhl F
+GLIBC_2.0 atanl F
+GLIBC_2.0 cbrt F
+GLIBC_2.0 cbrtf F
+GLIBC_2.0 cbrtl F
+GLIBC_2.0 ceil F
+GLIBC_2.0 ceilf F
+GLIBC_2.0 ceill F
+GLIBC_2.0 copysign F
+GLIBC_2.0 copysignf F
+GLIBC_2.0 cos F
+GLIBC_2.0 cosf F
+GLIBC_2.0 cosh F
+GLIBC_2.0 coshf F
+GLIBC_2.0 coshl F
+GLIBC_2.0 cosl F
+GLIBC_2.0 drem F
+GLIBC_2.0 dremf F
+GLIBC_2.0 dreml F
+GLIBC_2.0 erf F
+GLIBC_2.0 erfc F
+GLIBC_2.0 erfcf F
+GLIBC_2.0 erfcl F
+GLIBC_2.0 erff F
+GLIBC_2.0 erfl F
+GLIBC_2.0 exp F
+GLIBC_2.0 expf F
+GLIBC_2.0 expl F
+GLIBC_2.0 expm1 F
+GLIBC_2.0 expm1f F
+GLIBC_2.0 expm1l F
+GLIBC_2.0 fabs F
+GLIBC_2.0 fabsf F
+GLIBC_2.0 finite F
+GLIBC_2.0 finitef F
+GLIBC_2.0 finitel F
+GLIBC_2.0 floor F
+GLIBC_2.0 floorf F
+GLIBC_2.0 floorl F
+GLIBC_2.0 fmod F
+GLIBC_2.0 fmodf F
+GLIBC_2.0 fmodl F
+GLIBC_2.0 frexp F
+GLIBC_2.0 frexpf F
+GLIBC_2.0 frexpl F
+GLIBC_2.0 gamma F
+GLIBC_2.0 gammaf F
+GLIBC_2.0 gammal F
+GLIBC_2.0 hypot F
+GLIBC_2.0 hypotf F
+GLIBC_2.0 hypotl F
+GLIBC_2.0 ilogb F
+GLIBC_2.0 ilogbf F
+GLIBC_2.0 ilogbl F
+GLIBC_2.0 j0 F
+GLIBC_2.0 j0f F
+GLIBC_2.0 j0l F
+GLIBC_2.0 j1 F
+GLIBC_2.0 j1f F
+GLIBC_2.0 j1l F
+GLIBC_2.0 jn F
+GLIBC_2.0 jnf F
+GLIBC_2.0 jnl F
+GLIBC_2.0 ldexp F
+GLIBC_2.0 ldexpf F
+GLIBC_2.0 ldexpl F
+GLIBC_2.0 lgamma F
+GLIBC_2.0 lgamma_r F
+GLIBC_2.0 lgammaf F
+GLIBC_2.0 lgammaf_r F
+GLIBC_2.0 lgammal F
+GLIBC_2.0 lgammal_r F
+GLIBC_2.0 log F
+GLIBC_2.0 log10 F
+GLIBC_2.0 log10f F
+GLIBC_2.0 log10l F
+GLIBC_2.0 log1p F
+GLIBC_2.0 log1pf F
+GLIBC_2.0 log1pl F
+GLIBC_2.0 logb F
+GLIBC_2.0 logbf F
+GLIBC_2.0 logbl F
+GLIBC_2.0 logf F
+GLIBC_2.0 logl F
+GLIBC_2.0 matherr F
+GLIBC_2.0 modf F
+GLIBC_2.0 modff F
+GLIBC_2.0 modfl F
+GLIBC_2.0 nextafter F
+GLIBC_2.0 nextafterf F
+GLIBC_2.0 nextafterl F
+GLIBC_2.0 pow F
+GLIBC_2.0 powf F
+GLIBC_2.0 powl F
+GLIBC_2.0 remainder F
+GLIBC_2.0 remainderf F
+GLIBC_2.0 remainderl F
+GLIBC_2.0 rint F
+GLIBC_2.0 rintf F
+GLIBC_2.0 rintl F
+GLIBC_2.0 scalb F
+GLIBC_2.0 scalbf F
+GLIBC_2.0 scalbl F
+GLIBC_2.0 scalbn F
+GLIBC_2.0 scalbnf F
+GLIBC_2.0 scalbnl F
+GLIBC_2.0 signgam D 0x4
+GLIBC_2.0 significand F
+GLIBC_2.0 significandf F
+GLIBC_2.0 significandl F
+GLIBC_2.0 sin F
+GLIBC_2.0 sinf F
+GLIBC_2.0 sinh F
+GLIBC_2.0 sinhf F
+GLIBC_2.0 sinhl F
+GLIBC_2.0 sinl F
+GLIBC_2.0 sqrt F
+GLIBC_2.0 sqrtf F
+GLIBC_2.0 tan F
+GLIBC_2.0 tanf F
+GLIBC_2.0 tanh F
+GLIBC_2.0 tanhf F
+GLIBC_2.0 tanhl F
+GLIBC_2.0 tanl F
+GLIBC_2.0 y0 F
+GLIBC_2.0 y0f F
+GLIBC_2.0 y0l F
+GLIBC_2.0 y1 F
+GLIBC_2.0 y1f F
+GLIBC_2.0 y1l F
+GLIBC_2.0 yn F
+GLIBC_2.0 ynf F
+GLIBC_2.0 ynl F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __clog10 F
+GLIBC_2.1 __clog10f F
+GLIBC_2.1 __clog10l F
+GLIBC_2.1 __finite F
+GLIBC_2.1 __finitef F
+GLIBC_2.1 __finitel F
+GLIBC_2.1 __fpclassify F
+GLIBC_2.1 __fpclassifyf F
+GLIBC_2.1 __signbit F
+GLIBC_2.1 __signbitf F
+GLIBC_2.1 cabs F
+GLIBC_2.1 cabsf F
+GLIBC_2.1 cabsl F
+GLIBC_2.1 cacos F
+GLIBC_2.1 cacosf F
+GLIBC_2.1 cacosh F
+GLIBC_2.1 cacoshf F
+GLIBC_2.1 cacoshl F
+GLIBC_2.1 cacosl F
+GLIBC_2.1 carg F
+GLIBC_2.1 cargf F
+GLIBC_2.1 cargl F
+GLIBC_2.1 casin F
+GLIBC_2.1 casinf F
+GLIBC_2.1 casinh F
+GLIBC_2.1 casinhf F
+GLIBC_2.1 casinhl F
+GLIBC_2.1 casinl F
+GLIBC_2.1 catan F
+GLIBC_2.1 catanf F
+GLIBC_2.1 catanh F
+GLIBC_2.1 catanhf F
+GLIBC_2.1 catanhl F
+GLIBC_2.1 catanl F
+GLIBC_2.1 ccos F
+GLIBC_2.1 ccosf F
+GLIBC_2.1 ccosh F
+GLIBC_2.1 ccoshf F
+GLIBC_2.1 ccoshl F
+GLIBC_2.1 ccosl F
+GLIBC_2.1 cexp F
+GLIBC_2.1 cexpf F
+GLIBC_2.1 cexpl F
+GLIBC_2.1 cimag F
+GLIBC_2.1 cimagf F
+GLIBC_2.1 cimagl F
+GLIBC_2.1 clog F
+GLIBC_2.1 clog10 F
+GLIBC_2.1 clog10f F
+GLIBC_2.1 clog10l F
+GLIBC_2.1 clogf F
+GLIBC_2.1 clogl F
+GLIBC_2.1 conj F
+GLIBC_2.1 conjf F
+GLIBC_2.1 conjl F
+GLIBC_2.1 cpow F
+GLIBC_2.1 cpowf F
+GLIBC_2.1 cpowl F
+GLIBC_2.1 cproj F
+GLIBC_2.1 cprojf F
+GLIBC_2.1 cprojl F
+GLIBC_2.1 creal F
+GLIBC_2.1 crealf F
+GLIBC_2.1 creall F
+GLIBC_2.1 csin F
+GLIBC_2.1 csinf F
+GLIBC_2.1 csinh F
+GLIBC_2.1 csinhf F
+GLIBC_2.1 csinhl F
+GLIBC_2.1 csinl F
+GLIBC_2.1 csqrt F
+GLIBC_2.1 csqrtf F
+GLIBC_2.1 csqrtl F
+GLIBC_2.1 ctan F
+GLIBC_2.1 ctanf F
+GLIBC_2.1 ctanh F
+GLIBC_2.1 ctanhf F
+GLIBC_2.1 ctanhl F
+GLIBC_2.1 ctanl F
+GLIBC_2.1 exp10 F
+GLIBC_2.1 exp10f F
+GLIBC_2.1 exp10l F
+GLIBC_2.1 exp2 F
+GLIBC_2.1 exp2f F
+GLIBC_2.1 fdim F
+GLIBC_2.1 fdimf F
+GLIBC_2.1 fdiml F
+GLIBC_2.1 feclearexcept F
+GLIBC_2.1 fegetenv F
+GLIBC_2.1 fegetexceptflag F
+GLIBC_2.1 fegetround F
+GLIBC_2.1 feholdexcept F
+GLIBC_2.1 feraiseexcept F
+GLIBC_2.1 fesetenv F
+GLIBC_2.1 fesetexceptflag F
+GLIBC_2.1 fesetround F
+GLIBC_2.1 fetestexcept F
+GLIBC_2.1 feupdateenv F
+GLIBC_2.1 fma F
+GLIBC_2.1 fmaf F
+GLIBC_2.1 fmax F
+GLIBC_2.1 fmaxf F
+GLIBC_2.1 fmaxl F
+GLIBC_2.1 fmin F
+GLIBC_2.1 fminf F
+GLIBC_2.1 fminl F
+GLIBC_2.1 llrint F
+GLIBC_2.1 llrintf F
+GLIBC_2.1 llrintl F
+GLIBC_2.1 llround F
+GLIBC_2.1 llroundf F
+GLIBC_2.1 llroundl F
+GLIBC_2.1 log2 F
+GLIBC_2.1 log2f F
+GLIBC_2.1 log2l F
+GLIBC_2.1 lrint F
+GLIBC_2.1 lrintf F
+GLIBC_2.1 lrintl F
+GLIBC_2.1 lround F
+GLIBC_2.1 lroundf F
+GLIBC_2.1 lroundl F
+GLIBC_2.1 nan F
+GLIBC_2.1 nanf F
+GLIBC_2.1 nanl F
+GLIBC_2.1 nearbyint F
+GLIBC_2.1 nearbyintf F
+GLIBC_2.1 nearbyintl F
+GLIBC_2.1 nexttoward F
+GLIBC_2.1 nexttowardf F
+GLIBC_2.1 nexttowardl F
+GLIBC_2.1 pow10 F
+GLIBC_2.1 pow10f F
+GLIBC_2.1 pow10l F
+GLIBC_2.1 remquo F
+GLIBC_2.1 remquof F
+GLIBC_2.1 remquol F
+GLIBC_2.1 round F
+GLIBC_2.1 roundf F
+GLIBC_2.1 roundl F
+GLIBC_2.1 scalbln F
+GLIBC_2.1 scalblnf F
+GLIBC_2.1 scalblnl F
+GLIBC_2.1 sincos F
+GLIBC_2.1 sincosf F
+GLIBC_2.1 sincosl F
+GLIBC_2.1 tgamma F
+GLIBC_2.1 tgammaf F
+GLIBC_2.1 tgammal F
+GLIBC_2.1 trunc F
+GLIBC_2.1 truncf F
+GLIBC_2.1 truncl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __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 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 __sqrtl_finite F
+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
+GLIBC_2.4 __clog10l F
+GLIBC_2.4 __finitel F
+GLIBC_2.4 __fpclassifyl F
+GLIBC_2.4 __nldbl_nexttowardf F
+GLIBC_2.4 __signbitl F
+GLIBC_2.4 acoshl F
+GLIBC_2.4 acosl F
+GLIBC_2.4 asinhl F
+GLIBC_2.4 asinl F
+GLIBC_2.4 atan2l F
+GLIBC_2.4 atanhl F
+GLIBC_2.4 atanl F
+GLIBC_2.4 cabsl F
+GLIBC_2.4 cacoshl F
+GLIBC_2.4 cacosl F
+GLIBC_2.4 cargl F
+GLIBC_2.4 casinhl F
+GLIBC_2.4 casinl F
+GLIBC_2.4 catanhl F
+GLIBC_2.4 catanl F
+GLIBC_2.4 cbrtl F
+GLIBC_2.4 ccoshl F
+GLIBC_2.4 ccosl F
+GLIBC_2.4 ceill F
+GLIBC_2.4 cexpl F
+GLIBC_2.4 cimagl F
+GLIBC_2.4 clog10l F
+GLIBC_2.4 clogl F
+GLIBC_2.4 conjl F
+GLIBC_2.4 copysignl F
+GLIBC_2.4 coshl F
+GLIBC_2.4 cosl F
+GLIBC_2.4 cpowl F
+GLIBC_2.4 cprojl F
+GLIBC_2.4 creall F
+GLIBC_2.4 csinhl F
+GLIBC_2.4 csinl F
+GLIBC_2.4 csqrtl F
+GLIBC_2.4 ctanhl F
+GLIBC_2.4 ctanl F
+GLIBC_2.4 dreml F
+GLIBC_2.4 erfcl F
+GLIBC_2.4 erfl F
+GLIBC_2.4 exp10l F
+GLIBC_2.4 exp2l F
+GLIBC_2.4 expl F
+GLIBC_2.4 expm1l F
+GLIBC_2.4 fabsl F
+GLIBC_2.4 fdiml F
+GLIBC_2.4 finitel F
+GLIBC_2.4 floorl F
+GLIBC_2.4 fmal F
+GLIBC_2.4 fmaxl F
+GLIBC_2.4 fminl F
+GLIBC_2.4 fmodl F
+GLIBC_2.4 frexpl F
+GLIBC_2.4 gammal F
+GLIBC_2.4 hypotl F
+GLIBC_2.4 ilogbl F
+GLIBC_2.4 j0l F
+GLIBC_2.4 j1l F
+GLIBC_2.4 jnl F
+GLIBC_2.4 ldexpl F
+GLIBC_2.4 lgammal F
+GLIBC_2.4 lgammal_r F
+GLIBC_2.4 llrintl F
+GLIBC_2.4 llroundl F
+GLIBC_2.4 log10l F
+GLIBC_2.4 log1pl F
+GLIBC_2.4 log2l F
+GLIBC_2.4 logbl F
+GLIBC_2.4 logl F
+GLIBC_2.4 lrintl F
+GLIBC_2.4 lroundl F
+GLIBC_2.4 modfl F
+GLIBC_2.4 nanl F
+GLIBC_2.4 nearbyintl F
+GLIBC_2.4 nextafterl F
+GLIBC_2.4 nexttoward F
+GLIBC_2.4 nexttowardf F
+GLIBC_2.4 nexttowardl F
+GLIBC_2.4 pow10l F
+GLIBC_2.4 powl F
+GLIBC_2.4 remainderl F
+GLIBC_2.4 remquol F
+GLIBC_2.4 rintl F
+GLIBC_2.4 roundl F
+GLIBC_2.4 scalbl F
+GLIBC_2.4 scalblnl F
+GLIBC_2.4 scalbnl F
+GLIBC_2.4 significandl F
+GLIBC_2.4 sincosl F
+GLIBC_2.4 sinhl F
+GLIBC_2.4 sinl F
+GLIBC_2.4 sqrtl F
+GLIBC_2.4 tanhl F
+GLIBC_2.4 tanl F
+GLIBC_2.4 tgammal F
+GLIBC_2.4 truncl F
+GLIBC_2.4 y0l F
+GLIBC_2.4 y1l F
+GLIBC_2.4 ynl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
new file mode 100644
index 0000000000..7e121d45f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -0,0 +1,259 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 _IO_flockfile F
+GLIBC_2.0 _IO_ftrylockfile F
+GLIBC_2.0 _IO_funlockfile F
+GLIBC_2.0 __close F
+GLIBC_2.0 __connect F
+GLIBC_2.0 __errno_location F
+GLIBC_2.0 __fcntl F
+GLIBC_2.0 __fork F
+GLIBC_2.0 __h_errno_location F
+GLIBC_2.0 __lseek F
+GLIBC_2.0 __open F
+GLIBC_2.0 __pthread_getspecific F
+GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_trylock F
+GLIBC_2.0 __pthread_mutex_unlock F
+GLIBC_2.0 __pthread_mutexattr_destroy F
+GLIBC_2.0 __pthread_mutexattr_init F
+GLIBC_2.0 __pthread_mutexattr_settype F
+GLIBC_2.0 __pthread_once F
+GLIBC_2.0 __pthread_setspecific F
+GLIBC_2.0 __read F
+GLIBC_2.0 __send F
+GLIBC_2.0 __sigaction F
+GLIBC_2.0 __wait F
+GLIBC_2.0 __write F
+GLIBC_2.0 _pthread_cleanup_pop F
+GLIBC_2.0 _pthread_cleanup_pop_restore F
+GLIBC_2.0 _pthread_cleanup_push F
+GLIBC_2.0 _pthread_cleanup_push_defer F
+GLIBC_2.0 accept F
+GLIBC_2.0 close F
+GLIBC_2.0 connect F
+GLIBC_2.0 fcntl F
+GLIBC_2.0 flockfile F
+GLIBC_2.0 fork F
+GLIBC_2.0 fsync F
+GLIBC_2.0 ftrylockfile F
+GLIBC_2.0 funlockfile F
+GLIBC_2.0 longjmp F
+GLIBC_2.0 lseek F
+GLIBC_2.0 msync F
+GLIBC_2.0 nanosleep F
+GLIBC_2.0 open F
+GLIBC_2.0 pause F
+GLIBC_2.0 pthread_atfork F
+GLIBC_2.0 pthread_attr_destroy F
+GLIBC_2.0 pthread_attr_getdetachstate F
+GLIBC_2.0 pthread_attr_getinheritsched F
+GLIBC_2.0 pthread_attr_getschedparam F
+GLIBC_2.0 pthread_attr_getschedpolicy F
+GLIBC_2.0 pthread_attr_getscope F
+GLIBC_2.0 pthread_attr_init F
+GLIBC_2.0 pthread_attr_setdetachstate F
+GLIBC_2.0 pthread_attr_setinheritsched F
+GLIBC_2.0 pthread_attr_setschedparam F
+GLIBC_2.0 pthread_attr_setschedpolicy F
+GLIBC_2.0 pthread_attr_setscope F
+GLIBC_2.0 pthread_cancel F
+GLIBC_2.0 pthread_cond_broadcast F
+GLIBC_2.0 pthread_cond_destroy F
+GLIBC_2.0 pthread_cond_init F
+GLIBC_2.0 pthread_cond_signal F
+GLIBC_2.0 pthread_cond_timedwait F
+GLIBC_2.0 pthread_cond_wait F
+GLIBC_2.0 pthread_condattr_destroy F
+GLIBC_2.0 pthread_condattr_init F
+GLIBC_2.0 pthread_create F
+GLIBC_2.0 pthread_detach F
+GLIBC_2.0 pthread_equal F
+GLIBC_2.0 pthread_exit F
+GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_getspecific F
+GLIBC_2.0 pthread_join F
+GLIBC_2.0 pthread_key_create F
+GLIBC_2.0 pthread_key_delete F
+GLIBC_2.0 pthread_kill F
+GLIBC_2.0 pthread_kill_other_threads_np F
+GLIBC_2.0 pthread_mutex_destroy F
+GLIBC_2.0 pthread_mutex_init F
+GLIBC_2.0 pthread_mutex_lock F
+GLIBC_2.0 pthread_mutex_trylock F
+GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_mutexattr_destroy F
+GLIBC_2.0 pthread_mutexattr_getkind_np F
+GLIBC_2.0 pthread_mutexattr_init F
+GLIBC_2.0 pthread_mutexattr_setkind_np F
+GLIBC_2.0 pthread_once F
+GLIBC_2.0 pthread_self F
+GLIBC_2.0 pthread_setcancelstate F
+GLIBC_2.0 pthread_setcanceltype F
+GLIBC_2.0 pthread_setschedparam F
+GLIBC_2.0 pthread_setspecific F
+GLIBC_2.0 pthread_sigmask F
+GLIBC_2.0 pthread_testcancel F
+GLIBC_2.0 raise F
+GLIBC_2.0 read F
+GLIBC_2.0 recv F
+GLIBC_2.0 recvfrom F
+GLIBC_2.0 recvmsg F
+GLIBC_2.0 sem_destroy F
+GLIBC_2.0 sem_getvalue F
+GLIBC_2.0 sem_init F
+GLIBC_2.0 sem_post F
+GLIBC_2.0 sem_trywait F
+GLIBC_2.0 sem_wait F
+GLIBC_2.0 send F
+GLIBC_2.0 sendmsg F
+GLIBC_2.0 sendto F
+GLIBC_2.0 sigaction F
+GLIBC_2.0 siglongjmp F
+GLIBC_2.0 sigwait F
+GLIBC_2.0 system F
+GLIBC_2.0 tcdrain F
+GLIBC_2.0 vfork F
+GLIBC_2.0 wait F
+GLIBC_2.0 waitpid F
+GLIBC_2.0 write F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __libc_allocate_rtsig F
+GLIBC_2.1 __libc_current_sigrtmax F
+GLIBC_2.1 __libc_current_sigrtmin F
+GLIBC_2.1 pthread_attr_getguardsize F
+GLIBC_2.1 pthread_attr_getstackaddr F
+GLIBC_2.1 pthread_attr_getstacksize F
+GLIBC_2.1 pthread_attr_init F
+GLIBC_2.1 pthread_attr_setguardsize F
+GLIBC_2.1 pthread_attr_setstackaddr F
+GLIBC_2.1 pthread_attr_setstacksize F
+GLIBC_2.1 pthread_create F
+GLIBC_2.1 pthread_getconcurrency F
+GLIBC_2.1 pthread_mutexattr_gettype F
+GLIBC_2.1 pthread_mutexattr_settype F
+GLIBC_2.1 pthread_rwlock_destroy F
+GLIBC_2.1 pthread_rwlock_init F
+GLIBC_2.1 pthread_rwlock_rdlock F
+GLIBC_2.1 pthread_rwlock_tryrdlock F
+GLIBC_2.1 pthread_rwlock_trywrlock F
+GLIBC_2.1 pthread_rwlock_unlock F
+GLIBC_2.1 pthread_rwlock_wrlock F
+GLIBC_2.1 pthread_rwlockattr_destroy F
+GLIBC_2.1 pthread_rwlockattr_getkind_np F
+GLIBC_2.1 pthread_rwlockattr_getpshared F
+GLIBC_2.1 pthread_rwlockattr_init F
+GLIBC_2.1 pthread_rwlockattr_setkind_np F
+GLIBC_2.1 pthread_rwlockattr_setpshared F
+GLIBC_2.1 pthread_setconcurrency F
+GLIBC_2.1 sem_destroy F
+GLIBC_2.1 sem_getvalue F
+GLIBC_2.1 sem_init F
+GLIBC_2.1 sem_post F
+GLIBC_2.1 sem_trywait F
+GLIBC_2.1 sem_wait F
+GLIBC_2.1.1 GLIBC_2.1.1 A
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
+GLIBC_2.1.1 sem_unlink F
+GLIBC_2.1.2 GLIBC_2.1.2 A
+GLIBC_2.1.2 __vfork F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_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/sparc32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
new file mode 100644
index 0000000000..4d50e7c8c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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 0x54
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x228
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x40
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
new file mode 100644
index 0000000000..07056199bc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -0,0 +1,50 @@
+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.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/sparc32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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/sparc32/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
new file mode 100644
index 0000000000..c9786fd6ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
@@ -0,0 +1,27 @@
+libc.so: _Q_add ?
+libc.so: _Q_cmp ?
+libc.so: _Q_div ?
+libc.so: _Q_feq ?
+libc.so: _Q_fge ?
+libc.so: _Q_fle ?
+libc.so: _Q_flt ?
+libc.so: _Q_fne ?
+libc.so: _Q_itoq ?
+libc.so: _Q_mul ?
+libc.so: _Q_sub ?
+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/sparc32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c
new file mode 100644
index 0000000000..a88f5a784a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/lockf64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c
new file mode 100644
index 0000000000..2371cd9719
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c
@@ -0,0 +1,2 @@
+#include <sysdeps/unix/sysv/linux/i386/lxstat.c>
+
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
new file mode 100644
index 0000000000..2756bf5346
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
@@ -0,0 +1,92 @@
+/* Create new context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <stdarg.h>
+#include <stdint.h>
+#include <ucontext.h>
+
+/* Sets up the outgoing arguments and the program counter for a user
+   context for the requested function call.
+
+   Returning to the correct parent context is pretty simple on
+   Sparc.  We only need to link up the register windows correctly.
+   Since global registers are clobbered by calls, we need not be
+   concerned about those, and thus is all could be worked out without
+   using a trampoline.
+
+   Except that we must deal with the signal mask, thus a trampoline
+   is unavoidable. 32-bit stackframe layout:
+	      +-----------------------------------------+
+	      | 7th and further parameters		|
+	      +-----------------------------------------+
+	      | backup storage for initial 6 parameters |
+	      +-----------------------------------------+
+	      | struct return pointer			|
+	      +-----------------------------------------+
+	      | 8 incoming registers			|
+	      +-----------------------------------------+
+	      | 8 local registers			|
+     %sp -->  +-----------------------------------------+
+
+*/
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __start_context (void);
+  unsigned long int *sp;
+  va_list ap;
+  int i;
+
+  sp = (unsigned long int *) (ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+  sp -= 16 + 7 + argc;
+  sp = (unsigned long int *) (((uintptr_t) sp) & ~(8 - 1));
+
+  for (i = 0; i < 8; i++)
+    sp[i + 8] = ucp->uc_mcontext.gregs[REG_O0 + i];
+
+  /* The struct return pointer is essentially unused, so we can
+     place the link there.  */
+  sp[16] = (unsigned long int) ucp->uc_link;
+
+  va_start (ap, argc);
+
+  /* Fill in outgoing arguments, including those which will
+     end up being passed on the stack.  */
+  for (i = 0; i < argc; i++)
+    {
+      unsigned long int arg = va_arg (ap, unsigned long int);
+      if (i < 6)
+	ucp->uc_mcontext.gregs[REG_O0 + i] = arg;
+      else
+	sp[i + 23 - 6] = arg;
+    }
+
+  va_end (ap);
+
+  ucp->uc_mcontext.gregs[REG_O6] = (unsigned long int) sp;
+
+  ucp->uc_mcontext.gregs[REG_O7] = ((unsigned long int) __start_context) - 8;
+
+  ucp->uc_mcontext.gregs[REG_PC] = (unsigned long int) func;
+  ucp->uc_mcontext.gregs[REG_nPC] = ucp->uc_mcontext.gregs[REG_PC] + 4;
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h
new file mode 100644
index 0000000000..bd985cc59c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h
@@ -0,0 +1,8 @@
+/* ABI version for long double switch.
+   This is used by the Versions and math_ldbl_opt.h files in
+   sysdeps/ieee754/ldbl-opt/.  It gives the ABI version where
+   long double == double was replaced with proper long double
+   for libm *l functions and libc functions using long double.  */
+
+#define NLDBL_VERSION			GLIBC_2.4
+#define LONG_DOUBLE_COMPAT_VERSION	GLIBC_2_4
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S
new file mode 100644
index 0000000000..5d06aadbe7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S
@@ -0,0 +1,39 @@
+/* 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. */
+	mov	SYS_ify(pipe),%g1
+	ta	0x10
+	bcc	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/sparc32/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
new file mode 100644
index 0000000000..44b655a964
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
@@ -0,0 +1,28 @@
+/* Low-level statistical profiling support function.  Linux/SPARC 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->si_regs.pc);
+}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c
new file mode 100644
index 0000000000..2ea26dd409
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c
new file mode 100644
index 0000000000..9f54f897e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
new file mode 100644
index 0000000000..62485e8431
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
@@ -0,0 +1,335 @@
+/* Dump registers.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 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:
+
+ PSR: XXXXXXXX PC: XXXXXXXX NPC: XXXXXXXX   Y: XXXXXXXX
+ g0: 00000000  g1: XXXXXXXX  g2: XXXXXXXX  g3: XXXXXXXX
+ g4: XXXXXXXX  g5: XXXXXXXX  g6: XXXXXXXX  g7: XXXXXXXX
+ o0: XXXXXXXX  o1: XXXXXXXX  o2: XXXXXXXX  o3: XXXXXXXX
+ o4: XXXXXXXX  o5: XXXXXXXX  sp: XXXXXXXX  o7: XXXXXXXX
+ l0: XXXXXXXX  l1: XXXXXXXX  l2: XXXXXXXX  l3: XXXXXXXX
+ l4: XXXXXXXX  l5: XXXXXXXX  l6: XXXXXXXX  l7: XXXXXXXX
+ i0: XXXXXXXX  i1: XXXXXXXX  i2: XXXXXXXX  i3: XXXXXXXX
+ i4: XXXXXXXX  i5: XXXXXXXX  fp: XXXXXXXX  i7: XXXXXXXX
+
+ followed on sun4, sun4c, sun4d, sun4m by:
+
+ Old mask: XXXXXXXX FSR: XXXXXXXX FPQ: XXXXXXXX
+  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
+
+ and on sun4u by:
+
+ Old mask: XXXXXXXX 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';
+}
+
+struct __siginfo_sparc32_fpu
+{
+  unsigned int si_float_regs[32];
+  unsigned int si_fsr;
+  unsigned int si_fpq;
+};
+struct __siginfo_sparc64_fpu
+{
+  unsigned int si_float_regs[64];
+  unsigned int si_xfsr;
+  unsigned int si_fsr;
+  unsigned int _pad1;
+  unsigned int si_gsr;
+  unsigned int _pad2;
+  unsigned int si_fprs;
+};
+
+static void
+register_dump (int fd, SIGCONTEXT ctx)
+{
+  char regs[36][8];
+  char fregs[68][8];
+  struct iovec iov[150];
+  size_t nr = 0;
+  int i;
+  unsigned int *r = (unsigned int *)
+    ctx->si_regs.u_regs[14];
+
+#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->si_regs.psr, regs[0], 8);
+  hexvalue (ctx->si_regs.pc, regs[1], 8);
+  hexvalue (ctx->si_regs.npc, regs[2], 8);
+  hexvalue (ctx->si_regs.y, regs[3], 8);
+  for (i = 1; i <= 15; i++)
+    hexvalue (ctx->si_regs.u_regs[i], regs[3+i], 8);
+  for (i = 0; i <= 15; i++)
+    hexvalue (r[i], regs[19+i], 8);
+  hexvalue (ctx->si_mask, regs[35], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n PSR: ");
+  ADD_MEM (regs[0], 8);
+  ADD_STRING (" PC: ");
+  ADD_MEM (regs[1], 8);
+  ADD_STRING (" NPC: ");
+  ADD_MEM (regs[2], 8);
+  ADD_STRING ("   Y: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n g0: 00000000 g1: ");
+  ADD_MEM (regs[4], 8);
+  ADD_STRING ("  g2: ");
+  ADD_MEM (regs[5], 8);
+  ADD_STRING ("  g3: ");
+  ADD_MEM (regs[6], 8);
+  ADD_STRING ("\n g4: ");
+  ADD_MEM (regs[7], 8);
+  ADD_STRING ("  g5: ");
+  ADD_MEM (regs[8], 8);
+  ADD_STRING ("  g6: ");
+  ADD_MEM (regs[9], 8);
+  ADD_STRING ("  g7: ");
+  ADD_MEM (regs[10], 8);
+  ADD_STRING ("\n o0: ");
+  ADD_MEM (regs[11], 8);
+  ADD_STRING ("  o1: ");
+  ADD_MEM (regs[12], 8);
+  ADD_STRING ("  o2: ");
+  ADD_MEM (regs[13], 8);
+  ADD_STRING ("  o3: ");
+  ADD_MEM (regs[14], 8);
+  ADD_STRING ("\n o4: ");
+  ADD_MEM (regs[15], 8);
+  ADD_STRING ("  o5: ");
+  ADD_MEM (regs[16], 8);
+  ADD_STRING ("  sp: ");
+  ADD_MEM (regs[17], 8);
+  ADD_STRING ("  o7: ");
+  ADD_MEM (regs[18], 8);
+  ADD_STRING ("\n l0: ");
+  ADD_MEM (regs[19], 8);
+  ADD_STRING ("  l1: ");
+  ADD_MEM (regs[20], 8);
+  ADD_STRING ("  l2: ");
+  ADD_MEM (regs[21], 8);
+  ADD_STRING ("  l3: ");
+  ADD_MEM (regs[22], 8);
+  ADD_STRING ("\n l4: ");
+  ADD_MEM (regs[23], 8);
+  ADD_STRING ("  l5: ");
+  ADD_MEM (regs[24], 8);
+  ADD_STRING ("  l6: ");
+  ADD_MEM (regs[25], 8);
+  ADD_STRING ("  l7: ");
+  ADD_MEM (regs[26], 8);
+  ADD_STRING ("\n i0: ");
+  ADD_MEM (regs[27], 8);
+  ADD_STRING ("  i1: ");
+  ADD_MEM (regs[28], 8);
+  ADD_STRING ("  i2: ");
+  ADD_MEM (regs[29], 8);
+  ADD_STRING ("  i3: ");
+  ADD_MEM (regs[30], 8);
+  ADD_STRING ("\n i4: ");
+  ADD_MEM (regs[31], 8);
+  ADD_STRING ("  i5: ");
+  ADD_MEM (regs[32], 8);
+  ADD_STRING ("  fp: ");
+  ADD_MEM (regs[33], 8);
+  ADD_STRING ("  i7: ");
+  ADD_MEM (regs[34], 8);
+  ADD_STRING ("\n\n Old mask: ");
+  ADD_MEM (regs[35], 8);
+
+  if ((ctx->si_regs.psr & 0xff000000) == 0xff000000)
+    {
+      struct __siginfo_sparc64_fpu *f;
+
+      f = *(struct __siginfo_sparc64_fpu **) (ctx + 1);
+      if (f != NULL)
+	{
+	  for (i = 0; i < 64; i++)
+	    hexvalue (f->si_float_regs[i], fregs[i], 8);
+	  hexvalue (f->si_xfsr, fregs[64], 8);
+	  hexvalue (f->si_fsr, fregs[65], 8);
+	  hexvalue (f->si_gsr, fregs[66], 2);
+	  hexvalue (f->si_fprs, fregs[67], 1);
+	  ADD_STRING (" XFSR: ");
+	  ADD_MEM (fregs[64], 8);
+	  ADD_MEM (fregs[65], 8);
+	  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);
+	}
+    }
+  else
+    {
+      struct __siginfo_sparc32_fpu *f;
+
+      f = *(struct __siginfo_sparc32_fpu **) (ctx + 1);
+      if (f != NULL)
+	{
+	  for (i = 0; i < 32; i++)
+	    hexvalue (f->si_float_regs[i], fregs[i], 8);
+	  hexvalue (f->si_fsr, fregs[64], 8);
+	  hexvalue (f->si_fpq, fregs[65], 8);
+	  ADD_STRING (" FSR: ");
+	  ADD_MEM (fregs[64], 8);
+	  ADD_STRING (" FPQ: ");
+	  ADD_MEM (fregs[65], 8);
+	  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 ("\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/sparc32/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c
new file mode 100644
index 0000000000..506fd8877c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
new file mode 100644
index 0000000000..1a5f2de823
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
@@ -0,0 +1,118 @@
+/* Install given context.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <sys/trap.h>
+
+#include "ucontext_i.h"
+
+
+/*  int __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+ENTRY(__setcontext)
+	save	%sp, -112, %sp
+
+	mov	SIG_SETMASK, %o0
+	add	%i0, UC_SIGMASK, %o1
+	clr	%o2
+	mov	8, %o3
+	mov	__NR_rt_sigprocmask, %g1
+	ta	0x10
+
+	/* This is a bit on the expensive side, and we could optimize
+	   the unwind similar to how the 32-bit sparc longjmp code
+	   does if performance of this routine really matters.  */
+	ta	ST_FLUSH_WINDOWS
+
+	ldub	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN], %g1
+	cmp	%g1, 0
+	be	1f
+	 nop
+	ld	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_FSR], %fsr
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D0], %f0
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D2], %f2
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D4], %f4
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D6], %f6
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D8], %f8
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D10], %f10
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D12], %f12
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D14], %f14
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D16], %f16
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D18], %f18
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D20], %f20
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D22], %f22
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D24], %f24
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D26], %f26
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D28], %f28
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D30], %f30
+1:
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y], %g1
+	wr	%g1, 0x0, %y
+
+	/* We specifically do not restore %g1 since we need it here as
+	   a temporary.  */
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2], %g2
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3], %g3
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4], %g4
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5], %g5
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6], %g6
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7], %g7
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1], %i1
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2], %i2
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3], %i3
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4], %i4
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5], %i5
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6], %i6
+	restore
+	ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_O7], %o7
+	ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_PC], %g1
+	jmpl	%g1, %g0
+	 ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_O0], %o0
+END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
+
+/* 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)
+	ld	[%sp + (16 * 4)], %g1
+	cmp	%g1, 0
+	be,a	1f
+	 clr	%o0
+	call	__setcontext
+	 mov	%g1, %o0
+	/* If this returns (which can happen if the syscall fails) we'll
+	   exit the program with the return error value (-1).  */
+1:	call	HIDDEN_JUMPTARGET(exit)
+	 nop
+	/* The 'exit' call should never return.  In case it does cause
+	   the process to terminate.  */
+	unimp
+END(__start_context)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
new file mode 100644
index 0000000000..ca5d15b1df
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
@@ -0,0 +1 @@
+ld=ld-linux.so.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
new file mode 100644
index 0000000000..295bfb2d15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -0,0 +1,88 @@
+/* POSIX.1 sigaction call for Linux/SPARC.
+   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>, 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 <string.h>
+#include <syscall.h>
+#include <sys/signal.h>
+#include <errno.h>
+#include <kernel_sigaction.h>
+#include <sysdep.h>
+
+static void __rt_sigreturn_stub (void);
+static void __sigreturn_stub (void);
+
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  struct kernel_sigaction kact, koact;
+  unsigned long stub = 0;
+  int ret;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      if (((kact.sa_flags = act->sa_flags) & SA_SIGINFO) != 0)
+	stub = (unsigned long) &__rt_sigreturn_stub;
+      else
+	stub = (unsigned long) &__sigreturn_stub;
+      stub -= 8;
+      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	0x10\n\t"
+	   : /* no outputs */
+	   : "i" (__NR_rt_sigreturn));
+}
+
+static
+inhibit_stack_protector
+void
+__sigreturn_stub (void)
+{
+  __asm__ ("mov %0, %%g1\n\t"
+	   "ta	0x10\n\t"
+	   : /* no outputs */
+	   : "i" (__NR_sigreturn));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
new file mode 100644
index 0000000000..99cf6ab7f4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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 <jakub@redhat.com>, 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/>.  */
+
+#define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
+#define GET_PC(__ctx)	((void *) ((__ctx)->si_regs.pc))
+#define FIRST_FRAME_POINTER \
+  ({ void *ret;							\
+     asm volatile ("ta 3; add %%fp, 56, %0" : "=r" (ret)); ret; })
+#define ADVANCE_STACK_FRAME(__next) \
+	((void *) (((unsigned *)(__next))+14))
+
+#define GET_STACK(__ctx)	((void *) (__ctx)->si_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/sparc32/sparcv9/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies
new file mode 100644
index 0000000000..70568c5d17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies
@@ -0,0 +1,3 @@
+# We must list this here to move it ahead of the ldbl-opt code.
+sparc/sparc32/sparcv9/fpu
+sparc/sparc32/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies
new file mode 100644
index 0000000000..a380d8a739
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies
@@ -0,0 +1,4 @@
+# We must list this here to move it ahead of the ldbl-opt code.
+sparc/sparc32/sparcv9/fpu/multiarch
+sparc/sparc32/sparcv9/fpu
+sparc/sparc32/fpu
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c
new file mode 100644
index 0000000000..4191085d1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S
new file mode 100644
index 0000000000..7ef57e989b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S
@@ -0,0 +1,118 @@
+/* Save current context and install the given one.
+   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <sys/trap.h>
+
+#include "ucontext_i.h"
+
+
+/* int __swapcontext (ucontext_t *oucp, const ucontext_t *ucp);
+
+  Saves the machine context in oucp such that when it is activated,
+  it appears as if __swapcontext() returned again, restores the
+  machine context in ucp and thereby resumes execution in that
+  context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__swapcontext)
+	save	%sp, -112, %sp
+	ta	ST_FLUSH_WINDOWS
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PSR]
+	add	%i7, 8, %o0
+	st	%o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PC]
+	add	%o0, 4, %o0
+	st	%o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_NPC]
+	rd	%y, %o1
+	st	%o1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y]
+	st	%g1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G1]
+	st	%g2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2]
+	st	%g3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3]
+	st	%g4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4]
+	st	%g5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5]
+	st	%g6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6]
+	st	%g7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7]
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O0]
+	st	%i1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1]
+	st	%i2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2]
+	st	%i3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3]
+	st	%i4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4]
+	st	%i5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5]
+	st	%i6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6]
+	st	%i7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O7]
+	st	%g0, [%i0 + UC_MCONTEXT + MC_GWINS]
+	stb	%g0, [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN]
+	st	%g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_ID]
+	st	%g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_PTR]
+
+	mov	SIG_SETMASK, %o0
+	add	%i1, UC_SIGMASK, %o1
+	add	%i0, UC_SIGMASK, %o2
+	mov	8, %o3
+	mov	__NR_rt_sigprocmask, %g1
+	ta	0x10
+
+	mov	%i1, %i0
+	ldub	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN], %g1
+	cmp	%g1, 0
+	be	1f
+	 nop
+	ld	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_FSR], %fsr
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D0], %f0
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D2], %f2
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D4], %f4
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D6], %f6
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D8], %f8
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D10], %f10
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D12], %f12
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D14], %f14
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D16], %f16
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D18], %f18
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D20], %f20
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D22], %f22
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D24], %f24
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D26], %f26
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D28], %f28
+	ldd	[%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D30], %f30
+1:
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y], %g1
+	wr	%g1, 0x0, %y
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2], %g2
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3], %g3
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4], %g4
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5], %g5
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6], %g6
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7], %g7
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1], %i1
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2], %i2
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3], %i3
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4], %i4
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5], %i5
+	ld	[%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6], %i6
+	restore
+	ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_O7], %o7
+	ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_PC], %g1
+	jmpl	%g1, %g0
+	 ld	[%o0 + UC_MCONTEXT + MC_GREGS + GREG_O0], %o0
+END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S
new file mode 100644
index 0000000000..5a2ea17d8e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S
@@ -0,0 +1,37 @@
+/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+	.globl	__syscall_error
+ENTRY(syscall)
+	mov	%o0, %g1
+	mov	%o1, %o0
+	mov	%o2, %o1
+	mov	%o3, %o2
+	mov	%o4, %o3
+	mov	%o5, %o4
+	ld	[%sp + 92], %o5
+	ta	0x10
+	bcc	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/sparc32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
new file mode 100644
index 0000000000..0b6095ffab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
@@ -0,0 +1,19 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+chown		-	chown32		i:sii	__chown		chown
+lchown		-	lchown32	i:sii	__lchown	lchown
+fchown		-	fchown32	i:iii	__fchown	fchown
+
+getegid		-	getegid32	Ei:	__getegid	getegid
+geteuid		-	geteuid32	Ei:	__geteuid	geteuid
+getgid		-	getgid32	Ei:	__getgid	getgid
+getuid		-	getuid32	Ei:	__getuid	getuid
+getresuid	-	getresuid32	3	getresuid
+getresgid	-	getresgid32	3	getresgid
+getgroups	-	getgroups32	i:ip	__getgroups	getgroups
+
+setfsgid	-	setfsgid32	Ei:i	setfsgid
+setfsuid	-	setfsuid32	Ei:i	setfsuid
+
+prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
+fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
new file mode 100644
index 0000000000..c513212f1e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
@@ -0,0 +1,111 @@
+/* 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;\
+	cmp %g1, 0;				\
+	bne 1f;					\
+.type	__##syscall_name##_nocancel,@function;	\
+.globl	__##syscall_name##_nocancel;		\
+__##syscall_name##_nocancel:			\
+	 mov SYS_ify(syscall_name), %g1;	\
+	ta 0x10;				\
+	bcc 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, -96, %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 0x10;				\
+	bcc 1f;					\
+	 mov %o0, %l1;				\
+	CDISABLE;				\
+	 mov %l0, %o0;				\
+	call __syscall_error;			\
+	 mov %l1, %o0;				\
+	b 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/sparc32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
new file mode 100644
index 0000000000..30aab691e7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
@@ -0,0 +1,147 @@
+/* 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>, January 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_SPARC32_SYSDEP_H
+#define _LINUX_SPARC32_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
+
+#ifdef __ASSEMBLER__
+
+#define LOADSYSCALL(x) mov __NR_##x, %g1
+
+#undef PSEUDO
+#define PSEUDO(name, syscall_name, args)	\
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x10;			\
+	bcc		1f;			\
+	 nop;					\
+	SYSCALL_ERROR_HANDLER			\
+1:
+
+#undef PSEUDO_NOERRNO
+#define PSEUDO_NOERRNO(name, syscall_name, args)\
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x10;
+
+#undef PSEUDO_ERRVAL
+#define PSEUDO_ERRVAL(name, syscall_name, args)	\
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x10;
+
+#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;\
+	ld	[%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;	\
+	ld	[%o2 + %g1], %g1, %tie_ld(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;\
+	ld	[%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	0x10;"							\
+	"bcc	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",		\
+	"cc", "memory"
+
+#endif	/* __ASSEMBLER__ */
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(dreg, reg, tmpreg) \
+  ld	[%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/sparc/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
new file mode 100644
index 0000000000..544030ce8b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
@@ -0,0 +1,61 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+UC_FLAGS	offsetof (ucontext_t, uc_flags)
+UC_LINK		offsetof (ucontext_t, uc_link)
+UC_SIGMASK	offsetof (ucontext_t, uc_sigmask)
+UC_STACK	offsetof (ucontext_t, uc_stack)
+UC_MCONTEXT	offsetof (ucontext_t, uc_mcontext)
+MC_GREGS	offsetof (mcontext_t, gregs)
+MC_GWINS	offsetof (mcontext_t, gwins)
+MC_FPREGS	offsetof (mcontext_t, fpregs)
+MC_XRS		offsetof (mcontext_t, xrs)
+MC_FILLER	offsetof (mcontext_t, filler)
+GREG_PSR	(REG_PSR * sizeof(greg_t))
+GREG_PC		(REG_PC * sizeof(greg_t))
+GREG_NPC	(REG_nPC * sizeof(greg_t))
+GREG_Y		(REG_Y * sizeof(greg_t))
+GREG_G1		(REG_G1 * sizeof(greg_t))
+GREG_G2		(REG_G2 * sizeof(greg_t))
+GREG_G3		(REG_G3 * sizeof(greg_t))
+GREG_G4		(REG_G4 * sizeof(greg_t))
+GREG_G5		(REG_G5 * sizeof(greg_t))
+GREG_G6		(REG_G6 * sizeof(greg_t))
+GREG_G7		(REG_G7 * sizeof(greg_t))
+GREG_O0		(REG_O0 * sizeof(greg_t))
+GREG_O1		(REG_O1 * sizeof(greg_t))
+GREG_O2		(REG_O2 * sizeof(greg_t))
+GREG_O3		(REG_O3 * sizeof(greg_t))
+GREG_O4		(REG_O4 * sizeof(greg_t))
+GREG_O5		(REG_O5 * sizeof(greg_t))
+GREG_O6		(REG_O6 * sizeof(greg_t))
+GREG_O7		(REG_O7 * sizeof(greg_t))
+FPU_D0		offsetof (fpregset_t, fpu_fr.fpu_dregs[0])
+FPU_D2		offsetof (fpregset_t, fpu_fr.fpu_dregs[1])
+FPU_D4		offsetof (fpregset_t, fpu_fr.fpu_dregs[2])
+FPU_D6		offsetof (fpregset_t, fpu_fr.fpu_dregs[3])
+FPU_D8		offsetof (fpregset_t, fpu_fr.fpu_dregs[4])
+FPU_D10		offsetof (fpregset_t, fpu_fr.fpu_dregs[5])
+FPU_D12		offsetof (fpregset_t, fpu_fr.fpu_dregs[6])
+FPU_D14		offsetof (fpregset_t, fpu_fr.fpu_dregs[7])
+FPU_D16		offsetof (fpregset_t, fpu_fr.fpu_dregs[8])
+FPU_D18		offsetof (fpregset_t, fpu_fr.fpu_dregs[9])
+FPU_D20		offsetof (fpregset_t, fpu_fr.fpu_dregs[10])
+FPU_D22		offsetof (fpregset_t, fpu_fr.fpu_dregs[11])
+FPU_D24		offsetof (fpregset_t, fpu_fr.fpu_dregs[12])
+FPU_D26		offsetof (fpregset_t, fpu_fr.fpu_dregs[13])
+FPU_D28		offsetof (fpregset_t, fpu_fr.fpu_dregs[14])
+FPU_D30		offsetof (fpregset_t, fpu_fr.fpu_dregs[15])
+FPU_Q		offsetof (fpregset_t, fpu_q)
+FPU_FSR		offsetof (fpregset_t, fpu_fsr)
+FPU_QCNT	offsetof (fpregset_t, fpu_qcnt)
+FPU_Q_ENTRY_SZ	offsetof (fpregset_t, fpu_q_entrysize)
+FPU_EN		offsetof (fpregset_t, fpu_en)
+XRS_ID		offsetof (xrs_t, xrs_id)
+XRS_PTR		offsetof (xrs_t, xrs_ptr)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S
new file mode 100644
index 0000000000..fb43b1766f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/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	0x10
+	bcc	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/sparc32/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c
new file mode 100644
index 0000000000..e9869f5508
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/xstat.c>
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;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/procfs.h
new file mode 100644
index 0000000000..e41331ac7c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/procfs.h
@@ -0,0 +1,210 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <sys/user.h>
+#include <bits/wordsize.h>
+
+__BEGIN_DECLS
+
+#if __WORDSIZE == 64
+
+#define ELF_NGREG		36
+
+typedef struct
+  {
+    unsigned long	pr_regs[32];
+    unsigned long	pr_fsr;
+    unsigned long	pr_gsr;
+    unsigned long	pr_fprs;
+  } elf_fpregset_t;
+
+#else /* sparc32 */
+
+#define ELF_NGREG		38
+
+typedef struct
+  {
+    union
+      {
+	unsigned long	pr_regs[32];
+	double		pr_dregs[16];
+      }			pr_fr;
+    unsigned long	__glibc_reserved;
+    unsigned long	pr_fsr;
+    unsigned char	pr_qcnt;
+    unsigned char	pr_q_entrysize;
+    unsigned char	pr_en;
+    unsigned int	pr_q[64];
+  } elf_fpregset_t;
+
+#endif /* sparc32 */
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+#if __WORDSIZE == 64
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+#else
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+#endif
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+#if __WORDSIZE == 64
+
+/* Provide 32-bit variants so that BFD can read 32-bit
+   core files.  */
+#define ELF_NGREG32		38
+typedef struct
+  {
+    union
+      {
+	unsigned int	pr_regs[32];
+	double		pr_dregs[16];
+      }			pr_fr;
+    unsigned int	__glibc_reserved;
+    unsigned int	pr_fsr;
+    unsigned char	pr_qcnt;
+    unsigned char	pr_q_entrysize;
+    unsigned char	pr_en;
+    unsigned int	pr_q[64];
+  } elf_fpregset_t32;
+
+typedef unsigned int elf_greg_t32;
+typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32];
+
+struct elf_prstatus32
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned int pr_sigpend;	/* Set of pending signals.  */
+    unsigned int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct
+      {
+	int tv_sec, tv_usec;
+      } pr_utime,			/* User time.  */
+        pr_stime,			/* System time.  */
+        pr_cutime,			/* Cumulative user time.  */
+        pr_cstime;			/* Cumulative system time.  */
+    elf_gregset_t32 pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+struct elf_prpsinfo32
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+typedef elf_gregset_t32 prgregset32_t;
+typedef elf_fpregset_t32 prfpregset32_t;
+
+typedef struct elf_prstatus32 prstatus32_t;
+typedef struct elf_prpsinfo32 prpsinfo32_t;
+
+#endif  /* sparc64 */
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
new file mode 100644
index 0000000000..f60549427f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
@@ -0,0 +1,281 @@
+/* `ptrace' debugger support interface.  Linux/SPARC version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+#include <bits/wordsize.h>
+
+/* Linux/SPARC kernels up to 2.3.18 do not care much
+   about what namespace polution, so use a kludge now.  */
+#undef PTRACE_GETREGS
+#undef PTRACE_SETREGS
+#undef PTRACE_GETFPREGS
+#undef PTRACE_SETFPREGS
+#undef PTRACE_READDATA
+#undef PTRACE_WRITEDATA
+#undef PTRACE_READTEXT
+#undef PTRACE_WRITETEXT
+#undef PTRACE_SUNDETACH
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process.
+     This is not supported on all machines.  */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 11,
+#define PT_DETACH PTRACE_DETACH
+
+  /* This define is needed for older programs which were
+     trying to work around sparc-linux ptrace nastiness.  */
+#define PTRACE_SUNDETACH PTRACE_DETACH
+
+#if __WORDSIZE == 32
+
+  /* Get all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETREGS = 12,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETREGS = 13,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Get all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETFPREGS = 14,
+#define PT_GETFPREGS PTRACE_GETFPREGS
+
+  /* Set all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETFPREGS = 15,
+#define PT_SETFPREGS PTRACE_SETFPREGS
+
+#endif
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Write several bytes at a time. */
+  PTRACE_WRITEDATA = 17,
+#define PTRACE_WRITEDATA PTRACE_WRITEDATA
+
+  /* Read several bytes at a time. */
+  PTRACE_READTEXT = 18,
+#define PTRACE_READTEXT PTRACE_READTEXT
+#define PTRACE_READDATA PTRACE_READTEXT
+
+  /* Write several bytes at a time. */
+  PTRACE_WRITETEXT = 19,
+#define PTRACE_WRITETEXT PTRACE_WRITETEXT
+
+#if __WORDSIZE == 64
+
+  /* Get all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETREGS = 22,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETREGS = 23,
+#define PT_SETREGS PTRACE_SETREGS
+
+#endif
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PTRACE_SYSCALL PTRACE_SYSCALL
+
+#if __WORDSIZE == 64
+
+  /* Get all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETFPREGS = 25,
+#define PT_GETFPREGS PTRACE_GETFPREGS
+
+  /* Set all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETFPREGS = 26,
+#define PT_SETFPREGS PTRACE_SETFPREGS
+
+#endif
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/trap.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/trap.h
new file mode 100644
index 0000000000..99b9c60e06
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/trap.h
@@ -0,0 +1,7 @@
+/* Include Linux/SPARC specific trap definitions.  */
+#ifndef _SYS_TRAP_H
+#define _SYS_TRAP_H	1
+
+#include <asm/traps.h>
+
+#endif /* sys/trap.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
new file mode 100644
index 0000000000..7ce5f2b881
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
@@ -0,0 +1,274 @@
+/* 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 _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+#include <bits/wordsize.h>
+
+
+#if __WORDSIZE == 64
+
+#define MC_TSTATE	0
+#define MC_PC		1
+#define MC_NPC		2
+#define MC_Y		3
+#define MC_G1		4
+#define MC_G2		5
+#define MC_G3		6
+#define MC_G4		7
+#define MC_G5		8
+#define MC_G6		9
+#define MC_G7		10
+#define MC_O0		11
+#define MC_O1		12
+#define MC_O2		13
+#define MC_O3		14
+#define MC_O4		15
+#define MC_O5		16
+#define MC_O6		17
+#define MC_O7		18
+#define MC_NGREG	19
+
+typedef unsigned long mc_greg_t;
+typedef mc_greg_t mc_gregset_t[MC_NGREG];
+
+#define MC_MAXFPQ	16
+struct mc_fq {
+	unsigned long	*mcfq_addr;
+	unsigned int	mcfq_insn;
+};
+
+struct mc_fpu {
+	union {
+		unsigned int	sregs[32];
+		unsigned long	dregs[32];
+		long double	qregs[16];
+	} mcfpu_fregs;
+	unsigned long	mcfpu_fsr;
+	unsigned long	mcfpu_fprs;
+	unsigned long	mcfpu_gsr;
+	struct mc_fq	*mcfpu_fq;
+	unsigned char	mcfpu_qcnt;
+	unsigned char	mcfpu_qentsz;
+	unsigned char	mcfpu_enab;
+};
+typedef struct mc_fpu mc_fpu_t;
+
+typedef struct {
+	mc_gregset_t	mc_gregs;
+	mc_greg_t	mc_fp;
+	mc_greg_t	mc_i7;
+	mc_fpu_t	mc_fpregs;
+} mcontext_t;
+
+typedef struct ucontext {
+	struct ucontext		*uc_link;
+	unsigned long		uc_flags;
+	unsigned long		__uc_sigmask;
+	mcontext_t		uc_mcontext;
+	stack_t			uc_stack;
+	sigset_t		uc_sigmask;
+} ucontext_t;
+
+#endif /* __WORDISIZE == 64 */
+
+/*
+ * Location of the users' stored registers relative to R0.
+ * Usage is as an index into a gregset_t array or as u.u_ar0[XX].
+ */
+#define REG_PSR (0)
+#define REG_PC  (1)
+#define REG_nPC (2)
+#define REG_Y   (3)
+#define REG_G1  (4)
+#define REG_G2  (5)
+#define REG_G3  (6)
+#define REG_G4  (7)
+#define REG_G5  (8)
+#define REG_G6  (9)
+#define REG_G7  (10)
+#define REG_O0  (11)
+#define REG_O1  (12)
+#define REG_O2  (13)
+#define REG_O3  (14)
+#define REG_O4  (15)
+#define REG_O5  (16)
+#define REG_O6  (17)
+#define REG_O7  (18)
+
+/*
+ * A gregset_t is defined as an array type for compatibility with the reference
+ * source. This is important due to differences in the way the C language
+ * treats arrays and structures as parameters.
+ *
+ * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)),
+ * but that the ABI defines it absolutely to be 21 (resp. 19).
+ */
+
+#if __WORDSIZE == 64
+
+#define REG_ASI	(19)
+#define REG_FPRS (20)
+
+#define NGREG   21
+typedef long greg_t;
+
+#else /* __WORDSIZE == 32 */
+
+#define NGREG   19
+typedef int greg_t;
+
+#endif /* __WORDSIZE == 32 */
+
+typedef greg_t  gregset_t[NGREG];
+
+/*
+ * The following structures define how a register window can appear on the
+ * stack. This structure is available (when required) through the `gwins'
+ * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the
+ * maximum number of outstanding regiters window defined in the SPARC
+ * architecture (*not* implementation).
+ */
+#define SPARC_MAXREGWINDOW	31	/* max windows in SPARC arch. */
+struct  rwindow
+  {
+    greg_t rw_local[8];			/* locals */
+    greg_t rw_in[8];			/* ins */
+  };
+
+#define rw_fp   rw_in[6]		/* frame pointer */
+#define rw_rtn  rw_in[7]		/* return address */
+
+typedef struct gwindows
+  {
+    int            wbcnt;
+    int           *spbuf[SPARC_MAXREGWINDOW];
+    struct rwindow wbuf[SPARC_MAXREGWINDOW];
+  } gwindows_t;
+
+/*
+ * Floating point definitions.
+ */
+
+#define MAXFPQ	16	/* max # of fpu queue entries currently supported */
+
+/*
+ * struct fq defines the minimal format of a floating point instruction queue
+ * entry. The size of entries in the floating point queue are implementation
+ * dependent. The union FQu is guarenteed to be the first field in any ABI
+ * conformant system implementation. Any additional fields provided by an
+ * implementation should not be used applications designed to be ABI conformant. */
+
+struct fpq
+  {
+    unsigned long *fpq_addr;		/* address */
+    unsigned long fpq_instr;		/* instruction */
+  };
+
+struct fq
+  {
+    union				/* FPU inst/addr queue */
+      {
+        double whole;
+        struct fpq fpq;
+      } FQu;
+  };
+
+#define FPU_REGS_TYPE           unsigned
+#define FPU_DREGS_TYPE          unsigned long long
+#define V7_FPU_FSR_TYPE         unsigned
+#define V9_FPU_FSR_TYPE         unsigned long long
+#define V9_FPU_FPRS_TYPE        unsigned
+
+#if __WORDSIZE == 64
+
+typedef struct fpu
+  {
+    union {				/* FPU floating point regs */
+      unsigned		fpu_regs[32];	/* 32 singles */
+      double            fpu_dregs[32];	/* 32 doubles */
+      long double	fpu_qregs[16];  /* 16 quads */
+    } fpu_fr;
+    struct fq       *fpu_q;		/* ptr to array of FQ entries */
+    unsigned long   fpu_fsr;		/* FPU status register */
+    unsigned char   fpu_qcnt;		/* # of entries in saved FQ */
+    unsigned char   fpu_q_entrysize;	/* # of bytes per FQ entry */
+    unsigned char   fpu_en;		/* flag signifying fpu in use */
+  } fpregset_t;
+
+#else /* __WORDSIZE == 32 */
+
+typedef struct fpu
+  {
+    union {				/* FPU floating point regs */
+      __extension__ unsigned long long fpu_regs[32];	/* 32 singles */
+      double             fpu_dregs[16];	/* 16 doubles */
+    } fpu_fr;
+    struct fq       *fpu_q;		/* ptr to array of FQ entries */
+    unsigned        fpu_fsr;		/* FPU status register */
+    unsigned char   fpu_qcnt;		/* # of entries in saved FQ */
+    unsigned char   fpu_q_entrysize;	/* # of bytes per FQ entry */
+    unsigned char   fpu_en;		/* flag signifying fpu in use */
+  } fpregset_t;
+
+/*
+ * The following structure is for associating extra register state with
+ * the ucontext structure and is kept within the uc_mcontext filler area.
+ *
+ * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to
+ * extra register state. The exact format of the extra register state
+ * pointed to by xrs_ptr is platform-dependent.
+ *
+ * Note: a platform may or may not manage extra register state.
+ */
+typedef struct
+  {
+    unsigned int xrs_id;		/* indicates xrs_ptr validity */
+    void *       xrs_ptr;		/* ptr to extra reg state */
+  } xrs_t;
+
+#define XRS_ID	0x78727300		/* the string "xrs" */
+
+typedef struct
+  {
+    gregset_t   gregs;		/* general register set */
+    gwindows_t  *gwins;		/* POSSIBLE pointer to register windows */
+    fpregset_t  fpregs;		/* floating point register set */
+    xrs_t       xrs;		/* POSSIBLE extra register state association */
+    long        filler[19];
+  } mcontext_t;
+
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long   uc_flags;
+    struct ucontext *uc_link;
+    sigset_t	    uc_sigmask;
+    stack_t         uc_stack;
+    mcontext_t      uc_mcontext;
+  } ucontext_t;
+
+#endif /* __WORDSIZE == 32 */
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/user.h
new file mode 100644
index 0000000000..e9e41ed64e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sys/user.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+#include <stddef.h>
+
+struct sunos_regs
+{
+  unsigned int psr, pc, npc, y;
+  unsigned int regs[15];
+};
+
+struct sunos_fpqueue
+{
+  unsigned int *addr;
+  unsigned int inst;
+};
+
+struct sunos_fp
+{
+  union
+    {
+      unsigned int regs[32];
+      double reg_dbls[16];
+    } fregs;
+  unsigned int fsr;
+  unsigned int flags;
+  unsigned int extra;
+  unsigned int fpq_count;
+  struct sunos_fpqueue fpq[16];
+};
+
+struct sunos_fpu
+{
+  struct sunos_fp fpstatus;
+};
+
+/* The SunOS core file header layout. */
+struct user {
+  unsigned int magic;
+  unsigned int len;
+  struct sunos_regs regs;
+  struct
+    {
+      unsigned char a_dynamic :1;
+      unsigned char a_toolversion :7;
+      unsigned char a_machtype;
+      unsigned short a_info;
+      unsigned int a_text;
+      unsigned int a_data;
+      unsigned int a_bss;
+      unsigned int a_syms;
+      unsigned int a_entry;
+      unsigned int a_trsize;
+      unsigned int a_drsize;
+    } uexec;
+  int           signal;
+  size_t        u_tsize;
+  size_t        u_dsize;
+  size_t        u_ssize;
+  char          u_comm[17];
+  struct sunos_fpu fpu;
+  unsigned int  sigcode;
+};
+
+#define NBPG			0x2000
+#define UPAGES			1
+#define SUNOS_CORE_MAGIC	0x080456
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.c
new file mode 100644
index 0000000000..f86414570d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/powerpc/sysdep.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.h
new file mode 100644
index 0000000000..3400f6959a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sysdep.h
@@ -0,0 +1,185 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_SPARC_SYSDEP_H
+#define _LINUX_SPARC_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/sparc/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+#define	ret		retl; nop
+#define	ret_NOERRNO	retl; nop
+#define	ret_ERRVAL	retl; nop
+#define	r0		%o0
+#define	r1		%o1
+#define	MOVE(x,y)	mov x, y
+
+#else	/* __ASSEMBLER__ */
+
+#undef INLINE_SYSCALL
+#define INLINE_SYSCALL(name, nr, args...) 				\
+({	INTERNAL_SYSCALL_DECL(err);  					\
+	unsigned long resultvar = INTERNAL_SYSCALL(name, err, nr, args);\
+	if (INTERNAL_SYSCALL_ERROR_P (resultvar, err))			\
+	  {		     			       		   	\
+	    __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err));	\
+	    resultvar = (unsigned long) -1;				\
+	  } 	      							\
+	(long) resultvar;						\
+})
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) \
+	register long err __asm__("g1");
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
+  inline_syscall##nr(__SYSCALL_STRING, err, __NR_##name, args)
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  inline_syscall##nr(__SYSCALL_STRING, err, name, args)
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((void) (val), __builtin_expect((err) != 0, 0))
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+#define inline_syscall0(string,err,name,dummy...)			\
+({									\
+	register long __o0 __asm__ ("o0");				\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err) :					\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall1(string,err,name,arg1)				\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0) :			\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall2(string,err,name,arg1,arg2)			\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0), "r" (__o1) :		\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall3(string,err,name,arg1,arg2,arg3)			\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	register long __o2 __asm__ ("o2") = (long)(arg3);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0), "r" (__o1),		\
+			  "r" (__o2) :					\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall4(string,err,name,arg1,arg2,arg3,arg4)		\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	register long __o2 __asm__ ("o2") = (long)(arg3);		\
+	register long __o3 __asm__ ("o3") = (long)(arg4);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0), "r" (__o1),		\
+			  "r" (__o2), "r" (__o3) :			\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall5(string,err,name,arg1,arg2,arg3,arg4,arg5)	\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	register long __o2 __asm__ ("o2") = (long)(arg3);		\
+	register long __o3 __asm__ ("o3") = (long)(arg4);		\
+	register long __o4 __asm__ ("o4") = (long)(arg5);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0), "r" (__o1),		\
+			  "r" (__o2), "r" (__o3), "r" (__o4) :		\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define inline_syscall6(string,err,name,arg1,arg2,arg3,arg4,arg5,arg6)	\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	register long __o2 __asm__ ("o2") = (long)(arg3);		\
+	register long __o3 __asm__ ("o3") = (long)(arg4);		\
+	register long __o4 __asm__ ("o4") = (long)(arg5);		\
+	register long __o5 __asm__ ("o5") = (long)(arg6);		\
+	err = name;							\
+	__asm __volatile (string : "=r" (err), "=r" (__o0) :		\
+			  "0" (err), "1" (__o0), "r" (__o1),		\
+			  "r" (__o2), "r" (__o3), "r" (__o4),		\
+			  "r" (__o5) :					\
+			  __SYSCALL_CLOBBERS);				\
+	__o0;								\
+})
+
+#define INLINE_CLONE_SYSCALL(arg1,arg2,arg3,arg4,arg5)			\
+({									\
+	register long __o0 __asm__ ("o0") = (long)(arg1);		\
+	register long __o1 __asm__ ("o1") = (long)(arg2);		\
+	register long __o2 __asm__ ("o2") = (long)(arg3);		\
+	register long __o3 __asm__ ("o3") = (long)(arg4);		\
+	register long __o4 __asm__ ("o4") = (long)(arg5);		\
+	register long __g1 __asm__ ("g1") = __NR_clone;			\
+	__asm __volatile (__SYSCALL_STRING :				\
+			  "=r" (__g1), "=r" (__o0), "=r" (__o1)	:	\
+			  "0" (__g1), "1" (__o0), "2" (__o1),		\
+			  "r" (__o2), "r" (__o3), "r" (__o4) :		\
+			  __SYSCALL_CLOBBERS);				\
+	if (INTERNAL_SYSCALL_ERROR_P (__o0, __g1))			\
+	  {		     			       		   	\
+	    __set_errno (INTERNAL_SYSCALL_ERRNO (__o0, __g1));		\
+	    __o0 = -1L;			    				\
+	  } 	      							\
+	else								\
+	  { 	      							\
+	    __o0 &= (__o1 - 1);						\
+	  } 	    	    						\
+	__o0;								\
+})
+
+#endif	/* __ASSEMBLER__ */
+
+#endif /* _LINUX_SPARC_SYSDEP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/system.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/system.c
new file mode 100644
index 0000000000..2fc196bf5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/system.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* We have to and actually can handle cancelable system().  The big
+   problem: we have to kill the child process if necessary.  To do
+   this a cleanup handler has to be registered and is has to be able
+   to find the PID of the child.  The main problem is to reliable have
+   the PID when needed.  It is not necessary for the parent thread to
+   return.  It might still be in the kernel when the cancellation
+   request comes.  Therefore we have to use the clone() calls ability
+   to have the kernel write the PID into the user-level variable.  */
+#define FORK() \
+  INLINE_CLONE_SYSCALL (CLONE_PARENT_SETTID | SIGCHLD, 0, &pid, NULL, NULL)
+
+#include "../system.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/spawni.c b/REORG.TODO/sysdeps/unix/sysv/linux/spawni.c
new file mode 100644
index 0000000000..c56f894a82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/spawni.c
@@ -0,0 +1,397 @@
+/* POSIX spawn interface.  Linux version.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <spawn.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <paths.h>
+#include <string.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <sys/param.h>
+#include <sys/mman.h>
+#include <not-cancel.h>
+#include <local-setxid.h>
+#include <shlib-compat.h>
+#include <nptl/pthreadP.h>
+#include <dl-sysdep.h>
+#include <libc-pointer-arith.h>
+#include <ldsodefs.h>
+#include "spawn_int.h"
+
+/* The Linux implementation of posix_spawn{p} uses the clone syscall directly
+   with CLONE_VM and CLONE_VFORK flags and an allocated stack.  The new stack
+   and start function solves most the vfork limitation (possible parent
+   clobber due stack spilling). The remaining issue are:
+
+   1. That no signal handlers must run in child context, to avoid corrupting
+      parent's state.
+   2. The parent must ensure child's stack freeing.
+   3. Child must synchronize with parent to enforce 2. and to possible
+      return execv issues.
+
+   The first issue is solved by blocking all signals in child, even
+   the NPTL-internal ones (SIGCANCEL and SIGSETXID).  The second and
+   third issue is done by a stack allocation in parent, and by using a
+   field in struct spawn_args where the child can write an error
+   code. CLONE_VFORK ensures that the parent does not run until the
+   child has either exec'ed successfully or exited.  */
+
+
+/* The Unix standard contains a long explanation of the way to signal
+   an error after the fork() was successful.  Since no new wait status
+   was wanted there is no way to signal an error using one of the
+   available methods.  The committee chose to signal an error by a
+   normal program exit with the exit code 127.  */
+#define SPAWN_ERROR	127
+
+#ifdef __ia64__
+# define CLONE(__fn, __stackbase, __stacksize, __flags, __args) \
+  __clone2 (__fn, __stackbase, __stacksize, __flags, __args, 0, 0, 0)
+#else
+# define CLONE(__fn, __stack, __stacksize, __flags, __args) \
+  __clone (__fn, __stack, __flags, __args)
+#endif
+
+/* Since ia64 wants the stackbase w/clone2, re-use the grows-up macro.  */
+#if _STACK_GROWS_UP || defined (__ia64__)
+# define STACK(__stack, __stack_size) (__stack)
+#elif _STACK_GROWS_DOWN
+# define STACK(__stack, __stack_size) (__stack + __stack_size)
+#endif
+
+
+struct posix_spawn_args
+{
+  sigset_t oldmask;
+  const char *file;
+  int (*exec) (const char *, char *const *, char *const *);
+  const posix_spawn_file_actions_t *fa;
+  const posix_spawnattr_t *restrict attr;
+  char *const *argv;
+  ptrdiff_t argc;
+  char *const *envp;
+  int xflags;
+  int err;
+};
+
+/* Older version requires that shell script without shebang definition
+   to be called explicitly using /bin/sh (_PATH_BSHELL).  */
+static void
+maybe_script_execute (struct posix_spawn_args *args)
+{
+  if (SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_15)
+      && (args->xflags & SPAWN_XFLAGS_TRY_SHELL) && errno == ENOEXEC)
+    {
+      char *const *argv = args->argv;
+      ptrdiff_t argc = args->argc;
+
+      /* Construct an argument list for the shell.  */
+      char *new_argv[argc + 1];
+      new_argv[0] = (char *) _PATH_BSHELL;
+      new_argv[1] = (char *) args->file;
+      if (argc > 1)
+	memcpy (new_argv + 2, argv + 1, argc * sizeof(char *));
+      else
+	new_argv[2] = NULL;
+
+      /* Execute the shell.  */
+      args->exec (new_argv[0], new_argv, args->envp);
+    }
+}
+
+/* Function used in the clone call to setup the signals mask, posix_spawn
+   attributes, and file actions.  It run on its own stack (provided by the
+   posix_spawn call).  */
+static int
+__spawni_child (void *arguments)
+{
+  struct posix_spawn_args *args = arguments;
+  const posix_spawnattr_t *restrict attr = args->attr;
+  const posix_spawn_file_actions_t *file_actions = args->fa;
+
+  /* The child must ensure that no signal handler are enabled because it shared
+     memory with parent, so the signal disposition must be either SIG_DFL or
+     SIG_IGN.  It does by iterating over all signals and although it could
+     possibly be more optimized (by tracking which signal potentially have a
+     signal handler), it might requires system specific solutions (since the
+     sigset_t data type can be very different on different architectures).  */
+  struct sigaction sa;
+  memset (&sa, '\0', sizeof (sa));
+
+  sigset_t hset;
+  __sigprocmask (SIG_BLOCK, 0, &hset);
+  for (int sig = 1; sig < _NSIG; ++sig)
+    {
+      if ((attr->__flags & POSIX_SPAWN_SETSIGDEF)
+	  && sigismember (&attr->__sd, sig))
+	{
+	  sa.sa_handler = SIG_DFL;
+	}
+      else if (sigismember (&hset, sig))
+	{
+	  if (__nptl_is_internal_signal (sig))
+	    sa.sa_handler = SIG_IGN;
+	  else
+	    {
+	      __libc_sigaction (sig, 0, &sa);
+	      if (sa.sa_handler == SIG_IGN)
+		continue;
+	      sa.sa_handler = SIG_DFL;
+	    }
+	}
+      else
+	continue;
+
+      __libc_sigaction (sig, &sa, 0);
+    }
+
+#ifdef _POSIX_PRIORITY_SCHEDULING
+  /* Set the scheduling algorithm and parameters.  */
+  if ((attr->__flags & (POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER))
+      == POSIX_SPAWN_SETSCHEDPARAM)
+    {
+      if (__sched_setparam (0, &attr->__sp) == -1)
+	goto fail;
+    }
+  else if ((attr->__flags & POSIX_SPAWN_SETSCHEDULER) != 0)
+    {
+      if (__sched_setscheduler (0, attr->__policy, &attr->__sp) == -1)
+	goto fail;
+    }
+#endif
+
+  if ((attr->__flags & POSIX_SPAWN_SETSID) != 0
+      && __setsid () < 0)
+    goto fail;
+
+  /* Set the process group ID.  */
+  if ((attr->__flags & POSIX_SPAWN_SETPGROUP) != 0
+      && __setpgid (0, attr->__pgrp) != 0)
+    goto fail;
+
+  /* Set the effective user and group IDs.  */
+  if ((attr->__flags & POSIX_SPAWN_RESETIDS) != 0
+      && (local_seteuid (__getuid ()) != 0
+	  || local_setegid (__getgid ()) != 0))
+    goto fail;
+
+  /* Execute the file actions.  */
+  if (file_actions != 0)
+    {
+      int cnt;
+      struct rlimit64 fdlimit;
+      bool have_fdlimit = false;
+
+      for (cnt = 0; cnt < file_actions->__used; ++cnt)
+	{
+	  struct __spawn_action *action = &file_actions->__actions[cnt];
+
+	  switch (action->tag)
+	    {
+	    case spawn_do_close:
+	      if (close_not_cancel (action->action.close_action.fd) != 0)
+		{
+		  if (!have_fdlimit)
+		    {
+		      __getrlimit64 (RLIMIT_NOFILE, &fdlimit);
+		      have_fdlimit = true;
+		    }
+
+		  /* Signal errors only for file descriptors out of range.  */
+		  if (action->action.close_action.fd < 0
+		      || action->action.close_action.fd >= fdlimit.rlim_cur)
+		    goto fail;
+		}
+	      break;
+
+	    case spawn_do_open:
+	      {
+		/* POSIX states that if fildes was already an open file descriptor,
+		   it shall be closed before the new file is opened.  This avoid
+		   pontential issues when posix_spawn plus addopen action is called
+		   with the process already at maximum number of file descriptor
+		   opened and also for multiple actions on single-open special
+		   paths (like /dev/watchdog).  */
+		close_not_cancel (action->action.open_action.fd);
+
+		int ret = open_not_cancel (action->action.open_action.path,
+					   action->action.
+					   open_action.oflag | O_LARGEFILE,
+					   action->action.open_action.mode);
+
+		if (ret == -1)
+		  goto fail;
+
+		int new_fd = ret;
+
+		/* Make sure the desired file descriptor is used.  */
+		if (ret != action->action.open_action.fd)
+		  {
+		    if (__dup2 (new_fd, action->action.open_action.fd)
+			!= action->action.open_action.fd)
+		      goto fail;
+
+		    if (close_not_cancel (new_fd) != 0)
+		      goto fail;
+		  }
+	      }
+	      break;
+
+	    case spawn_do_dup2:
+	      if (__dup2 (action->action.dup2_action.fd,
+			  action->action.dup2_action.newfd)
+		  != action->action.dup2_action.newfd)
+		goto fail;
+	      break;
+	    }
+	}
+    }
+
+  /* Set the initial signal mask of the child if POSIX_SPAWN_SETSIGMASK
+     is set, otherwise restore the previous one.  */
+  __sigprocmask (SIG_SETMASK, (attr->__flags & POSIX_SPAWN_SETSIGMASK)
+		 ? &attr->__ss : &args->oldmask, 0);
+
+  args->err = 0;
+  args->exec (args->file, args->argv, args->envp);
+
+  /* This is compatibility function required to enable posix_spawn run
+     script without shebang definition for older posix_spawn versions
+     (2.15).  */
+  maybe_script_execute (args);
+
+fail:
+  /* errno should have an appropriate non-zero value; otherwise,
+     there's a bug in glibc or the kernel.  For lack of an error code
+     (EINTERNALBUG) describing that, use ECHILD.  Another option would
+     be to set args->err to some negative sentinel and have the parent
+     abort(), but that seems needlessly harsh.  */
+  args->err = errno ? : ECHILD;
+  _exit (SPAWN_ERROR);
+}
+
+/* Spawn a new process executing PATH with the attributes describes in *ATTRP.
+   Before running the process perform the actions described in FILE-ACTIONS. */
+static int
+__spawnix (pid_t * pid, const char *file,
+	   const posix_spawn_file_actions_t * file_actions,
+	   const posix_spawnattr_t * attrp, char *const argv[],
+	   char *const envp[], int xflags,
+	   int (*exec) (const char *, char *const *, char *const *))
+{
+  pid_t new_pid;
+  struct posix_spawn_args args;
+  int ec;
+
+  /* To avoid imposing hard limits on posix_spawn{p} the total number of
+     arguments is first calculated to allocate a mmap to hold all possible
+     values.  */
+  ptrdiff_t argc = 0;
+  /* Linux allows at most max (0x7FFFFFFF, 1/4 stack size) arguments
+     to be used in a execve call.  We limit to INT_MAX minus one due the
+     compatiblity code that may execute a shell script (maybe_script_execute)
+     where it will construct another argument list with an additional
+     argument.  */
+  ptrdiff_t limit = INT_MAX - 1;
+  while (argv[argc++] != NULL)
+    if (argc == limit)
+      {
+	errno = E2BIG;
+	return errno;
+      }
+
+  int prot = (PROT_READ | PROT_WRITE
+	     | ((GL (dl_stack_flags) & PF_X) ? PROT_EXEC : 0));
+
+  /* Add a slack area for child's stack.  */
+  size_t argv_size = (argc * sizeof (void *)) + 512;
+  /* We need at least a few pages in case the compiler's stack checking is
+     enabled.  In some configs, it is known to use at least 24KiB.  We use
+     32KiB to be "safe" from anything the compiler might do.  Besides, the
+     extra pages won't actually be allocated unless they get used.  */
+  argv_size += (32 * 1024);
+  size_t stack_size = ALIGN_UP (argv_size, GLRO(dl_pagesize));
+  void *stack = __mmap (NULL, stack_size, prot,
+			MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
+  if (__glibc_unlikely (stack == MAP_FAILED))
+    return errno;
+
+  /* Disable asynchronous cancellation.  */
+  int state;
+  __libc_ptf_call (__pthread_setcancelstate,
+                   (PTHREAD_CANCEL_DISABLE, &state), 0);
+
+  /* Child must set args.err to something non-negative - we rely on
+     the parent and child sharing VM.  */
+  args.err = -1;
+  args.file = file;
+  args.exec = exec;
+  args.fa = file_actions;
+  args.attr = attrp ? attrp : &(const posix_spawnattr_t) { 0 };
+  args.argv = argv;
+  args.argc = argc;
+  args.envp = envp;
+  args.xflags = xflags;
+
+  __libc_signal_block_all (&args.oldmask);
+
+  /* The clone flags used will create a new child that will run in the same
+     memory space (CLONE_VM) and the execution of calling thread will be
+     suspend until the child calls execve or _exit.
+
+     Also since the calling thread execution will be suspend, there is not
+     need for CLONE_SETTLS.  Although parent and child share the same TLS
+     namespace, there will be no concurrent access for TLS variables (errno
+     for instance).  */
+  new_pid = CLONE (__spawni_child, STACK (stack, stack_size), stack_size,
+		   CLONE_VM | CLONE_VFORK | SIGCHLD, &args);
+
+  if (new_pid > 0)
+    {
+      ec = args.err;
+      assert (ec >= 0);
+      if (ec != 0)
+	  __waitpid (new_pid, NULL, 0);
+    }
+  else
+    ec = -new_pid;
+
+  __munmap (stack, stack_size);
+
+  if ((ec == 0) && (pid != NULL))
+    *pid = new_pid;
+
+  __libc_signal_restore_set (&args.oldmask);
+
+  __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
+
+  return ec;
+}
+
+/* Spawn a new process executing PATH with the attributes describes in *ATTRP.
+   Before running the process perform the actions described in FILE-ACTIONS. */
+int
+__spawni (pid_t * pid, const char *file,
+	  const posix_spawn_file_actions_t * acts,
+	  const posix_spawnattr_t * attrp, char *const argv[],
+	  char *const envp[], int xflags)
+{
+  return __spawnix (pid, file, acts, attrp, argv, envp, xflags,
+		    xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/speed.c b/REORG.TODO/sysdeps/unix/sysv/linux/speed.c
new file mode 100644
index 0000000000..c91be94af3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/speed.c
@@ -0,0 +1,97 @@
+/* `struct termios' speed frobnication functions.  Linux version.
+   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 <stddef.h>
+#include <errno.h>
+#include <termios.h>
+
+
+/* This is a gross hack around a kernel bug.  If the cfsetispeed functions
+   is called with the SPEED argument set to zero this means use the same
+   speed as for output.  But we don't have independent input and output
+   speeds and therefore cannot record this.
+
+   We use an unused bit in the `c_iflag' field to keep track of this
+   use of `cfsetispeed'.  The value here must correspond to the one used
+   in `tcsetattr.c'.  */
+#define IBAUD0	020000000000
+
+
+/* Return the output baud rate stored in *TERMIOS_P.  */
+speed_t
+cfgetospeed (const struct termios *termios_p)
+{
+  return termios_p->c_cflag & (CBAUD | CBAUDEX);
+}
+
+/* Return the input baud rate stored in *TERMIOS_P.
+   Although for Linux there is no difference between input and output
+   speed, the numerical 0 is a special case for the input baud rate. It
+   should set the input baud rate to the output baud rate. */
+speed_t
+cfgetispeed (const struct termios *termios_p)
+{
+  return ((termios_p->c_iflag & IBAUD0)
+	  ? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
+}
+
+/* Set the output baud rate stored in *TERMIOS_P to SPEED.  */
+int
+cfsetospeed (struct termios *termios_p, speed_t speed)
+{
+  if ((speed & ~CBAUD) != 0
+      && (speed < B57600 || speed > __MAX_BAUD))
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#ifdef _HAVE_STRUCT_TERMIOS_C_OSPEED
+  termios_p->c_ospeed = speed;
+#endif
+  termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
+  termios_p->c_cflag |= speed;
+
+  return 0;
+}
+libc_hidden_def (cfsetospeed)
+
+
+/* Set the input baud rate stored in *TERMIOS_P to SPEED.
+   Although for Linux there is no difference between input and output
+   speed, the numerical 0 is a special case for the input baud rate.  It
+   should set the input baud rate to the output baud rate.  */
+int
+cfsetispeed (struct termios *termios_p, speed_t speed)
+{
+  if ((speed & ~CBAUD) != 0
+      && (speed < B57600 || speed > __MAX_BAUD))
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
+  termios_p->c_ispeed = speed;
+#endif
+  if (speed == 0)
+    termios_p->c_iflag |= IBAUD0;
+  else
+    {
+      termios_p->c_iflag &= ~IBAUD0;
+      termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
+      termios_p->c_cflag |= speed;
+    }
+
+  return 0;
+}
+libc_hidden_def (cfsetispeed)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/splice.c b/REORG.TODO/sysdeps/unix/sysv/linux/splice.c
new file mode 100644
index 0000000000..2aaf878c60
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/splice.c
@@ -0,0 +1,27 @@
+/* Splice data to/from a pipe Linux implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+splice (int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len,
+	unsigned int flags)
+{
+  return SYSCALL_CANCEL (splice, fd_in, off_in, fd_out, off_out, len, flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/statfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/statfs64.c
new file mode 100644
index 0000000000..291e421927
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/statfs64.c
@@ -0,0 +1,95 @@
+/* Return information about the filesystem on which FILE resides.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <stddef.h>
+#include <sysdep.h>
+#include <kernel_stat.h>
+
+/* Hide the prototypes for __statfs and statfs so that GCC will not
+   complain about the different function signatures if they are aliased
+   to  __stat64.  If STATFS_IS_STATFS64 is not zero then the statfs and
+   statfs64 structures have an identical layout but different type names.  */
+
+#if STATFS_IS_STATFS64
+# define __statfs __statfs_disable
+# define statfs statfs_disable
+#endif
+#include <sys/statfs.h>
+
+#include <kernel-features.h>
+
+
+# if __ASSUME_STATFS64 == 0
+int __no_statfs64 attribute_hidden;
+#endif
+
+/* Return information about the filesystem on which FILE resides.  */
+int
+__statfs64 (const char *file, struct statfs64 *buf)
+{
+#ifdef __NR_statfs64
+# if __ASSUME_STATFS64 == 0
+  if (! __no_statfs64)
+# endif
+    {
+      int result = INLINE_SYSCALL (statfs64, 3, file, sizeof (*buf), buf);
+
+# if __ASSUME_STATFS64 == 0
+      if (result == 0 || errno != ENOSYS)
+# endif
+	return result;
+
+# if __ASSUME_STATFS64 == 0
+      __no_statfs64 = 1;
+# endif
+    }
+#endif
+
+#if __ASSUME_STATFS64 == 0
+  struct statfs buf32;
+
+  if (__statfs (file, &buf32) < 0)
+    return -1;
+
+  buf->f_type = buf32.f_type;
+  buf->f_bsize = buf32.f_bsize;
+  buf->f_blocks = buf32.f_blocks;
+  buf->f_bfree = buf32.f_bfree;
+  buf->f_bavail = buf32.f_bavail;
+  buf->f_files = buf32.f_files;
+  buf->f_ffree = buf32.f_ffree;
+  buf->f_fsid = buf32.f_fsid;
+  buf->f_namelen = buf32.f_namelen;
+  buf->f_frsize = buf32.f_frsize;
+  memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
+
+  return 0;
+#endif
+}
+weak_alias (__statfs64, statfs64)
+
+#undef __statfs
+#undef statfs
+
+#if STATFS_IS_STATFS64
+weak_alias (__statfs64, __statfs)
+weak_alias (__statfs64, statfs)
+libc_hidden_ver (__statfs64, __statfs)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/statvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/statvfs.c
new file mode 100644
index 0000000000..744336e33b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/statvfs.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <sys/statvfs.h>
+
+extern void __internal_statvfs (const char *name, struct statvfs *buf,
+				struct statfs *fsbuf, int fd);
+
+
+int
+__statvfs (const char *file, struct statvfs *buf)
+{
+  struct statfs fsbuf;
+
+  /* Get as much information as possible from the system.  */
+  if (__statfs (file, &fsbuf) < 0)
+    return -1;
+
+  /* Convert the result.  */
+  __internal_statvfs (file, buf, &fsbuf, -1);
+
+  /* We signal success if the statfs call succeeded.  */
+  return 0;
+}
+weak_alias (__statvfs, statvfs)
+libc_hidden_weak (statvfs)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/statvfs64.c
new file mode 100644
index 0000000000..a89f720b38
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/statvfs64.c
@@ -0,0 +1,69 @@
+/* Return information about the filesystem on which FILE resides.
+   Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <sys/statvfs.h>
+#include <kernel-features.h>
+
+
+extern void __internal_statvfs64 (const char *name, struct statvfs64 *buf,
+				  struct statfs64 *fsbuf, int fd);
+
+
+/* Return information about the filesystem on which FILE resides.  */
+int
+__statvfs64 (const char *file, struct statvfs64 *buf)
+{
+  struct statfs64 fsbuf;
+  int res = __statfs64 (file, &fsbuf);
+
+#ifndef __ASSUME_STATFS64
+  if (res < 0 && errno == ENOSYS)
+    {
+      struct statvfs buf32;
+
+      res = statvfs (file, &buf32);
+      if (res == 0)
+	{
+	  buf->f_bsize = buf32.f_bsize;
+	  buf->f_frsize = buf32.f_frsize;
+	  buf->f_blocks = buf32.f_blocks;
+	  buf->f_bfree = buf32.f_bfree;
+	  buf->f_bavail = buf32.f_bavail;
+	  buf->f_files = buf32.f_files;
+	  buf->f_ffree = buf32.f_ffree;
+	  buf->f_favail = buf32.f_favail;
+	  buf->f_fsid = buf32.f_fsid;
+	  buf->f_flag = buf32.f_flag;
+	  buf->f_namemax = buf32.f_namemax;
+	  memcpy (buf->__f_spare, buf32.__f_spare, sizeof (buf32.__f_spare));
+	}
+    }
+#endif
+
+  if (res == 0)
+    /* Convert the result.  */
+    __internal_statvfs64 (file, buf, &fsbuf, -1);
+
+  return res;
+}
+weak_alias (__statvfs64, statvfs64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sync_file_range.c b/REORG.TODO/sysdeps/unix/sysv/linux/sync_file_range.c
new file mode 100644
index 0000000000..356d522faf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sync_file_range.c
@@ -0,0 +1,33 @@
+/* Selective file content synch'ing.
+   Copyright (C) 2006-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 <fcntl.h>
+#include <sysdep-cancel.h>
+
+int
+sync_file_range (int fd, __off64_t offset, __off64_t len, unsigned int flags)
+{
+#if defined (__NR_sync_file_range2)
+  return SYSCALL_CANCEL (sync_file_range2, fd, flags, SYSCALL_LL64 (offset),
+			 SYSCALL_LL64 (len));
+#elif defined (__NR_sync_file_range)
+  return SYSCALL_CANCEL (sync_file_range, fd,
+			 __ALIGNMENT_ARG SYSCALL_LL64 (offset),
+			 SYSCALL_LL64 (len), flags);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/acct.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/acct.h
new file mode 100644
index 0000000000..b4809ce9af
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/acct.h
@@ -0,0 +1,106 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ACCT_H
+#define _SYS_ACCT_H	1
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <endian.h>
+#include <bits/types/time_t.h>
+
+__BEGIN_DECLS
+
+#define ACCT_COMM 16
+
+/*
+  comp_t is a 16-bit "floating" point number with a 3-bit base 8
+  exponent and a 13-bit fraction. See linux/kernel/acct.c for the
+  specific encoding system used.
+*/
+
+typedef uint16_t comp_t;
+
+struct acct
+{
+  char ac_flag;			/* Flags.  */
+  uint16_t ac_uid;		/* Real user ID.  */
+  uint16_t ac_gid;		/* Real group ID.  */
+  uint16_t ac_tty;		/* Controlling terminal.  */
+  uint32_t ac_btime;		/* Beginning time.  */
+  comp_t ac_utime;		/* User time.  */
+  comp_t ac_stime;		/* System time.  */
+  comp_t ac_etime;		/* Elapsed time.  */
+  comp_t ac_mem;		/* Average memory usage.  */
+  comp_t ac_io;			/* Chars transferred.  */
+  comp_t ac_rw;			/* Blocks read or written.  */
+  comp_t ac_minflt;		/* Minor pagefaults.  */
+  comp_t ac_majflt;		/* Major pagefaults.  */
+  comp_t ac_swaps;		/* Number of swaps.  */
+  uint32_t ac_exitcode;		/* Process exitcode.  */
+  char ac_comm[ACCT_COMM+1];	/* Command name.  */
+  char ac_pad[10];		/* Padding bytes.  */
+};
+
+
+struct acct_v3
+{
+  char ac_flag;			/* Flags */
+  char ac_version;		/* Always set to ACCT_VERSION */
+  uint16_t ac_tty;		/* Control Terminal */
+  uint32_t ac_exitcode;		/* Exitcode */
+  uint32_t ac_uid;		/* Real User ID */
+  uint32_t ac_gid;		/* Real Group ID */
+  uint32_t ac_pid;		/* Process ID */
+  uint32_t ac_ppid;		/* Parent Process ID */
+  uint32_t ac_btime;		/* Process Creation Time */
+  float ac_etime;		/* Elapsed Time */
+  comp_t ac_utime;		/* User Time */
+  comp_t ac_stime;		/* System Time */
+  comp_t ac_mem;		/* Average Memory Usage */
+  comp_t ac_io;			/* Chars Transferred */
+  comp_t ac_rw;			/* Blocks Read or Written */
+  comp_t ac_minflt;		/* Minor Pagefaults */
+  comp_t ac_majflt;		/* Major Pagefaults */
+  comp_t ac_swaps;		/* Number of Swaps */
+  char ac_comm[ACCT_COMM];	/* Command Name */
+};
+
+
+enum
+  {
+    AFORK = 0x01,		/* Has executed fork, but no exec.  */
+    ASU = 0x02,			/* Used super-user privileges.  */
+    ACORE = 0x08,		/* Dumped core.  */
+    AXSIG = 0x10		/* Killed by a signal.  */
+  };
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+# define ACCT_BYTEORDER 0x80	/* Accounting file is big endian.  */
+#else
+# define ACCT_BYTEORDER 0x00	/* Accounting file is little endian.  */
+#endif
+
+#define AHZ     100
+
+
+/* Switch process accounting on and off.  */
+extern int acct (const char *__filename) __THROW;
+
+__END_DECLS
+
+#endif	/* sys/acct.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/epoll.h
new file mode 100644
index 0000000000..1498058396
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/epoll.h
@@ -0,0 +1,138 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+#define	_SYS_EPOLL_H	1
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#include <bits/types/sigset_t.h>
+
+/* Get the platform-dependent flags.  */
+#include <bits/epoll.h>
+
+#ifndef __EPOLL_PACKED
+# define __EPOLL_PACKED
+#endif
+
+
+enum EPOLL_EVENTS
+  {
+    EPOLLIN = 0x001,
+#define EPOLLIN EPOLLIN
+    EPOLLPRI = 0x002,
+#define EPOLLPRI EPOLLPRI
+    EPOLLOUT = 0x004,
+#define EPOLLOUT EPOLLOUT
+    EPOLLRDNORM = 0x040,
+#define EPOLLRDNORM EPOLLRDNORM
+    EPOLLRDBAND = 0x080,
+#define EPOLLRDBAND EPOLLRDBAND
+    EPOLLWRNORM = 0x100,
+#define EPOLLWRNORM EPOLLWRNORM
+    EPOLLWRBAND = 0x200,
+#define EPOLLWRBAND EPOLLWRBAND
+    EPOLLMSG = 0x400,
+#define EPOLLMSG EPOLLMSG
+    EPOLLERR = 0x008,
+#define EPOLLERR EPOLLERR
+    EPOLLHUP = 0x010,
+#define EPOLLHUP EPOLLHUP
+    EPOLLRDHUP = 0x2000,
+#define EPOLLRDHUP EPOLLRDHUP
+    EPOLLEXCLUSIVE = 1u << 28,
+#define EPOLLEXCLUSIVE EPOLLEXCLUSIVE
+    EPOLLWAKEUP = 1u << 29,
+#define EPOLLWAKEUP EPOLLWAKEUP
+    EPOLLONESHOT = 1u << 30,
+#define EPOLLONESHOT EPOLLONESHOT
+    EPOLLET = 1u << 31
+#define EPOLLET EPOLLET
+  };
+
+
+/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl().  */
+#define EPOLL_CTL_ADD 1	/* Add a file descriptor to the interface.  */
+#define EPOLL_CTL_DEL 2	/* Remove a file descriptor from the interface.  */
+#define EPOLL_CTL_MOD 3	/* Change file descriptor epoll_event structure.  */
+
+
+typedef union epoll_data
+{
+  void *ptr;
+  int fd;
+  uint32_t u32;
+  uint64_t u64;
+} epoll_data_t;
+
+struct epoll_event
+{
+  uint32_t events;	/* Epoll events */
+  epoll_data_t data;	/* User data variable */
+} __EPOLL_PACKED;
+
+
+__BEGIN_DECLS
+
+/* Creates an epoll instance.  Returns an fd for the new instance.
+   The "size" parameter is a hint specifying the number of file
+   descriptors to be associated with the new instance.  The fd
+   returned by epoll_create() should be closed with close().  */
+extern int epoll_create (int __size) __THROW;
+
+/* Same as epoll_create but with an FLAGS parameter.  The unused SIZE
+   parameter has been dropped.  */
+extern int epoll_create1 (int __flags) __THROW;
+
+
+/* Manipulate an epoll instance "epfd". Returns 0 in case of success,
+   -1 in case of error ( the "errno" variable will contain the
+   specific error code ) The "op" parameter is one of the EPOLL_CTL_*
+   constants defined above. The "fd" parameter is the target of the
+   operation. The "event" parameter describes which events the caller
+   is interested in and any associated user data.  */
+extern int epoll_ctl (int __epfd, int __op, int __fd,
+		      struct epoll_event *__event) __THROW;
+
+
+/* Wait for events on an epoll instance "epfd". Returns the number of
+   triggered events returned in "events" buffer. Or -1 in case of
+   error with the "errno" variable set to the specific error code. The
+   "events" parameter is a buffer that will contain triggered
+   events. The "maxevents" is the maximum number of events to be
+   returned ( usually size of "events" ). The "timeout" parameter
+   specifies the maximum wait time in milliseconds (-1 == infinite).
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int epoll_wait (int __epfd, struct epoll_event *__events,
+		       int __maxevents, int __timeout);
+
+
+/* Same as epoll_wait, but the thread's signal mask is temporarily
+   and atomically replaced with the one provided as parameter.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int epoll_pwait (int __epfd, struct epoll_event *__events,
+			int __maxevents, int __timeout,
+			const __sigset_t *__ss);
+
+__END_DECLS
+
+#endif /* sys/epoll.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/eventfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/eventfd.h
new file mode 100644
index 0000000000..74d836a5d6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/eventfd.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EVENTFD_H
+#define	_SYS_EVENTFD_H	1
+
+#include <stdint.h>
+
+/* Get the platform-dependent flags.  */
+#include <bits/eventfd.h>
+
+/* Type for event counter.  */
+typedef uint64_t eventfd_t;
+
+
+__BEGIN_DECLS
+
+/* Return file descriptor for generic event channel.  Set initial
+   value to COUNT.  */
+extern int eventfd (unsigned int __count, int __flags) __THROW;
+
+/* Read event counter and possibly wait for events.  */
+extern int eventfd_read (int __fd, eventfd_t *__value);
+
+/* Increment event counter.  */
+extern int eventfd_write (int __fd, eventfd_t __value);
+
+__END_DECLS
+
+#endif /* sys/eventfd.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/fanotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/fanotify.h
new file mode 100644
index 0000000000..d7e921e595
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/fanotify.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_FANOTIFY_H
+#define	_SYS_FANOTIFY_H	1
+
+#include <stdint.h>
+#include <linux/fanotify.h>
+
+
+__BEGIN_DECLS
+
+/* Create and initialize fanotify group.  */
+extern int fanotify_init (unsigned int __flags, unsigned int __event_f_flags)
+  __THROW;
+
+/* Add, remove, or modify an fanotify mark on a filesystem object.  */
+extern int fanotify_mark (int __fanotify_fd, unsigned int __flags,
+			  uint64_t __mask, int __dfd, const char *__pathname)
+     __THROW;
+
+__END_DECLS
+
+#endif /* sys/fanotify.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/fsuid.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/fsuid.h
new file mode 100644
index 0000000000..3b6b2b6b32
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/fsuid.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_FSUID_H
+#define _SYS_FSUID_H	1
+
+#include <features.h>
+#include <sys/types.h>
+
+__BEGIN_DECLS
+
+/* Change uid used for file access control to UID, without affecting
+   other privileges (such as who can send signals at the process).  */
+extern int setfsuid (__uid_t __uid) __THROW;
+
+/* Ditto for group id. */
+extern int setfsgid (__gid_t __gid) __THROW;
+
+__END_DECLS
+
+#endif /* fsuid.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/inotify.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/inotify.h
new file mode 100644
index 0000000000..c74477873b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/inotify.h
@@ -0,0 +1,99 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_INOTIFY_H
+#define	_SYS_INOTIFY_H	1
+
+#include <stdint.h>
+
+/* Get the platform-dependent flags.  */
+#include <bits/inotify.h>
+
+
+/* Structure describing an inotify event.  */
+struct inotify_event
+{
+  int wd;		/* Watch descriptor.  */
+  uint32_t mask;	/* Watch mask.  */
+  uint32_t cookie;	/* Cookie to synchronize two events.  */
+  uint32_t len;		/* Length (including NULs) of name.  */
+  char name __flexarr;	/* Name.  */
+};
+
+
+/* Supported events suitable for MASK parameter of INOTIFY_ADD_WATCH.  */
+#define IN_ACCESS	 0x00000001	/* File was accessed.  */
+#define IN_MODIFY	 0x00000002	/* File was modified.  */
+#define IN_ATTRIB	 0x00000004	/* Metadata changed.  */
+#define IN_CLOSE_WRITE	 0x00000008	/* Writtable file was closed.  */
+#define IN_CLOSE_NOWRITE 0x00000010	/* Unwrittable file closed.  */
+#define IN_CLOSE	 (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* Close.  */
+#define IN_OPEN		 0x00000020	/* File was opened.  */
+#define IN_MOVED_FROM	 0x00000040	/* File was moved from X.  */
+#define IN_MOVED_TO      0x00000080	/* File was moved to Y.  */
+#define IN_MOVE		 (IN_MOVED_FROM | IN_MOVED_TO) /* Moves.  */
+#define IN_CREATE	 0x00000100	/* Subfile was created.  */
+#define IN_DELETE	 0x00000200	/* Subfile was deleted.  */
+#define IN_DELETE_SELF	 0x00000400	/* Self was deleted.  */
+#define IN_MOVE_SELF	 0x00000800	/* Self was moved.  */
+
+/* Events sent by the kernel.  */
+#define IN_UNMOUNT	 0x00002000	/* Backing fs was unmounted.  */
+#define IN_Q_OVERFLOW	 0x00004000	/* Event queued overflowed.  */
+#define IN_IGNORED	 0x00008000	/* File was ignored.  */
+
+/* Helper events.  */
+#define IN_CLOSE	 (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)	/* Close.  */
+#define IN_MOVE		 (IN_MOVED_FROM | IN_MOVED_TO)		/* Moves.  */
+
+/* Special flags.  */
+#define IN_ONLYDIR	 0x01000000	/* Only watch the path if it is a
+					   directory.  */
+#define IN_DONT_FOLLOW	 0x02000000	/* Do not follow a sym link.  */
+#define IN_EXCL_UNLINK	 0x04000000	/* Exclude events on unlinked
+					   objects.  */
+#define IN_MASK_ADD	 0x20000000	/* Add to the mask of an already
+					   existing watch.  */
+#define IN_ISDIR	 0x40000000	/* Event occurred against dir.  */
+#define IN_ONESHOT	 0x80000000	/* Only send event once.  */
+
+/* All events which a program can wait on.  */
+#define IN_ALL_EVENTS	 (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE  \
+			  | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM	      \
+			  | IN_MOVED_TO | IN_CREATE | IN_DELETE		      \
+			  | IN_DELETE_SELF | IN_MOVE_SELF)
+
+
+__BEGIN_DECLS
+
+/* Create and initialize inotify instance.  */
+extern int inotify_init (void) __THROW;
+
+/* Create and initialize inotify instance.  */
+extern int inotify_init1 (int __flags) __THROW;
+
+/* Add watch of object NAME to inotify instance FD.  Notify about
+   events specified by MASK.  */
+extern int inotify_add_watch (int __fd, const char *__name, uint32_t __mask)
+  __THROW;
+
+/* Remove the watch specified by WD from the inotify instance FD.  */
+extern int inotify_rm_watch (int __fd, int __wd) __THROW;
+
+__END_DECLS
+
+#endif /* sys/inotify.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/kd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/kd.h
new file mode 100644
index 0000000000..272b7d62ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/kd.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_KD_H
+#define _SYS_KD_H	1
+
+/* Make sure the <linux/types.h> header is not loaded.  */
+#ifndef _LINUX_TYPES_H
+# define _LINUX_TYPES_H		1
+# define __undef_LINUX_TYPES_H
+#endif
+
+#include <linux/kd.h>
+
+#ifdef __undef_LINUX_TYPES_H
+# undef _LINUX_TYPES_H
+# undef __undef_LINUX_TYPES_H
+#endif
+
+#endif	/* sys/kd.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/klog.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/klog.h
new file mode 100644
index 0000000000..33bd751341
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/klog.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_KLOG_H
+
+#define	_SYS_KLOG_H	1
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* Control the kernel's logging facility.  This corresponds exactly to
+   the kernel's syslog system call, but that name is easily confused
+   with the user-level syslog facility, which is something completely
+   different.  */
+extern int klogctl (int __type, char *__bufp, int __len) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_KLOG_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/mount.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/mount.h
new file mode 100644
index 0000000000..55424e77ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/mount.h
@@ -0,0 +1,150 @@
+/* Header file for mounting/unmount Linux filesystems.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is taken from /usr/include/linux/fs.h.  */
+
+#ifndef _SYS_MOUNT_H
+#define _SYS_MOUNT_H	1
+
+#include <features.h>
+#include <sys/ioctl.h>
+
+#define BLOCK_SIZE	1024
+#define BLOCK_SIZE_BITS	10
+
+
+/* These are the fs-independent mount-flags: up to 16 flags are
+   supported  */
+enum
+{
+  MS_RDONLY = 1,		/* Mount read-only.  */
+#define MS_RDONLY	MS_RDONLY
+  MS_NOSUID = 2,		/* Ignore suid and sgid bits.  */
+#define MS_NOSUID	MS_NOSUID
+  MS_NODEV = 4,			/* Disallow access to device special files.  */
+#define MS_NODEV	MS_NODEV
+  MS_NOEXEC = 8,		/* Disallow program execution.  */
+#define MS_NOEXEC	MS_NOEXEC
+  MS_SYNCHRONOUS = 16,		/* Writes are synced at once.  */
+#define MS_SYNCHRONOUS	MS_SYNCHRONOUS
+  MS_REMOUNT = 32,		/* Alter flags of a mounted FS.  */
+#define MS_REMOUNT	MS_REMOUNT
+  MS_MANDLOCK = 64,		/* Allow mandatory locks on an FS.  */
+#define MS_MANDLOCK	MS_MANDLOCK
+  MS_DIRSYNC = 128,		/* Directory modifications are synchronous.  */
+#define MS_DIRSYNC	MS_DIRSYNC
+  MS_NOATIME = 1024,		/* Do not update access times.  */
+#define MS_NOATIME	MS_NOATIME
+  MS_NODIRATIME = 2048,		/* Do not update directory access times.  */
+#define MS_NODIRATIME	MS_NODIRATIME
+  MS_BIND = 4096,		/* Bind directory at different place.  */
+#define MS_BIND		MS_BIND
+  MS_MOVE = 8192,
+#define MS_MOVE		MS_MOVE
+  MS_REC = 16384,
+#define MS_REC		MS_REC
+  MS_SILENT = 32768,
+#define MS_SILENT	MS_SILENT
+  MS_POSIXACL = 1 << 16,	/* VFS does not apply the umask.  */
+#define MS_POSIXACL	MS_POSIXACL
+  MS_UNBINDABLE = 1 << 17,	/* Change to unbindable.  */
+#define MS_UNBINDABLE	MS_UNBINDABLE
+  MS_PRIVATE = 1 << 18,		/* Change to private.  */
+#define MS_PRIVATE	MS_PRIVATE
+  MS_SLAVE = 1 << 19,		/* Change to slave.  */
+#define MS_SLAVE	MS_SLAVE
+  MS_SHARED = 1 << 20,		/* Change to shared.  */
+#define MS_SHARED	MS_SHARED
+  MS_RELATIME = 1 << 21,	/* Update atime relative to mtime/ctime.  */
+#define MS_RELATIME	MS_RELATIME
+  MS_KERNMOUNT = 1 << 22,	/* This is a kern_mount call.  */
+#define MS_KERNMOUNT	MS_KERNMOUNT
+  MS_I_VERSION =  1 << 23,	/* Update inode I_version field.  */
+#define MS_I_VERSION	MS_I_VERSION
+  MS_STRICTATIME = 1 << 24,	/* Always perform atime updates.  */
+#define MS_STRICTATIME	MS_STRICTATIME
+  MS_LAZYTIME = 1 << 25,	/* Update the on-disk [acm]times lazily.  */
+#define MS_LAZYTIME	MS_LAZYTIME
+  MS_ACTIVE = 1 << 30,
+#define MS_ACTIVE	MS_ACTIVE
+  MS_NOUSER = 1 << 31
+#define MS_NOUSER	MS_NOUSER
+};
+
+/* Flags that can be altered by MS_REMOUNT  */
+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION \
+		     |MS_LAZYTIME)
+
+
+/* Magic mount flag number. Has to be or-ed to the flag values.  */
+
+#define MS_MGC_VAL 0xc0ed0000	/* Magic flag number to indicate "new" flags */
+#define MS_MGC_MSK 0xffff0000	/* Magic flag number mask */
+
+
+/* The read-only stuff doesn't really belong here, but any other place
+   is probably as bad and I don't want to create yet another include
+   file.  */
+
+#define BLKROSET   _IO(0x12, 93) /* Set device read-only (0 = read-write).  */
+#define BLKROGET   _IO(0x12, 94) /* Get read-only status (0 = read_write).  */
+#define BLKRRPART  _IO(0x12, 95) /* Re-read partition table.  */
+#define BLKGETSIZE _IO(0x12, 96) /* Return device size.  */
+#define BLKFLSBUF  _IO(0x12, 97) /* Flush buffer cache.  */
+#define BLKRASET   _IO(0x12, 98) /* Set read ahead for block device.  */
+#define BLKRAGET   _IO(0x12, 99) /* Get current read ahead setting.  */
+#define BLKFRASET  _IO(0x12,100) /* Set filesystem read-ahead.  */
+#define BLKFRAGET  _IO(0x12,101) /* Get filesystem read-ahead.  */
+#define BLKSECTSET _IO(0x12,102) /* Set max sectors per request.  */
+#define BLKSECTGET _IO(0x12,103) /* Get max sectors per request.  */
+#define BLKSSZGET  _IO(0x12,104) /* Get block device sector size.  */
+#define BLKBSZGET  _IOR(0x12,112,size_t)
+#define BLKBSZSET  _IOW(0x12,113,size_t)
+#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size.  */
+
+
+/* Possible value for FLAGS parameter of `umount2'.  */
+enum
+{
+  MNT_FORCE = 1,		/* Force unmounting.  */
+#define MNT_FORCE MNT_FORCE
+  MNT_DETACH = 2,		/* Just detach from the tree.  */
+#define MNT_DETACH MNT_DETACH
+  MNT_EXPIRE = 4,		/* Mark for expiry.  */
+#define MNT_EXPIRE MNT_EXPIRE
+  UMOUNT_NOFOLLOW = 8		/* Don't follow symlink on umount.  */
+#define UMOUNT_NOFOLLOW UMOUNT_NOFOLLOW
+};
+
+
+__BEGIN_DECLS
+
+/* Mount a filesystem.  */
+extern int mount (const char *__special_file, const char *__dir,
+		  const char *__fstype, unsigned long int __rwflag,
+		  const void *__data) __THROW;
+
+/* Unmount a filesystem.  */
+extern int umount (const char *__special_file) __THROW;
+
+/* Unmount a filesystem.  Force unmounting if FLAGS is set to MNT_FORCE.  */
+extern int umount2 (const char *__special_file, int __flags) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_MOUNT_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/pci.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/pci.h
new file mode 100644
index 0000000000..49cd2d5048
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/pci.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PCI_H
+#define _SYS_PCI_H	1
+
+/* We use the constants from the kernel.  */
+#include <linux/pci.h>
+
+#endif /* sys/pci.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/personality.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/personality.h
new file mode 100644
index 0000000000..114695cb15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/personality.h
@@ -0,0 +1,80 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Taken verbatim from Linux 2.6 (include/linux/personality.h).  */
+
+#ifndef _SYS_PERSONALITY_H
+#define _SYS_PERSONALITY_H 1
+
+#include <features.h>
+
+/* Flags for bug emulation.
+   These occupy the top three bytes.  */
+enum
+  {
+    UNAME26 = 0x0020000,
+    ADDR_NO_RANDOMIZE = 0x0040000,
+    FDPIC_FUNCPTRS = 0x0080000,
+    MMAP_PAGE_ZERO = 0x0100000,
+    ADDR_COMPAT_LAYOUT = 0x0200000,
+    READ_IMPLIES_EXEC = 0x0400000,
+    ADDR_LIMIT_32BIT = 0x0800000,
+    SHORT_INODE = 0x1000000,
+    WHOLE_SECONDS = 0x2000000,
+    STICKY_TIMEOUTS = 0x4000000,
+    ADDR_LIMIT_3GB = 	0x8000000
+  };
+
+/* Personality types.
+
+   These go in the low byte.  Avoid using the top bit, it will
+   conflict with error returns.  */
+enum
+  {
+    PER_LINUX = 0x0000,
+    PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
+    PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS,
+    PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
+    PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,
+    PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE,
+    PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS,
+    PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE,
+    PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS,
+    PER_BSD = 0x0006,
+    PER_SUNOS = 0x0006 | STICKY_TIMEOUTS,
+    PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE,
+    PER_LINUX32 = 0x0008,
+    PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB,
+    PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS,	/* IRIX5 32-bit */
+    PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS,	/* IRIX6 new 32-bit */
+    PER_IRIX64 = 0x000b | STICKY_TIMEOUTS,	/* IRIX6 64-bit */
+    PER_RISCOS = 0x000c,
+    PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
+    PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
+    PER_OSF4 = 0x000f,
+    PER_HPUX = 0x0010,
+    PER_MASK = 0x00ff,
+  };
+
+__BEGIN_DECLS
+
+/* Set different ABIs (personalities).  */
+extern int personality (unsigned long int __persona) __THROW;
+
+__END_DECLS
+
+#endif /* sys/personality.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/prctl.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/prctl.h
new file mode 100644
index 0000000000..446ca202d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/prctl.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PRCTL_H
+#define _SYS_PRCTL_H	1
+
+#include <features.h>
+#include <linux/prctl.h>  /*  The magic values come from here  */
+
+__BEGIN_DECLS
+
+/* Control process execution.  */
+extern int prctl (int __option, ...) __THROW;
+
+__END_DECLS
+
+#endif  /* sys/prctl.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/procfs.h
new file mode 100644
index 0000000000..b3b2cf3e12
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/procfs.h
@@ -0,0 +1,114 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somehow modelled after the file of the same name on SysVr4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  */
+
+#include <features.h>
+#include <signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <sys/user.h>
+#include <asm/elf.h>
+
+__BEGIN_DECLS
+
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   gdb doesn't really use excluded.  Fields present but not used are
+   marked with "XXX".  */
+struct elf_prstatus
+  {
+#if 0
+    long int pr_flags;			/* XXX Process flags.  */
+    short int pr_why;			/* XXX Reason for process halt.  */
+    short int pr_what;			/* XXX More detailed reason.  */
+#endif
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+#if 0
+    stack_t pr_altstack;		/* Alternate stack info.  */
+    struct sigaction pr_action;		/* Signal action for current sig.  */
+#endif
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+#if 0
+    long int pr_instr;			/* Current instruction.  */
+#endif
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef gregset_t prgregset_t;
+typedef fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore habe only ine PID type.  */
+typedef __pid_t lwpid_t;
+
+
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/ptrace.h
new file mode 100644
index 0000000000..1daadd1950
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/ptrace.h
@@ -0,0 +1,229 @@
+/* `ptrace' debugger support interface.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process.
+     This is not supported on all machines.  */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Get all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETREGS = 12,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETREGS = 13,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Get all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETFPREGS = 14,
+#define PT_GETFPREGS PTRACE_GETFPREGS
+
+  /* Set all floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETFPREGS = 15,
+#define PT_SETFPREGS PTRACE_SETFPREGS
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  /* Get all extended floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_GETFPXREGS = 18,
+#define PT_GETFPXREGS PTRACE_GETFPXREGS
+
+  /* Set all extended floating point registers used by a processes.
+     This is not supported on all machines.  */
+   PTRACE_SETFPXREGS = 19,
+#define PT_SETFPXREGS PTRACE_SETFPXREGS
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/quota.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/quota.h
new file mode 100644
index 0000000000..13c28a7b6c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/quota.h
@@ -0,0 +1,135 @@
+/* This just represents the non-kernel parts of <linux/quota.h>.
+   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/>.  */
+
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Robert Elz at The University of Melbourne.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SYS_QUOTA_H
+#define _SYS_QUOTA_H 1
+
+#include <features.h>
+#include <sys/types.h>
+
+#include <linux/quota.h>
+
+/*
+ * Convert diskblocks to blocks and the other way around.
+ * currently only to fool the BSD source. :-)
+ */
+#define dbtob(num) ((num) << 10)
+#define btodb(num) ((num) >> 10)
+
+/*
+ * Convert count of filesystem blocks to diskquota blocks, meant for
+ * filesystems where i_blksize != 1024.
+ */
+#define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / 1024)
+
+/*
+ * Definitions for disk quotas imposed on the average user
+ * (big brother finally hits Linux).
+ *
+ * The following constants define the amount of time given a user
+ * before the soft limits are treated as hard limits (usually resulting
+ * in an allocation failure). The timer is started when the user crosses
+ * their soft limit, it is reset when they go below their soft limit.
+ */
+#define MAX_IQ_TIME  604800	/* (7*24*60*60) 1 week */
+#define MAX_DQ_TIME  604800	/* (7*24*60*60) 1 week */
+
+#define QUOTAFILENAME "quota"
+#define QUOTAGROUP "staff"
+
+#define NR_DQHASH 43          /* Just an arbitrary number any suggestions ? */
+#define NR_DQUOTS 256         /* Number of quotas active at one time */
+
+/* Old name for struct if_dqblk.  */
+struct dqblk
+  {
+    __uint64_t dqb_bhardlimit;	/* absolute limit on disk quota blocks alloc */
+    __uint64_t dqb_bsoftlimit;	/* preferred limit on disk quota blocks */
+    __uint64_t dqb_curspace;	/* current quota block count */
+    __uint64_t dqb_ihardlimit;	/* maximum # allocated inodes */
+    __uint64_t dqb_isoftlimit;	/* preferred inode limit */
+    __uint64_t dqb_curinodes;	/* current # allocated inodes */
+    __uint64_t dqb_btime;	/* time limit for excessive disk use */
+    __uint64_t dqb_itime;	/* time limit for excessive files */
+    __uint32_t dqb_valid;	/* bitmask of QIF_* constants */
+  };
+
+/*
+ * Shorthand notation.
+ */
+#define	dq_bhardlimit	dq_dqb.dqb_bhardlimit
+#define	dq_bsoftlimit	dq_dqb.dqb_bsoftlimit
+#define dq_curspace	dq_dqb.dqb_curspace
+#define dq_valid	dq_dqb.dqb_valid
+#define	dq_ihardlimit	dq_dqb.dqb_ihardlimit
+#define	dq_isoftlimit	dq_dqb.dqb_isoftlimit
+#define	dq_curinodes	dq_dqb.dqb_curinodes
+#define	dq_btime	dq_dqb.dqb_btime
+#define	dq_itime	dq_dqb.dqb_itime
+
+#define dqoff(UID)      ((loff_t)((UID) * sizeof (struct dqblk)))
+
+/* Old name for struct if_dqinfo.  */
+struct dqinfo
+  {
+    __uint64_t dqi_bgrace;
+    __uint64_t dqi_igrace;
+    __uint32_t dqi_flags;
+    __uint32_t dqi_valid;
+  };
+
+__BEGIN_DECLS
+
+extern int quotactl (int __cmd, const char *__special, int __id,
+		     __caddr_t __addr) __THROW;
+
+__END_DECLS
+
+#endif /* sys/quota.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/raw.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/raw.h
new file mode 100644
index 0000000000..0713a0521c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/raw.h
@@ -0,0 +1,38 @@
+/* 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/>.  */
+
+#ifndef _SYS_RAW_H
+#define _SYS_RAW_H	1
+
+#include <stdint.h>
+#include <sys/ioctl.h>
+
+/* The major device number for raw devices.  */
+#define RAW_MAJOR	162
+
+/* `ioctl' commands for raw devices.  */
+#define RAW_SETBIND     _IO(0xac, 0)
+#define RAW_GETBIND     _IO(0xac, 1)
+
+struct raw_config_request
+{
+  int raw_minor;
+  uint64_t block_major;
+  uint64_t block_minor;
+};
+
+#endif /* sys/raw.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/reboot.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/reboot.h
new file mode 100644
index 0000000000..fafd2fb0c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/reboot.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file should define RB_* macros to be used as flag
+   bits in the argument to the `reboot' system call.  */
+
+#ifndef _SYS_REBOOT_H
+#define _SYS_REBOOT_H	1
+
+#include <features.h>
+
+/* Perform a hard reset now.  */
+#define RB_AUTOBOOT	0x01234567
+
+/* Halt the system.  */
+#define RB_HALT_SYSTEM	0xcdef0123
+
+/* Enable reboot using Ctrl-Alt-Delete keystroke.  */
+#define RB_ENABLE_CAD	0x89abcdef
+
+/* Disable reboot using Ctrl-Alt-Delete keystroke.  */
+#define RB_DISABLE_CAD	0
+
+/* Stop system and switch power off if possible.  */
+#define RB_POWER_OFF	0x4321fedc
+
+/* Suspend system using software suspend.  */
+#define RB_SW_SUSPEND	0xd000fce2
+
+/* Reboot system into new kernel.  */
+#define RB_KEXEC	0x45584543
+
+__BEGIN_DECLS
+
+/* Reboot or halt the system.  */
+extern int reboot (int __howto) __THROW;
+
+__END_DECLS
+
+#endif	/* _SYS_REBOOT_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/signalfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/signalfd.h
new file mode 100644
index 0000000000..a01c7d1cc1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/signalfd.h
@@ -0,0 +1,57 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+#define	_SYS_SIGNALFD_H	1
+
+#include <stdint.h>
+#include <bits/types/sigset_t.h>
+
+/* Get the platform-dependent flags.  */
+#include <bits/signalfd.h>
+
+struct signalfd_siginfo
+{
+  uint32_t ssi_signo;
+  int32_t ssi_errno;
+  int32_t ssi_code;
+  uint32_t ssi_pid;
+  uint32_t ssi_uid;
+  int32_t ssi_fd;
+  uint32_t ssi_tid;
+  uint32_t ssi_band;
+  uint32_t ssi_overrun;
+  uint32_t ssi_trapno;
+  int32_t ssi_status;
+  int32_t ssi_int;
+  uint64_t ssi_ptr;
+  uint64_t ssi_utime;
+  uint64_t ssi_stime;
+  uint64_t ssi_addr;
+  uint8_t __pad[48];
+};
+
+__BEGIN_DECLS
+
+/* Request notification for delivery of signals in MASK to be
+   performed using descriptor FD.*/
+extern int signalfd (int __fd, const sigset_t *__mask, int __flags)
+  __THROW __nonnull ((2));
+
+__END_DECLS
+
+#endif /* sys/signalfd.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/soundcard.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/soundcard.h
new file mode 100644
index 0000000000..fade986fe4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/soundcard.h
@@ -0,0 +1 @@
+#include <linux/soundcard.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/swap.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/swap.h
new file mode 100644
index 0000000000..5201c78e7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/swap.h
@@ -0,0 +1,43 @@
+/* Calls to enable and disable swapping on specified locations.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SWAP_H
+
+#define _SYS_SWAP_H	1
+#include <features.h>
+
+/* The swap priority is encoded as:
+   (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
+*/
+#define	SWAP_FLAG_PREFER	0x8000	/* Set if swap priority is specified. */
+#define	SWAP_FLAG_PRIO_MASK	0x7fff
+#define	SWAP_FLAG_PRIO_SHIFT	0
+#define SWAP_FLAG_DISCARD	0x10000	/* Discard swap cluster after use.  */
+
+__BEGIN_DECLS
+
+/* Make the block special device PATH available to the system for swapping.
+   This call is restricted to the super-user.  */
+extern int swapon (const char *__path, int __flags) __THROW;
+
+/* Stop using block special device PATH for swapping.  */
+extern int swapoff (const char *__path) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_SWAP_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/syscall.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/syscall.h
new file mode 100644
index 0000000000..b54fad3fa1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/syscall.h
@@ -0,0 +1,34 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYSCALL_H
+#define _SYSCALL_H	1
+
+/* This file should list the numbers of the system calls the system knows.
+   But instead of duplicating this we use the information available
+   from the kernel sources.  */
+#include <asm/unistd.h>
+
+#ifndef _LIBC
+/* The Linux kernel header file defines macros `__NR_<name>', but some
+   programs expect the traditional form `SYS_<name>'.  So in building libc
+   we scan the kernel's list and produce <bits/syscall.h> with macros for
+   all the `SYS_' names.  */
+# include <bits/syscall.h>
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysctl.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysctl.h
new file mode 100644
index 0000000000..f646fe8765
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysctl.h
@@ -0,0 +1,73 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SYSCTL_H
+#define	_SYS_SYSCTL_H	1
+
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+/* Prevent more kernel headers than necessary to be included.  */
+#ifndef _LINUX_KERNEL_H
+# define _LINUX_KERNEL_H	1
+# define __undef_LINUX_KERNEL_H
+#endif
+#ifndef _LINUX_TYPES_H
+# define _LINUX_TYPES_H		1
+# define __undef_LINUX_TYPES_H
+#endif
+#ifndef _LINUX_LIST_H
+# define _LINUX_LIST_H		1
+# define __undef_LINUX_LIST_H
+#endif
+#ifndef __LINUX_COMPILER_H
+# define __LINUX_COMPILER_H	1
+# define __user
+# define __undef__LINUX_COMPILER_H
+#endif
+
+#include <linux/sysctl.h>
+
+#ifdef __undef_LINUX_KERNEL_H
+# undef _LINUX_KERNEL_H
+# undef __undef_LINUX_KERNEL_H
+#endif
+#ifdef __undef_LINUX_TYPES_H
+# undef _LINUX_TYPES_H
+# undef __undef_LINUX_TYPES_H
+#endif
+#ifdef __undef_LINUX_LIST_H
+# undef _LINUX_LIST_H
+# undef __undef_LINUX_LIST_H
+#endif
+#ifdef __undef__LINUX_COMPILER_H
+# undef __LINUX_COMPILER_H
+# undef __user
+# undef __undef__LINUX_COMPILER_H
+#endif
+
+#include <bits/sysctl.h>
+
+__BEGIN_DECLS
+
+/* Read or write system parameters.  */
+extern int sysctl (int *__name, int __nlen, void *__oldval,
+		   size_t *__oldlenp, void *__newval, size_t __newlen) __THROW;
+
+__END_DECLS
+
+#endif	/* _SYS_SYSCTL_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysinfo.h
new file mode 100644
index 0000000000..72797eac2d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/sysinfo.h
@@ -0,0 +1,47 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SYSINFO_H
+#define _SYS_SYSINFO_H	1
+
+#include <features.h>
+
+/* Get sysinfo structure from kernel header.  */
+#include <linux/kernel.h>
+
+__BEGIN_DECLS
+
+/* Returns information on overall system statistics.  */
+extern int sysinfo (struct sysinfo *__info) __THROW;
+
+
+/* Return number of configured processors.  */
+extern int get_nprocs_conf (void) __THROW;
+
+/* Return number of available processors.  */
+extern int get_nprocs (void) __THROW;
+
+
+/* Return number of physical pages of memory in the system.  */
+extern long int get_phys_pages (void) __THROW;
+
+/* Return number of available physical pages of memory in the system.  */
+extern long int get_avphys_pages (void) __THROW;
+
+__END_DECLS
+
+#endif	/* sys/sysinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/timerfd.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/timerfd.h
new file mode 100644
index 0000000000..9811afe0fa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/timerfd.h
@@ -0,0 +1,55 @@
+/* Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMERFD_H
+#define	_SYS_TIMERFD_H	1
+
+#include <time.h>
+#include <bits/types/struct_itimerspec.h>
+
+/* Get the platform-dependent flags.  */
+#include <bits/timerfd.h>
+
+
+/* Bits to be set in the FLAGS parameter of `timerfd_settime'.  */
+enum
+  {
+    TFD_TIMER_ABSTIME = 1 << 0,
+#define TFD_TIMER_ABSTIME TFD_TIMER_ABSTIME
+    TFD_TIMER_CANCEL_ON_SET = 1 << 1
+#define TFD_TIMER_CANCEL_ON_SET TFD_TIMER_CANCEL_ON_SET
+  };
+
+
+__BEGIN_DECLS
+
+/* Return file descriptor for new interval timer source.  */
+extern int timerfd_create (__clockid_t __clock_id, int __flags) __THROW;
+
+/* Set next expiration time of interval timer source UFD to UTMR.  If
+   FLAGS has the TFD_TIMER_ABSTIME flag set the timeout value is
+   absolute.  Optionally return the old expiration time in OTMR.  */
+extern int timerfd_settime (int __ufd, int __flags,
+			    const struct itimerspec *__utmr,
+			    struct itimerspec *__otmr) __THROW;
+
+/* Return the next expiration time of UFD.  */
+extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW;
+
+__END_DECLS
+
+#endif /* sys/timerfd.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/timex.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/timex.h
new file mode 100644
index 0000000000..3f1b013afd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/timex.h
@@ -0,0 +1,71 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_TIMEX_H
+#define	_SYS_TIMEX_H	1
+
+#include <features.h>
+#include <sys/time.h>
+
+/* These definitions from linux/timex.h as of 2.6.30.  */
+
+#include <bits/timex.h>
+
+#define NTP_API	4	/* NTP API version */
+
+struct ntptimeval
+{
+  struct timeval time;	/* current time (ro) */
+  long int maxerror;	/* maximum error (us) (ro) */
+  long int esterror;	/* estimated error (us) (ro) */
+  long int tai;		/* TAI offset (ro) */
+
+  long int __glibc_reserved1;
+  long int __glibc_reserved2;
+  long int __glibc_reserved3;
+  long int __glibc_reserved4;
+};
+
+/* Clock states (time_state) */
+#define TIME_OK		0	/* clock synchronized, no leap second */
+#define TIME_INS	1	/* insert leap second */
+#define TIME_DEL	2	/* delete leap second */
+#define TIME_OOP	3	/* leap second in progress */
+#define TIME_WAIT	4	/* leap second has occurred */
+#define TIME_ERROR	5	/* clock not synchronized */
+#define TIME_BAD	TIME_ERROR /* bw compat */
+
+/* Maximum time constant of the PLL.  */
+#define MAXTC		6
+
+__BEGIN_DECLS
+
+extern int __adjtimex (struct timex *__ntx) __THROW;
+extern int adjtimex (struct timex *__ntx) __THROW;
+
+#ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv),
+			   ntp_gettimex);
+#else
+extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW;
+# define ntp_gettime ntp_gettimex
+#endif
+extern int ntp_adjtime (struct timex *__tntx) __THROW;
+
+__END_DECLS
+
+#endif /* sys/timex.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/ttydefaults.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/ttydefaults.h
new file mode 100644
index 0000000000..9be168b831
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/ttydefaults.h
@@ -0,0 +1,100 @@
+/*-
+ * Copyright (c) 1982, 1986, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)ttydefaults.h	8.4 (Berkeley) 1/21/94
+ */
+
+/*
+ * System wide defaults for terminal state.  Linux version.
+ */
+#ifndef _SYS_TTYDEFAULTS_H_
+#define	_SYS_TTYDEFAULTS_H_
+
+/*
+ * Defaults on "first" open.
+ */
+#define	TTYDEF_IFLAG	(BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY)
+#define TTYDEF_OFLAG	(OPOST | ONLCR | XTABS)
+#define TTYDEF_LFLAG	(ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
+#define TTYDEF_CFLAG	(CREAD | CS7 | PARENB | HUPCL)
+#define TTYDEF_SPEED	(B9600)
+
+/*
+ * Control Character Defaults
+ */
+#define CTRL(x)	(x&037)
+#define	CEOF		CTRL('d')
+#ifdef _POSIX_VDISABLE
+# define CEOL		_POSIX_VDISABLE
+#else
+# define CEOL		'\0'		/* XXX avoid _POSIX_VDISABLE */
+#endif
+#define	CERASE		0177
+#define	CINTR		CTRL('c')
+#ifdef _POSIX_VDISABLE
+# define CSTATUS	_POSIX_VDISABLE
+#else
+# define CSTATUS	'\0'		/* XXX avoid _POSIX_VDISABLE */
+#endif
+#define	CKILL		CTRL('u')
+#define	CMIN		1
+#define	CQUIT		034		/* FS, ^\ */
+#define	CSUSP		CTRL('z')
+#define	CTIME		0
+#define	CDSUSP		CTRL('y')
+#define	CSTART		CTRL('q')
+#define	CSTOP		CTRL('s')
+#define	CLNEXT		CTRL('v')
+#define	CDISCARD 	CTRL('o')
+#define	CWERASE 	CTRL('w')
+#define	CREPRINT 	CTRL('r')
+#define	CEOT		CEOF
+/* compat */
+#define	CBRK		CEOL
+#define CRPRNT		CREPRINT
+#define	CFLUSH		CDISCARD
+
+/* PROTECTED INCLUSION ENDS HERE */
+#endif /* !_SYS_TTYDEFAULTS_H_ */
+
+/*
+ * #define TTYDEFCHARS to include an array of default control characters.
+ */
+#ifdef TTYDEFCHARS
+cc_t	ttydefchars[NCCS] = {
+	CEOF,	CEOL,	CEOL,	CERASE, CWERASE, CKILL, CREPRINT,
+	_POSIX_VDISABLE, CINTR,	CQUIT,	CSUSP,	CDSUSP,	CSTART,	CSTOP,	CLNEXT,
+	CDISCARD, CMIN,	CTIME,  CSTATUS, _POSIX_VDISABLE
+};
+#undef TTYDEFCHARS
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/user.h
new file mode 100644
index 0000000000..03e56c3d7f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/user.h
@@ -0,0 +1 @@
+#error "This file is machine-dependent and not provided for this machine."
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sys/vt.h b/REORG.TODO/sysdeps/unix/sysv/linux/sys/vt.h
new file mode 100644
index 0000000000..834abfbc8f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sys/vt.h
@@ -0,0 +1 @@
+#include <linux/vt.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/syscalls.list
new file mode 100644
index 0000000000..8bfb080d80
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/syscalls.list
@@ -0,0 +1,111 @@
+# File name	Caller	Syscall name	Args	Strong name	Weak names
+
+adjtimex	adjtime	adjtimex	i:p	__adjtimex	adjtimex ntp_adjtime
+alarm		-	alarm		i:i	alarm
+bdflush		EXTRA	bdflush		i:ii	__compat_bdflush	bdflush@GLIBC_2.0:GLIBC_2.23
+capget		EXTRA	capget		i:pp	capget
+capset		EXTRA	capset		i:pp	capset
+clock_adjtime	EXTRA	clock_adjtime	i:ip	clock_adjtime
+create_module	EXTRA	create_module	3	__compat_create_module	create_module@GLIBC_2.0:GLIBC_2.23
+delete_module	EXTRA	delete_module	3	delete_module
+epoll_create	EXTRA	epoll_create	i:i	epoll_create
+epoll_create1	EXTRA	epoll_create1	i:i	epoll_create1
+epoll_ctl	EXTRA	epoll_ctl	i:iiip	epoll_ctl
+eventfd		EXTRA	eventfd2	i:ii	eventfd
+execve		-	execve		i:spp	__execve	execve
+flock		-	flock		i:ii	__flock		flock
+get_kernel_syms	EXTRA	get_kernel_syms	i:p	__compat_get_kernel_syms	get_kernel_syms@GLIBC_2.0:GLIBC_2.23
+getpid          -       getpid          Ei:     __getpid        getpid
+getegid		-	getegid		Ei:	__getegid	getegid
+geteuid		-	geteuid		Ei:	__geteuid	geteuid
+getpgid		-	getpgid		i:i	__getpgid	getpgid
+getpgrp		-	getpgrp		Ei:	getpgrp
+getpmsg		-	getpmsg		i:ipppp	getpmsg
+getppid		-	getppid		Ei:	__getppid	getppid
+getresuid	-	getresuid	i:ppp	getresuid
+getresgid	-	getresgid	i:ppp	getresgid
+getsid		-	getsid		i:i	getsid
+init_module	EXTRA	init_module	5	init_module
+inotify_add_watch	EXTRA	inotify_add_watch	i:isi	inotify_add_watch
+inotify_init	EXTRA	inotify_init	i:	inotify_init
+inotify_init1	EXTRA	inotify_init1	i:I	inotify_init1
+inotify_rm_watch	EXTRA	inotify_rm_watch	i:ii	inotify_rm_watch
+ioperm		-	ioperm		i:iii	ioperm
+iopl		-	iopl		i:i	iopl
+klogctl		EXTRA	syslog		i:isi	klogctl
+lchown		-	lchown		i:sii	__lchown	lchown
+mincore		-	mincore		i:anV	mincore
+mlock		-	mlock		i:bn	mlock
+mlockall	-	mlockall	i:i	mlockall
+mount		EXTRA	mount		i:sssip	__mount	mount
+mremap		EXTRA	mremap		b:ainip	__mremap	mremap
+munlock		-	munlock		i:ai	munlock
+munlockall	-	munlockall	i:	munlockall
+nfsservctl	EXTRA	nfsservctl	i:ipp	nfsservctl
+pipe		-	pipe		i:f	__pipe		pipe
+pipe2		-	pipe2		i:fi	__pipe2		pipe2
+pivot_root	EXTRA	pivot_root	i:ss	pivot_root
+prctl		EXTRA	prctl		i:iiiii	__prctl		prctl
+putpmsg		-	putpmsg		i:ippii	putpmsg
+query_module	EXTRA	query_module	i:sipip	__compat_query_module	query_module@GLIBC_2.0:GLIBC_2.23
+quotactl	EXTRA	quotactl	i:isip	quotactl
+remap_file_pages -	remap_file_pages i:piiii	__remap_file_pages remap_file_pages
+sched_getp	-	sched_getparam	i:ip	__sched_getparam	sched_getparam
+sched_gets	-	sched_getscheduler	i:i	__sched_getscheduler	sched_getscheduler
+sched_primax	-	sched_get_priority_max	i:i	__sched_get_priority_max	sched_get_priority_max
+sched_primin	-	sched_get_priority_min	i:i	__sched_get_priority_min	sched_get_priority_min
+sched_rr_gi	-	sched_rr_get_interval	i:ip	__sched_rr_get_interval	sched_rr_get_interval
+sched_setp	-	sched_setparam	i:ip	__sched_setparam	sched_setparam
+sched_sets	-	sched_setscheduler	i:iip	__sched_setscheduler	sched_setscheduler
+sched_yield	-	sched_yield	i:	__sched_yield	sched_yield
+sendfile	-	sendfile	i:iipi	sendfile
+sendfile64	-	sendfile64	i:iipi	sendfile64
+setfsgid	EXTRA	setfsgid	i:i	setfsgid
+setfsuid	EXTRA	setfsuid	i:i	setfsuid
+setpgid		-	setpgid		i:ii	__setpgid	setpgid
+sigaltstack	-	sigaltstack	i:PP	__sigaltstack	sigaltstack
+stime		-	stime		i:p	stime
+sysinfo		EXTRA	sysinfo		i:p	__sysinfo	sysinfo
+swapon		-	swapon		i:si	__swapon	swapon
+swapoff		-	swapoff		i:s	__swapoff	swapoff
+unshare		EXTRA	unshare		i:i	unshare
+uselib		EXTRA	uselib		i:s	__compat_uselib	uselib@GLIBC_2.0:GLIBC_2.23
+utime		-	utime		i:sP	utime
+wait4		-	wait4		i:iWiP	__wait4		wait4
+
+chown		-	chown		i:sii	__libc_chown	__chown chown
+
+fchownat	-	fchownat	i:isiii	fchownat
+linkat		-	linkat		i:isisi	linkat
+mkdirat		-	mkdirat		i:isi	mkdirat
+readlinkat	-	readlinkat	i:issi	readlinkat
+symlinkat	-	symlinkat	i:sis	symlinkat
+unlinkat	-	unlinkat	i:isi	unlinkat
+
+setxattr	-	setxattr	i:sspii	setxattr
+lsetxattr	-	lsetxattr	i:sspii	lsetxattr
+fsetxattr	-	fsetxattr	i:ispii	fsetxattr
+getxattr	-	getxattr	i:sspi	getxattr
+lgetxattr	-	lgetxattr	i:sspi	lgetxattr
+fgetxattr	-	fgetxattr	i:ispi	fgetxattr
+listxattr	-	listxattr	i:ssi	listxattr
+llistxattr	-	llistxattr	i:ssi	llistxattr
+flistxattr	-	flistxattr	i:isi	flistxattr
+removexattr	-	removexattr	i:ss	removexattr
+lremovexattr	-	lremovexattr	i:ss	lremovexattr
+fremovexattr	-	fremovexattr	i:is	fremovexattr
+
+mq_setattr	-	mq_getsetattr	i:ipp	mq_setattr
+
+timerfd_create	EXTRA	timerfd_create	i:ii	timerfd_create
+timerfd_settime	EXTRA	timerfd_settime	i:iipp	timerfd_settime
+timerfd_gettime	EXTRA	timerfd_gettime	i:ip	timerfd_gettime
+
+fanotify_init	EXTRA	fanotify_init	i:ii	fanotify_init
+
+name_to_handle_at EXTRA	name_to_handle_at i:isppi name_to_handle_at
+
+setns		EXTRA	setns		i:ii	setns
+
+process_vm_readv EXTRA	process_vm_readv i:ipipii process_vm_readv
+process_vm_writev EXTRA	process_vm_writev i:ipipii process_vm_writev
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/sysconf.c
new file mode 100644
index 0000000000..db20977cb8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sysconf.c
@@ -0,0 +1,146 @@
+/* Get file-specific information about a file.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <sysdep.h>
+#include <time.h>
+#include <unistd.h>
+#include <sys/resource.h>
+#include <sys/param.h>
+#include <not-cancel.h>
+#include <ldsodefs.h>
+
+/* Legacy value of ARG_MAX.  The macro is now not defined since the
+   actual value varies based on the stack size.  */
+#define legacy_ARG_MAX 131072
+
+
+static long int posix_sysconf (int name);
+
+
+#ifndef HAS_CPUCLOCK
+static long int
+has_cpuclock (int name)
+{
+# if defined __NR_clock_getres || HP_TIMING_AVAIL
+  /* If we have HP_TIMING, we will fall back on that if the system
+     call does not work, so we support it either way.  */
+#  if !HP_TIMING_AVAIL
+  /* Check using the clock_getres system call.  */
+  struct timespec ts;
+  INTERNAL_SYSCALL_DECL (err);
+  int r = INTERNAL_SYSCALL (clock_getres, err, 2,
+			    (name == _SC_CPUTIME
+			     ? CLOCK_PROCESS_CPUTIME_ID
+			     : CLOCK_THREAD_CPUTIME_ID),
+			    &ts);
+  if (INTERNAL_SYSCALL_ERROR_P (r, err))
+    return -1;
+#  endif
+  return _POSIX_VERSION;
+# else
+  return -1;
+# endif
+}
+# define HAS_CPUCLOCK(name) has_cpuclock (name)
+#endif
+
+
+/* Get the value of the system variable NAME.  */
+long int
+__sysconf (int name)
+{
+  const char *procfname = NULL;
+
+  switch (name)
+    {
+      struct rlimit rlimit;
+#ifdef __NR_clock_getres
+    case _SC_MONOTONIC_CLOCK:
+      /* Check using the clock_getres system call.  */
+      {
+	struct timespec ts;
+	INTERNAL_SYSCALL_DECL (err);
+	int r;
+	r = INTERNAL_SYSCALL (clock_getres, err, 2, CLOCK_MONOTONIC, &ts);
+	return INTERNAL_SYSCALL_ERROR_P (r, err) ? -1 : _POSIX_VERSION;
+      }
+#endif
+
+    case _SC_CPUTIME:
+    case _SC_THREAD_CPUTIME:
+      return HAS_CPUCLOCK (name);
+
+    case _SC_ARG_MAX:
+      /* Use getrlimit to get the stack limit.  */
+      if (__getrlimit (RLIMIT_STACK, &rlimit) == 0)
+	return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4);
+
+      return legacy_ARG_MAX;
+
+    case _SC_NGROUPS_MAX:
+      /* Try to read the information from the /proc/sys/kernel/ngroups_max
+	 file.  */
+      procfname = "/proc/sys/kernel/ngroups_max";
+      break;
+
+    case _SC_SIGQUEUE_MAX:
+      if (__getrlimit (RLIMIT_SIGPENDING, &rlimit) == 0)
+	return rlimit.rlim_cur;
+
+      /* The /proc/sys/kernel/rtsig-max file contains the answer.  */
+      procfname = "/proc/sys/kernel/rtsig-max";
+      break;
+
+    default:
+      break;
+    }
+
+  if (procfname != NULL)
+    {
+      int fd = open_not_cancel_2 (procfname, O_RDONLY);
+      if (fd != -1)
+	{
+	  /* This is more than enough, the file contains a single integer.  */
+	  char buf[32];
+	  ssize_t n;
+	  n = TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, sizeof (buf) - 1));
+	  close_not_cancel_no_status (fd);
+
+	  if (n > 0)
+	    {
+	      /* Terminate the string.  */
+	      buf[n] = '\0';
+
+	      char *endp;
+	      long int res = strtol (buf, &endp, 10);
+	      if (endp != buf && (*endp == '\0' || *endp == '\n'))
+		return res;
+	    }
+	}
+    }
+
+  return posix_sysconf (name);
+}
+
+/* Now the POSIX version.  */
+#undef __sysconf
+#define __sysconf static posix_sysconf
+#include <sysdeps/posix/sysconf.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.c
new file mode 100644
index 0000000000..52f21e3869
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.c
@@ -0,0 +1,43 @@
+/* Read or write system information.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>	/* For the real memset prototype.  */
+#include <sys/sysctl.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+int
+__sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
+	  void *newval, size_t newlen)
+{
+  struct __sysctl_args args =
+  {
+    .name = name,
+    .nlen = nlen,
+    .oldval = oldval,
+    .oldlenp = oldlenp,
+    .newval = newval,
+    .newlen = newlen
+  };
+
+  return INLINE_SYSCALL (_sysctl, 1, &args);
+}
+libc_hidden_def (__sysctl)
+weak_alias (__sysctl, sysctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.mk b/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.mk
new file mode 100644
index 0000000000..8d04d12e25
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sysctl.mk
@@ -0,0 +1,3 @@
+# sysctl system call has been deprecated.  It is provided for backward
+# compatility.  New target shouldn't add it (see x86_64/x32/sysctl.mk).
+sysdep_routines += sysctl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sysdep-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/sysdep-vdso.h
new file mode 100644
index 0000000000..faf5698b61
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sysdep-vdso.h
@@ -0,0 +1,98 @@
+/* vDSO common definition for Linux.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef SYSDEP_VDSO_LINUX_H
+# define SYSDEP_VDSO_LINUX_H
+
+#define VDSO_SYMBOL(__name) __vdso_##__name
+
+#ifndef INTERNAL_VSYSCALL_CALL
+# define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		      \
+     funcptr (args)
+#endif
+
+#ifdef SHARED
+
+# ifdef HAVE_VSYSCALL
+
+#  include <libc-vdso.h>
+
+#  define INLINE_VSYSCALL(name, nr, args...)				      \
+  ({									      \
+    __label__ out;							      \
+    __label__ iserr;							      \
+    INTERNAL_SYSCALL_DECL (sc_err);					      \
+    long int sc_ret;							      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      {									      \
+	sc_ret = INTERNAL_VSYSCALL_CALL (vdsop, sc_err, nr, ##args);	      \
+	if (!INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err))			      \
+	  goto out;							      \
+	if (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err) != ENOSYS)		      \
+	  goto iserr;							      \
+      }									      \
+									      \
+    sc_ret = INTERNAL_SYSCALL (name, sc_err, nr, ##args);		      \
+    if (INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err))			      \
+      {									      \
+      iserr:								      \
+        __set_errno (INTERNAL_SYSCALL_ERRNO (sc_ret, sc_err));		      \
+        sc_ret = -1L;							      \
+      }									      \
+  out:									      \
+    sc_ret;								      \
+  })
+
+#  define INTERNAL_VSYSCALL(name, err, nr, args...)			      \
+  ({									      \
+    __label__ out;							      \
+    long v_ret;								      \
+									      \
+    __typeof (__vdso_##name) vdsop = __vdso_##name;			      \
+    PTR_DEMANGLE (vdsop);						      \
+    if (vdsop != NULL)							      \
+      {									      \
+	v_ret = INTERNAL_VSYSCALL_CALL (vdsop, err, nr, ##args);	      \
+	if (!INTERNAL_SYSCALL_ERROR_P (v_ret, err)			      \
+	    || INTERNAL_SYSCALL_ERRNO (v_ret, err) != ENOSYS)		      \
+	  goto out;							      \
+      }									      \
+    v_ret = INTERNAL_SYSCALL (name, err, nr, ##args);			      \
+  out:									      \
+    v_ret;								      \
+  })
+# else
+#  define INLINE_VSYSCALL(name, nr, args...) \
+    INLINE_SYSCALL (name, nr, ##args)
+#  define INTERNAL_VSYSCALL(name, err, nr, args...) \
+    INTERNAL_SYSCALL (name, err, nr, ##args)
+# endif /* HAVE_VSYSCALL  */
+
+# else /* SHARED  */
+
+#  define INLINE_VSYSCALL(name, nr, args...) \
+    INLINE_SYSCALL (name, nr, ##args)
+#  define INTERNAL_VSYSCALL(name, err, nr, args...) \
+    INTERNAL_SYSCALL (name, err, nr, ##args)
+
+#endif /* SHARED  */
+
+#endif /* SYSDEP_VDSO_LINUX_H  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sysdep.h
new file mode 100644
index 0000000000..1c24766e48
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sysdep.h
@@ -0,0 +1,68 @@
+/* Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <bits/wordsize.h>
+#include <kernel-features.h>
+
+/* Set error number and return -1.  A target may choose to return the
+   internal function, __syscall_error, which sets errno and returns -1.
+   We use -1l, instead of -1, so that it can be casted to (void *).  */
+#define INLINE_SYSCALL_ERROR_RETURN_VALUE(err)  \
+  ({						\
+    __set_errno (err);				\
+    -1l;					\
+  })
+
+/* Provide a dummy argument that can be used to force register
+   alignment for register pairs if required by the syscall ABI.  */
+#ifdef __ASSUME_ALIGNED_REGISTER_PAIRS
+#define __ALIGNMENT_ARG 0,
+#define __ALIGNMENT_COUNT(a,b) b
+#else
+#define __ALIGNMENT_ARG
+#define __ALIGNMENT_COUNT(a,b) a
+#endif
+
+/* Provide a common macro to pass 64-bit value on syscalls.  */
+#if __WORDSIZE == 64 || defined __ASSUME_WORDSIZE64_ILP32
+# define SYSCALL_LL(val)   (val)
+# define SYSCALL_LL64(val) (val)
+#else
+#define SYSCALL_LL(val)   \
+  __LONG_LONG_PAIR ((val) >> 31, (val))
+#define SYSCALL_LL64(val) \
+  __LONG_LONG_PAIR ((long) ((val) >> 32), (long) ((val) & 0xffffffff))
+#endif
+
+/* Provide a common macro to pass 64-bit value on pread and pwrite
+   syscalls.  */
+#ifdef __ASSUME_PRW_DUMMY_ARG
+# define SYSCALL_LL_PRW(val)   0, SYSCALL_LL (val)
+# define SYSCALL_LL64_PRW(val) 0, SYSCALL_LL64 (val)
+#else
+# define SYSCALL_LL_PRW(val)   __ALIGNMENT_ARG SYSCALL_LL (val)
+# define SYSCALL_LL64_PRW(val) __ALIGNMENT_ARG SYSCALL_LL64 (val)
+#endif
+
+/* Provide a macro to pass the off{64}_t argument on p{readv,writev}{64}.  */
+#define LO_HI_LONG(val) \
+ (long) (val), \
+ (long) (((uint64_t) (val)) >> 32)
+
+/* Exports the __send symbol on send.c linux implementation (some ABI have
+   it missing due the usage of a old generic version without it).  */
+#define HAVE_INTERNAL_SEND_SYMBOL	1
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/syslog.c b/REORG.TODO/sysdeps/unix/sysv/linux/syslog.c
new file mode 100644
index 0000000000..cf8ce23385
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/syslog.c
@@ -0,0 +1,4 @@
+#define NO_SIGPIPE
+#define send_flags MSG_NOSIGNAL
+
+#include <misc/syslog.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/system.c b/REORG.TODO/sysdeps/unix/sysv/linux/system.c
new file mode 100644
index 0000000000..012ffd828d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/system.c
@@ -0,0 +1,76 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <string.h>	/* For the real memset prototype.  */
+#include <sysdep.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <libc-lock.h>
+
+/* We have to and actually can handle cancelable system().  The big
+   problem: we have to kill the child process if necessary.  To do
+   this a cleanup handler has to be registered and is has to be able
+   to find the PID of the child.  The main problem is to reliable have
+   the PID when needed.  It is not necessary for the parent thread to
+   return.  It might still be in the kernel when the cancellation
+   request comes.  Therefore we have to use the clone() calls ability
+   to have the kernel write the PID into the user-level variable.  */
+#ifndef FORK
+# define FORK() \
+  INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid)
+#endif
+
+#ifdef _LIBC_REENTRANT
+static void cancel_handler (void *arg);
+
+# define CLEANUP_HANDLER \
+  __libc_cleanup_region_start (1, cancel_handler, &pid)
+
+# define CLEANUP_RESET \
+  __libc_cleanup_region_end (0)
+#endif
+
+
+/* Linux has waitpid(), so override the generic unix version.  */
+#include <sysdeps/posix/system.c>
+
+
+#ifdef _LIBC_REENTRANT
+/* The cancellation handler.  */
+static void
+cancel_handler (void *arg)
+{
+  pid_t child = *(pid_t *) arg;
+
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (kill, err, 2, child, SIGKILL);
+
+  TEMP_FAILURE_RETRY (__waitpid (child, NULL, 0));
+
+  DO_LOCK ();
+
+  if (SUB_REF () == 0)
+    {
+      (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
+      (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
+    }
+
+  DO_UNLOCK ();
+}
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcdrain.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcdrain.c
new file mode 100644
index 0000000000..07f20c172f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcdrain.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sysdep-cancel.h>
+
+/* Wait for pending output to be written on FD.  */
+int
+__libc_tcdrain (int fd)
+{
+  /* With an argument of 1, TCSBRK for output to be drain.  */
+  return SYSCALL_CANCEL (ioctl, fd, TCSBRK, 1);
+}
+weak_alias (__libc_tcdrain, tcdrain)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcflow.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcflow.c
new file mode 100644
index 0000000000..da3f1554c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcflow.c
@@ -0,0 +1,28 @@
+/* tcflow -- Suspend or restart transmission on termios file descriptor.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+
+/* Suspend or restart transmission on FD.  */
+int
+tcflow (int fd, int action)
+{
+  return __ioctl (fd, TCXONC, action);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcflush.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcflush.c
new file mode 100644
index 0000000000..e5fec93c4d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcflush.c
@@ -0,0 +1,28 @@
+/* tcflush -- Flush pending data on termios file descriptor.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+
+/* Flush pending data on FD.  */
+int
+tcflush (int fd, int queue_selector)
+{
+  return __ioctl (fd, TCFLSH, queue_selector);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcgetattr.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcgetattr.c
new file mode 100644
index 0000000000..b1d73d042a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcgetattr.c
@@ -0,0 +1,79 @@
+/* Copyright (C) 1992-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <termios.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sysdep.h>
+
+/* The difference here is that the termios structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_termios.h>
+
+/* Put the state of FD into *TERMIOS_P.  */
+int
+__tcgetattr (int fd, struct termios *termios_p)
+{
+  struct __kernel_termios k_termios;
+  int retval;
+
+  retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
+
+  if (__glibc_likely (retval == 0))
+    {
+      termios_p->c_iflag = k_termios.c_iflag;
+      termios_p->c_oflag = k_termios.c_oflag;
+      termios_p->c_cflag = k_termios.c_cflag;
+      termios_p->c_lflag = k_termios.c_lflag;
+      termios_p->c_line = k_termios.c_line;
+#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
+# ifdef _HAVE_C_ISPEED
+      termios_p->c_ispeed = k_termios.c_ispeed;
+# else
+      termios_p->c_ispeed = k_termios.c_cflag & (CBAUD | CBAUDEX);
+# endif
+#endif
+#ifdef _HAVE_STRUCT_TERMIOS_C_OSPEED
+# ifdef _HAVE_C_OSPEED
+      termios_p->c_ospeed = k_termios.c_ospeed;
+# else
+      termios_p->c_ospeed = k_termios.c_cflag & (CBAUD | CBAUDEX);
+# endif
+#endif
+      if (sizeof (cc_t) == 1 || _POSIX_VDISABLE == 0
+	  || (unsigned char) _POSIX_VDISABLE == (unsigned char) -1)
+	memset (__mempcpy (&termios_p->c_cc[0], &k_termios.c_cc[0],
+			   __KERNEL_NCCS * sizeof (cc_t)),
+		_POSIX_VDISABLE, (NCCS - __KERNEL_NCCS) * sizeof (cc_t));
+      else
+	{
+	  memcpy (&termios_p->c_cc[0], &k_termios.c_cc[0],
+		  __KERNEL_NCCS * sizeof (cc_t));
+
+	  for (size_t cnt = __KERNEL_NCCS; cnt < NCCS; ++cnt)
+	    termios_p->c_cc[cnt] = _POSIX_VDISABLE;
+	}
+    }
+
+  return retval;
+}
+
+weak_alias (__tcgetattr, tcgetattr)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcgetpgrp.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcgetpgrp.c
new file mode 100644
index 0000000000..d899fc78f8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcgetpgrp.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/tcgetpgrp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcsendbrk.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcsendbrk.c
new file mode 100644
index 0000000000..3197020c97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcsendbrk.c
@@ -0,0 +1,44 @@
+/* Send break to terminal.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+
+/* Send zero bits on FD.  */
+int
+tcsendbreak (int fd, int duration)
+{
+  /* The break lasts 0.25 to 0.5 seconds if DURATION is zero,
+     and an implementation-defined period if DURATION is nonzero.
+     We define a positive DURATION to be number of milliseconds to break.  */
+  if (duration <= 0)
+    return __ioctl (fd, TCSBRK, 0);
+
+#ifdef TCSBRKP
+  /* Probably Linux-specific: a positive third TCSBRKP ioctl argument is
+     defined to be the number of 100ms units to break.  */
+  return __ioctl (fd, TCSBRKP, (duration + 99) / 100);
+#else
+  /* ioctl can't send a break of any other duration for us.
+     This could be changed to use trickery (e.g. lower speed and
+     send a '\0') to send the break, but for now just return an error.  */
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcsetattr.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcsetattr.c
new file mode 100644
index 0000000000..c7d1d6539e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcsetattr.c
@@ -0,0 +1,80 @@
+/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <string.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sysdep.h>
+
+/* The difference here is that the termios structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_termios.h>
+
+
+/* This is a gross hack around a kernel bug.  If the cfsetispeed functions
+   is called with the SPEED argument set to zero this means use the same
+   speed as for output.  But we don't have independent input and output
+   speeds and therefore cannot record this.
+
+   We use an unused bit in the `c_iflag' field to keep track of this
+   use of `cfsetispeed'.  The value here must correspond to the one used
+   in `speed.c'.  */
+#define IBAUD0	020000000000
+
+
+/* Set the state of FD to *TERMIOS_P.  */
+int
+tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+{
+  struct __kernel_termios k_termios;
+  unsigned long int cmd;
+
+  switch (optional_actions)
+    {
+    case TCSANOW:
+      cmd = TCSETS;
+      break;
+    case TCSADRAIN:
+      cmd = TCSETSW;
+      break;
+    case TCSAFLUSH:
+      cmd = TCSETSF;
+      break;
+    default:
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+    }
+
+  k_termios.c_iflag = termios_p->c_iflag & ~IBAUD0;
+  k_termios.c_oflag = termios_p->c_oflag;
+  k_termios.c_cflag = termios_p->c_cflag;
+  k_termios.c_lflag = termios_p->c_lflag;
+  k_termios.c_line = termios_p->c_line;
+#if defined _HAVE_C_ISPEED && defined _HAVE_STRUCT_TERMIOS_C_ISPEED
+  k_termios.c_ispeed = termios_p->c_ispeed;
+#endif
+#if defined _HAVE_C_OSPEED && defined _HAVE_STRUCT_TERMIOS_C_OSPEED
+  k_termios.c_ospeed = termios_p->c_ospeed;
+#endif
+  memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
+	  __KERNEL_NCCS * sizeof (cc_t));
+
+  return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+}
+libc_hidden_def (tcsetattr)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tcsetpgrp.c b/REORG.TODO/sysdeps/unix/sysv/linux/tcsetpgrp.c
new file mode 100644
index 0000000000..e4d4833901
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tcsetpgrp.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/tcsetpgrp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tee.c b/REORG.TODO/sysdeps/unix/sysv/linux/tee.c
new file mode 100644
index 0000000000..3d503fb1c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tee.c
@@ -0,0 +1,26 @@
+/* Linux duplicating pipe content implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+tee (int src, int dest, size_t len, unsigned int flags)
+{
+  return SYSCALL_CANCEL (tee, src, dest, len, flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/termio.h b/REORG.TODO/sysdeps/unix/sysv/linux/termio.h
new file mode 100644
index 0000000000..0e610f0c56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/termio.h
@@ -0,0 +1,6 @@
+/* Compatible <termio.h> for old `struct termio' ioctl interface.
+   This is obsolete; use the POSIX.1 `struct termios' interface
+   defined in <termios.h> instead.  */
+
+#include <termios.h>
+#include <sys/ioctl.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/test-errno-linux.c b/REORG.TODO/sysdeps/unix/sysv/linux/test-errno-linux.c
new file mode 100644
index 0000000000..87ed103c99
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/test-errno-linux.c
@@ -0,0 +1,181 @@
+/* Test that failing system calls do set errno to the correct value.
+   Linux sycalls version.
+
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <mqueue.h>
+#include <sched.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <sys/epoll.h>
+#include <sys/eventfd.h>
+#include <sys/file.h>
+#include <sys/fsuid.h>
+#include <sys/inotify.h>
+#include <sys/mman.h>
+#include <sys/poll.h>
+#include <sys/quota.h>
+#include <sys/resource.h>
+#include <sys/select.h>
+#include <sys/sendfile.h>
+#include <sys/swap.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+/* This is not an exhaustive test: only system calls that can be
+   persuaded to fail with a consistent error code and no side effects
+   are included.  Usually these are failures due to invalid arguments,
+   with errno code EBADF or EINVAL.  The order of argument checks is
+   unspecified, so we must take care to provide arguments that only
+   allow _one_ failure mode.
+
+   Note that all system calls that can fail with EFAULT are permitted
+   to deliver a SIGSEGV signal instead, so we avoid supplying invalid
+   pointers in general, and we do not attempt to test system calls
+   that can only fail with EFAULT (e.g. gettimeofday, gethostname).
+
+   Also note that root-only system calls (e.g. acct, reboot) may, when
+   the test is run as an unprivileged user, fail due to insufficient
+   privileges before bothering to do argument checks, so those are not
+   tested either.
+
+   Also, system calls that take enum or a set of flags as argument is
+   not tested if POSIX doesn't specify exact binary values for all
+   flags, and so any value passed to flags may become valid.
+
+   Some tests assume "/bin/sh" names a file that exists and is not a
+   directory.  */
+
+#define test_wrp_rv(rtype, prtype, experr, syscall, ...)	\
+  (__extension__ ({						\
+    errno = 0xdead;						\
+    rtype ret = syscall (__VA_ARGS__);				\
+    int err = errno;						\
+    int fail;							\
+    if ((ret == (rtype) -1) && (err == experr))			\
+      fail = 0;							\
+    else							\
+      {								\
+        fail = 1;						\
+        if (ret != (rtype) -1)					\
+          printf ("FAIL: " #syscall ": didn't fail as expected"	\
+		  " (return "prtype")\n", ret);			\
+        else if (err == 0xdead)					\
+          puts ("FAIL: " #syscall ": didn't update errno");	\
+        else if (err != experr)					\
+          printf ("FAIL: " #syscall				\
+		  ": errno is: %d (%s) expected: %d (%s)\n",	\
+		  err, strerror (err), experr, strerror (experr));\
+      }								\
+    fail;							\
+  }))
+
+#define test_wrp_rv2(rtype, prtype, experr1, experr2, syscall, ...) 	\
+  (__extension__ ({							\
+    errno = 0xdead;							\
+    rtype ret = syscall (__VA_ARGS__);					\
+    int err = errno;							\
+    int fail;								\
+    if ((ret == (rtype) -1) && ((err == experr1) || (err == experr2)))	\
+      fail = 0;								\
+    else								\
+      {									\
+        fail = 1;							\
+        if (ret != (rtype) -1)						\
+          printf ("FAIL: " #syscall ": didn't fail as expected"		\
+		  " (return "prtype")\n", ret);				\
+        else if (err == 0xdead)						\
+          puts ("FAIL: " #syscall ": didn't update errno");		\
+        else if (err != experr1 && err != experr2)			\
+          printf ("FAIL: " #syscall					\
+		  ": errno is: %d (%s) expected: %d (%s) or %d (%s)\n",	\
+		  err, strerror (err), experr1, strerror (experr1),	\
+		  experr2, strerror (experr2));				\
+      }									\
+    fail;								\
+  }))
+
+#define test_wrp(experr, syscall, ...)				\
+  test_wrp_rv(int, "%d", experr, syscall, __VA_ARGS__)
+
+#define test_wrp2(experr1, experr2, syscall, ...)		\
+  test_wrp_rv2(int, "%d", experr1, experr2, syscall, __VA_ARGS__)
+
+static int
+do_test (void)
+{
+  fd_set rs, ws, es;
+  int status;
+  off_t off;
+  stack_t ss;
+  struct dqblk dqblk;
+  struct epoll_event epoll_event;
+  struct pollfd pollfd;
+  struct sched_param sch_param;
+  struct timespec ts;
+  struct timeval tv;
+  unsigned char vec[16];
+  ss.ss_flags = ~SS_DISABLE;
+  ts.tv_sec = -1;
+
+  int fails = 0;
+  fails |= test_wrp (EINVAL, epoll_create, -1);
+  fails |= test_wrp (EINVAL, epoll_create1, EPOLL_CLOEXEC + 1);
+  fails |= test_wrp (EBADF, epoll_ctl, -1, EPOLL_CTL_ADD, 0, &epoll_event);
+  fails |= test_wrp (EBADF, epoll_wait, -1, &epoll_event, 1, 1);
+  fails |= test_wrp (EBADF, fdatasync, -1);
+  fails |= test_wrp (EBADF, flock, -1, LOCK_SH);
+  fails |= test_wrp (ESRCH, getpgid, -1);
+  /* Linux v3.8 (676a0675c) removed the test to check at least one valid
+     bit in flags (to return EINVAL).  It was later added back in v3.9
+     (04df32fa1).  */
+  fails |= test_wrp2 (EINVAL, EBADF, inotify_add_watch, -1, "/", 0);
+  fails |= test_wrp (EINVAL, mincore, (void *) -1, 0, vec);
+  /* mlock fails if the result of the addition addr+len was less than addr
+     (which indicates final address overflow), however on 32 bits binaries
+     running on 64 bits kernels, internal syscall address check won't result
+     in an invalid address and thus syscalls fails later in vma
+     allocation.  */
+  fails |= test_wrp2 (EINVAL, ENOMEM, mlock, (void *) -1, 1);
+  fails |= test_wrp (EINVAL, nanosleep, &ts, &ts);
+  fails |= test_wrp (EINVAL, poll, &pollfd, -1, 0);
+  /* quotactl returns ENOSYS for kernels not configured with CONFIG_QUOTA.  */
+  fails |= test_wrp2 (ENODEV, ENOSYS, quotactl, Q_GETINFO, NULL, -1,
+                     (caddr_t) &dqblk);
+  fails |= test_wrp (EINVAL, sched_getparam, -1, &sch_param);
+  fails |= test_wrp (EINVAL, sched_getscheduler, -1);
+  fails |= test_wrp (EINVAL, sched_get_priority_max, -1);
+  fails |= test_wrp (EINVAL, sched_get_priority_min, -1);
+  fails |= test_wrp (EINVAL, sched_rr_get_interval, -1, &ts);
+  fails |= test_wrp (EINVAL, sched_setparam, -1, &sch_param);
+  fails |= test_wrp (EINVAL, sched_setscheduler, -1, 0, &sch_param);
+  fails |= test_wrp (EINVAL, select, -1, &rs, &ws, &es, &tv);
+  fails |= test_wrp (EBADF, sendfile, -1, -1, &off, 0);
+  fails |= test_wrp (EINVAL, sigaltstack, &ss, NULL);
+  fails |= test_wrp (ECHILD, wait4, -1, &status, 0, NULL);
+
+  return fails;
+}
+
+#include "support/test-driver.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Implies
new file mode 100644
index 0000000000..e050152859
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Implies
@@ -0,0 +1 @@
+tile/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Makefile
new file mode 100644
index 0000000000..04605a69ac
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Makefile
@@ -0,0 +1,28 @@
+ifeq ($(subdir),misc)
+
+# <sys/reg.h> provides something like x86 compatibility.
+# New code should probably use <arch/abi.h> instead.
+sysdep_headers += sys/reg.h
+
+# MIPS-style cacheflush routine
+sysdep_headers += sys/cachectl.h
+sysdep_routines += cacheflush
+
+# Control dataplane properties of current thread (compatibility only).
+sysdep_routines += set_dataplane
+
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
+sysdep-dl-routines += dl-static
+endif
+endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Versions
new file mode 100644
index 0000000000..13da68fa79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/Versions
@@ -0,0 +1,18 @@
+ld {
+  GLIBC_PRIVATE {
+    # used for loading by static libraries
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_2.12 {
+    _flush_cache;
+    cacheflush;
+    fallocate64;
+    set_dataplane;
+  }
+  GLIBC_PRIVATE {
+    __syscall_error;
+    __vdso_clock_gettime;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/arch-fork.h
new file mode 100644
index 0000000000..6952305d5a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/arch-fork.h
@@ -0,0 +1,29 @@
+/* ARCH_FORK definition for Linux fork implementation.  Tile* version.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+   Based on work contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 4,						      \
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,        \
+		  0, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/environments.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/environments.h
new file mode 100644
index 0000000000..67cfc846ca
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/environments.h
@@ -0,0 +1,100 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+   Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
+   # undef _POSIX_V6_ILP32_OFF32
+   # undef _POSIX_V6_ILP32_OFFBIG
+   # undef _XBS5_ILP32_OFF32
+   # undef _XBS5_ILP32_OFFBIG
+   and users need to check at runtime.  */
+
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64	1
+# define _POSIX_V6_LP64_OFF64	1
+# define _XBS5_LP64_OFF64	1
+
+#else /* __WORDSIZE == 32 */
+
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32	1
+# define _POSIX_V7_ILP32_OFFBIG	1
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
+# define _XBS5_ILP32_OFF32	1
+# define _XBS5_ILP32_OFFBIG	1
+
+/* We optionally provide an environment with the above size but an 64-bit
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
+
+/* Environments with 64-bit wide pointers can be provided,
+   so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
+   # undef _POSIX_V6_LP64_OFF64
+   # undef _POSIX_V6_LPBIG_OFFBIG
+   # undef _XBS5_LP64_OFF64
+   # undef _XBS5_LPBIG_OFFBIG
+   and sysconf tests for it at runtime.  */
+
+#endif /* __WORDSIZE == 32 */
+
+#ifdef __tilegx__
+/* Only TILE-Gx has the ability to choose 32- or 64-bit. */
+#define __ILP32_OFF32_CFLAGS	"-m32"
+#define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+#define __ILP32_OFF32_LDFLAGS	"-m32"
+#define __ILP32_OFFBIG_LDFLAGS	"-m32"
+#define __LP64_OFF64_CFLAGS	"-m64"
+#define __LP64_OFF64_LDFLAGS	"-m64"
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/local_lim.h
new file mode 100644
index 0000000000..2566bcacad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/local_lim.h
@@ -0,0 +1,100 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX?  */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  At least two pages for systems with 64k
+   pages.  */
+#define PTHREAD_STACK_MIN	131072
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
+
+/* Maximum host name length.  */
+#define HOST_NAME_MAX		64
+
+/* Maximum message queue priority level.  */
+#define MQ_PRIO_MAX		32768
+
+/* Maximum value the semaphore can have.  */
+#define SEM_VALUE_MAX   (2147483647)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/mman.h
new file mode 100644
index 0000000000..6c9148e88c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/mman.h
@@ -0,0 +1,40 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+#ifdef __USE_MISC
+/* These are Linux-specific.  */
+# define MAP_NONBLOCK	0x00080		/* Do not block on IO.  */
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_STACK	MAP_GROWSDOWN	/* Provide convenience alias.  */
+# define MAP_LOCKED	0x00200		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x00400		/* Don't check for reservations.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_POPULATE	0x00040		/* Populate (prefault) pagetables.  */
+# define MAP_HUGETLB	0x04000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/sigaction.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
new file mode 100644
index 0000000000..5a9ae2888a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
@@ -0,0 +1,77 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives.  */
+struct sigaction
+  {
+    /* Signal handler.  */
+#ifdef __USE_POSIX199309
+    union
+      {
+	/* Used if SA_SIGINFO is not set.  */
+	__sighandler_t sa_handler;
+	/* Used if SA_SIGINFO is set.  */
+	void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler	__sigaction_handler.sa_handler
+# define sa_sigaction	__sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
+
+    /* Additional set of signals to be blocked.  */
+    __sigset_t sa_mask;
+
+    /* Special flags.  */
+    int sa_flags;
+
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+  };
+
+/* Bits in `sa_flags'.  */
+#define	SA_NOCLDSTOP  1		 /* Don't send SIGCHLD when children stop.  */
+#define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
+#define SA_SIGINFO    4		 /* Invoke signal-catching function with
+				    three arguments instead of one.  */
+#if defined __USE_UNIX98 || defined __USE_MISC
+# define SA_NOPTRACE  0x02000000 /* Don't ptrace this signal. */
+# define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
+# define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
+# define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
+				    its handler is being executed.  */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
+
+/* Some aliases for the SA_ constants.  */
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
+# define SA_STACK     SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'.  */
+#define	SIG_BLOCK     0		 /* Block signals.  */
+#define	SIG_UNBLOCK   1		 /* Unblock signals.  */
+#define	SIG_SETMASK   2		 /* Set the set of blocked signals.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
new file mode 100644
index 0000000000..7d0c24c84b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
@@ -0,0 +1,10 @@
+/* Architecture-specific adjustments to siginfo_t.  Tile version.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+#define __SI_SIGFAULT_ADDL \
+  int _si_trapno;
+
+#define si_trapno	_sifields._sigfault._si_trapno
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
new file mode 100644
index 0000000000..2e76d2082a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
@@ -0,0 +1,14 @@
+/* Architecture-specific additional siginfo constants.  Tile version.  */
+#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
+#define _BITS_SIGINFO_CONSTS_ARCH_H 1
+
+/* `si_code' values for SIGILL signal.  */
+enum
+{
+  ILL_DBLFLT = ILL_BADSTK + 1,	/* Double fault.  */
+#define ILL_DBLFLT ILL_DBLFLT
+  ILL_HARDWALL			/* User networks hardwall violation.  */
+#define ILL_HARDWALL ILL_HARDWALL
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/cacheflush.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/cacheflush.c
new file mode 100644
index 0000000000..c96077011d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/cacheflush.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+
+/* Flush cache(s). */
+int
+_flush_cache (char *addr, const int nbytes, const int op)
+{
+#ifdef __NR_cacheflush
+  return INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
+}
+weak_alias (_flush_cache, cacheflush)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/clone.S
new file mode 100644
index 0000000000..d7d2a3b968
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/clone.S
@@ -0,0 +1,178 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after it's all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H 1
+#include <bits/errno.h>
+
+#include <asm/unistd.h>
+#include <arch/abi.h>
+#include <tls.h>
+#include <linux/sched.h>
+
+/* What we save where in the stack frame; must include all callee-saves. */
+#define FRAME_NEXT_LR   (0 * REGSIZE)  /* reserved by ABI; not used here */
+#define FRAME_SP        (1 * REGSIZE)
+#define FRAME_R30       (2 * REGSIZE)
+#define FRAME_R31       (3 * REGSIZE)
+#define FRAME_R32       (4 * REGSIZE)
+#define FRAME_SIZE      (5 * REGSIZE)
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+             pid_t *ptid, struct user_desc *tls, pid_t *ctid); */
+
+	.text
+ENTRY (__clone)
+	/* Create a stack frame so we can pass callee-saves to new task. */
+	{
+	 move r10, sp
+	 ST sp, lr
+	 ADDI_PTR sp, sp, -FRAME_SIZE
+	}
+	cfi_offset (lr, 0)
+	cfi_def_cfa_offset (FRAME_SIZE)
+	ADDI_PTR r11, sp, FRAME_SP
+	{
+	 ST r11, r10
+	 ADDI_PTR r11, sp, FRAME_R30
+	}
+	{
+	 ST r11, r30
+	 ADDI_PTR r11, sp, FRAME_R31
+	}
+	cfi_offset (r30, FRAME_R30 - FRAME_SIZE)
+	{
+	 ST r11, r31
+	 ADDI_PTR r11, sp, FRAME_R32
+	}
+	cfi_offset (r31, FRAME_R31 - FRAME_SIZE)
+	ST r11, r32
+	cfi_offset (r32, FRAME_R32 - FRAME_SIZE)
+
+	/* sanity check arguments */
+	BEQZ r0, .Linvalid
+	BEQZ r1, .Linvalid
+
+	/* Make sure child stack is properly aligned, and set up the
+	   top frame so that we can call out of it immediately in the
+	   child.  Setting it up here means we fault in the parent if
+	   it's bogus, which is probably cleaner than faulting first
+	   thing in the child. */
+	ADDI_PTR r1, r1, -C_ABI_SAVE_AREA_SIZE
+	andi r1, r1, -C_ABI_SAVE_AREA_SIZE
+	ADDI_PTR r9, r1, REGSIZE /* sp of this frame on entry, i.e. zero */
+	ST r9, zero
+
+	/* We need to switch the argument convention around from
+	   libc to kernel:
+
+	   libc:
+	    r0 fn
+	    r1 child_stack
+	    r2 flags
+	    r3 arg
+	    r4 ptid
+	    r5 tls
+	    r6 ctid
+
+	   kernel:
+	    r0 flags
+	    r1 child_stack [same as libc]
+	    r2 ptid
+	    r3 ctid
+	    r4 tls
+
+	   Plus the callee-saves as described at .Lthread_start, below.  */
+	{
+	 move r32, r0
+	 move r0, r2
+	}
+	{
+	 move r31, r3
+	 move r3, r6
+	}
+	{
+	 move r30, r2
+	 move r2, r4
+	}
+	{
+	 move r4, r5
+	 moveli TREG_SYSCALL_NR_NAME, __NR_clone
+	}
+	swint1
+	BEQZ r0, .Lthread_start  /* If in child task.  */
+
+.Ldone:
+	/* Restore the callee-saved registers and return. */
+	ADDLI_PTR lr, sp, FRAME_SIZE
+	{
+	 LD lr, lr
+	 ADDLI_PTR r30, sp, FRAME_R30
+	}
+	{
+	 LD r30, r30
+	 ADDLI_PTR r31, sp, FRAME_R31
+	}
+	{
+	 LD r31, r31
+	 ADDLI_PTR r32, sp, FRAME_R32
+	}
+	{
+	 LD r32, r32
+	 ADDI_PTR sp, sp, FRAME_SIZE
+	}
+	cfi_def_cfa_offset (0)
+
+	BNEZ r1, .Lerror
+	jrp lr
+
+.Lerror:
+	j SYSCALL_ERROR_NAME
+
+.Linvalid:
+	{
+	 movei r1, EINVAL
+	 j .Ldone
+	}
+
+/* This function expects to receive:
+
+   sp: the top of a valid stack area
+   r30: clone() flags
+   r31: the argument to pass to the user function
+   r32: the user function pointer  */
+
+.Lthread_start:
+	cfi_def_cfa_offset (FRAME_SIZE)
+	cfi_undefined (lr)
+	{
+	 /* Invoke user function with specified argument. */
+	 move r0, r31
+	 jalr r32
+	}
+	{
+	 j HIDDEN_JUMPTARGET(_exit)
+	 info INFO_OP_CANNOT_BACKTRACE   /* Notify backtracer to stop. */
+	}
+PSEUDO_END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/dl-static.c
new file mode 100644
index 0000000000..09792b701a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  Tile version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldsodefs.h>
+
+#ifdef SHARED
+
+void
+_dl_var_init (void *array[])
+{
+  /* It has to match "variables" below. */
+  enum
+    {
+      DL_PAGESIZE = 0
+    };
+
+  GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
+}
+
+#else
+
+static void *variables[] =
+{
+  &GLRO(dl_pagesize)
+};
+
+static void
+_dl_unprotect_relro (struct link_map *l)
+{
+  ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
+		      & ~(GLRO(dl_pagesize) - 1));
+  ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
+		    & ~(GLRO(dl_pagesize) - 1));
+
+  if (start != end)
+    __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
+}
+
+void
+_dl_static_init (struct link_map *l)
+{
+  struct link_map *rtld_map = l;
+  struct r_scope_elem **scope;
+  const ElfW(Sym) *ref = NULL;
+  lookup_t loadbase;
+  void (*f) (void *[]);
+  size_t i;
+
+  loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
+				  NULL, 0, 1, NULL);
+
+  for (scope = l->l_local_scope; *scope != NULL; scope++)
+    for (i = 0; i < (*scope)->r_nlist; i++)
+      if ((*scope)->r_list[i] == loadbase)
+	{
+	  rtld_map = (*scope)->r_list[i];
+	  break;
+	}
+
+  if (ref != NULL)
+    {
+      f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
+      _dl_unprotect_relro (rtld_map);
+      f (variables);
+      _dl_protect_relro (rtld_map);
+    }
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/getcontext.S
new file mode 100644
index 0000000000..e7561ea798
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/getcontext.S
@@ -0,0 +1,95 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <arch/abi.h>
+
+#include "ucontext_i.h"
+
+/* int getcontext (ucontext_t *ucp) */
+
+	.text
+ENTRY (__getcontext)
+	FEEDBACK_ENTER(__getcontext)
+
+	/* Save the callee-saved GPRs.  There's no need to save the
+	   caller-saved GPRs since the eventual setcontext() or
+	   swapcontext() will assume those registers are all dead.
+	   Save value "1" to uc_flags to later recognize getcontext().  */
+	{ movei r11, 1; ADDI_PTR r10, r0, UC_FLAGS_OFFSET }
+	{ ST_PTR r10, r11; addli r10, r0, UC_REG(30) }
+	{ ST r10, r30; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r31; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r32; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r33; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r34; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r35; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r36; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r37; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r38; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r39; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r40; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r41; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r42; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r43; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r44; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r45; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r46; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r47; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r48; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r49; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r50; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r51; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, r52; ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, tp;  ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, sp;  ADDI_PTR r10, r10, REGSIZE }
+	{ ST r10, lr;  ADDI_PTR r10, r10, REGSIZE }
+	lnk r11   /* Point PC at the "jrp lr" instruction.  */
+	addli r11, r11, .Lreturn - .
+	{ ST r10, r11; ADDI_PTR r10, r10, REGSIZE }
+	mfspr r11, INTERRUPT_CRITICAL_SECTION
+	{
+	 ST r10, r11
+	 movei r1, 0
+	}
+
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG / 8) */
+	{
+	 movei r3, _NSIG / 8
+	 addli r2, r0, UC_SIGMASK_OFFSET
+	}
+	{
+	 movei r0, SIG_BLOCK
+	 moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask
+	}
+	swint1
+	BNEZ r1, .Lsyscall_error
+
+.Lreturn:
+	{
+	 movei r0, 0
+	 jrp lr
+	}
+
+.Lsyscall_error:
+	j SYSCALL_ERROR_NAME
+
+END (__getcontext)
+.hidden __getcontext
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/init-first.c
new file mode 100644
index 0000000000..8def5c4257
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/init-first.c
@@ -0,0 +1,48 @@
+/* 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/>.  */
+
+#ifdef SHARED
+#include <dl-vdso.h>
+#include <libc-vdso.h>
+
+struct syscall_return_value (*VDSO_SYMBOL(gettimeofday)) (struct timeval *,
+							  void *)
+  attribute_hidden;
+
+struct syscall_return_value (*VDSO_SYMBOL(clock_gettime)) (clockid_t,
+                                                           struct timespec *)
+  __attribute__ ((nocommon));
+
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
+
+  void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+}
+
+#define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ipc_priv.h
new file mode 100644
index 0000000000..476dc188e4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ipc_priv.h
@@ -0,0 +1,21 @@
+/* Old SysV permission definition for Linux.  Tile version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/kernel-features.h
new file mode 100644
index 0000000000..d7d0915283
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/kernel-features.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#include_next <kernel-features.h>
+
+/* Define this if your 32-bit syscall API requires 64-bit register
+   pairs to start with an even-number register.  */
+#ifndef _LP64
+# define __ASSUME_ALIGNED_REGISTER_PAIRS	1
+# define __ASSUME_FADVISE64_64_NO_ALIGN		1
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ldsodefs.h
new file mode 100644
index 0000000000..74ce6aa797
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ldsodefs.h
@@ -0,0 +1,32 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_LDSODEFS_H
+
+/* Get the real definitions.  */
+#include_next <ldsodefs.h>
+
+/* Now define our stuff.  */
+
+/* We need special support to initialize DSO loaded for statically linked
+   binaries.  */
+extern void _dl_static_init (struct link_map *map);
+#undef DL_STATIC_INIT
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/libc-vdso.h
new file mode 100644
index 0000000000..8df48aa087
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/libc-vdso.h
@@ -0,0 +1,42 @@
+/* Resolve function pointers to VDSO functions.
+   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/>.  */
+
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+#include <sysdep-vdso.h>
+
+struct syscall_return_value
+{
+  long int value;
+  long int error;
+};
+
+extern struct syscall_return_value (*VDSO_SYMBOL (gettimeofday)) (struct
+								  timeval *,
+								  void *)
+  attribute_hidden;
+
+extern struct syscall_return_value (*VDSO_SYMBOL (clock_gettime)) (clockid_t,
+								   struct
+								   timespec *);
+#endif
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/makecontext.c
new file mode 100644
index 0000000000..26e4d426ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/makecontext.c
@@ -0,0 +1,67 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <ucontext.h>
+#include <arch/abi.h>
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __startcontext (void);
+  uint_reg_t *sp, *args;
+  va_list ap;
+  int i;
+
+  /* Initialize the top of stack. */
+  sp = (uint_reg_t *) ((((intptr_t) ucp->uc_stack.ss_sp
+                         + ucp->uc_stack.ss_size) & -16L) - 16);
+
+  /* Allow room for memory-passed arguments if necessary. */
+  if (argc > 10)
+    sp -= 2 + (argc - 10);
+
+  sp[0] = sp[1] = 0;
+
+  /* Set parameters.  */
+  va_start (ap, argc);
+  args = &ucp->uc_mcontext.gregs[0];
+  for (i = 0; i < argc; i++)
+    {
+      if (i == 10)
+        args = &sp[2];
+      *args++ = va_arg (ap, long);
+    }
+  va_end (ap);
+
+  /* Start in the trampoline.  */
+  ucp->uc_mcontext.pc = (long) __startcontext;
+
+  /* Set stack pointer.  */
+  ucp->uc_mcontext.sp = (long) sp;
+
+  /* Pass FUNC to __startcontext in r31.  */
+  ucp->uc_mcontext.gregs[31] = (long) func;
+
+  /* Pass ucp->uc_link to __startcontext in r30.  */
+  ucp->uc_mcontext.gregs[30] = (long) ucp->uc_link;
+}
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/profil-counter.h
new file mode 100644
index 0000000000..1633e5d6c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/profil-counter.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <sigcontextinfo.h>
+
+static void
+__profil_counter (int signo, SIGCONTEXT scp)
+{
+  profil_count ((void *) GET_PC (scp));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/pt-vfork.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/pt-vfork.c
new file mode 100644
index 0000000000..5fbc6526aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/pt-vfork.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/aarch64/pt-vfork.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/set_dataplane.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/set_dataplane.c
new file mode 100644
index 0000000000..62e45fbb9f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/set_dataplane.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <unistd.h>
+#include <shlib-compat.h>
+
+/* Request dataplane modes from the kernel (compatibility only). */
+#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_25)
+int
+attribute_compat_text_section
+__old_set_dataplane (int flags)
+{
+#ifdef __NR_set_dataplane
+  return INLINE_SYSCALL (set_dataplane, 1, flags);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
+}
+
+compat_symbol (libc, __old_set_dataplane, set_dataplane, GLIBC_2_12);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/setcontext.S
new file mode 100644
index 0000000000..8039e7ecc0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/setcontext.S
@@ -0,0 +1,206 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <asm/errno.h>
+#include <arch/spr_def.h>
+#include <arch/abi.h>
+
+#include "ucontext_i.h"
+
+/* PL to return to via iret in setcontext */
+#define RETURN_PL 0
+
+/* int setcontext (const ucontext_t *ucp) */
+
+	.text
+ENTRY (__setcontext)
+	FEEDBACK_ENTER(__setcontext)
+
+	/* See if this is a true signal context (flags == 0).
+	   If so, restore by invoking rt_sigreturn().  */
+#if UC_FLAGS_OFFSET != 0
+# error "Add offset to r0 prior to load."
+#endif
+	LD_PTR r10, r0
+	{
+	 BEQZ r10, .Lsigreturn
+	 addi r10, r10, -1  /* Confirm that it has value "1".  */
+	}
+	BNEZ r10, .Lbadcontext
+
+	/* Save lr and r0 briefly on the stack and set the signal mask:
+	   rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG / 8).  */
+	{
+	 ST sp, lr
+	 ADDI_PTR r11, sp, -(2 * REGSIZE)
+	 move r10, sp
+	}
+	ADDI_PTR sp, sp, -(3 * REGSIZE)
+	cfi_def_cfa_offset (3 * REGSIZE)
+	cfi_offset (lr, 0)
+	{
+	 ST r11, r10
+	 ADDI_PTR r10, sp, (2 * REGSIZE)
+	}
+	{
+	 ST r10, r0
+	 ADDLI_PTR r1, r0, UC_SIGMASK_OFFSET
+	}
+	cfi_offset (r0, -REGSIZE)
+	{
+	 movei r3, _NSIG / 8
+	 movei r2, 0
+	}
+	{
+	 movei r0, SIG_SETMASK
+	 moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask
+	}
+	swint1
+	ADDI_PTR r11, sp, 2 * REGSIZE  /* Restore uc_context to r11. */
+	{
+	 LD r11, r11
+	 ADDI_PTR sp, sp, 3 * REGSIZE
+	}
+	cfi_def_cfa_offset (0)
+	LD lr, sp
+	{
+	 ADDI_PTR r10, r11, UC_REG(0)
+	 BNEZ r1, .Lsyscall_error
+	}
+
+	/* Restore the argument registers; note they will be random
+	   unless makecontext() has been called.  */
+	{ LD r0, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r1, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r2, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r3, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r4, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r5, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r6, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r7, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r8, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r9, r10; ADDLI_PTR r10, r10, UC_REG(30) - UC_REG(9) }
+
+	/* Restore the callee-saved GPRs.  */
+	{ LD r30, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r31, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r32, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r33, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r34, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r35, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r36, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r37, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r38, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r39, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r40, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r41, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r42, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r43, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r44, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r45, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r46, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r47, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r48, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r49, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r50, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r51, r10; ADDI_PTR r10, r10, REGSIZE }
+	{ LD r52, r10; ADDI_PTR r10, r10, REGSIZE * 2 }
+	/* Skip tp since it must not change for a given thread.  */
+	{ LD sp, r10;  ADDI_PTR r10, r10, REGSIZE }
+	{ LD lr, r10;  ADDI_PTR r10, r10, REGSIZE }
+	{ LD r11, r10; ADDI_PTR r10, r10, REGSIZE }
+
+	/* Construct an iret context; we set ICS so we can validly load
+	   EX_CONTEXT for iret without being interrupted halfway through.  */
+	{
+	 LD r12, r10
+	 movei r13, 1
+	}
+	{
+	 mtspr INTERRUPT_CRITICAL_SECTION, r13
+	 shli r12, r12, SPR_EX_CONTEXT_0_1__ICS_SHIFT
+	}
+	{
+	 mtspr EX_CONTEXT_0_0, r11
+	 ori r12, r12, RETURN_PL
+	}
+	mtspr EX_CONTEXT_0_1, r12
+	iret
+	jrp lr    /* keep the backtracer happy */
+
+.Lsigreturn:
+	/* This is a context obtained from a signal handler.
+	   Perform a full restore by pushing the context
+	   passed onto a simulated signal frame on the stack
+	   and call the signal return syscall as if a signal
+	   handler exited normally.  */
+	{
+	 ADDLI_PTR sp, sp, -(C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
+	 ADDLI_PTR r1, sp, -UC_SIZE
+	}
+	cfi_def_cfa_offset (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
+	moveli r2, UC_SIZE / REGSIZE
+0:      {
+	 LD r10, r0
+	 ADDI_PTR r0, r0, REGSIZE
+	}
+	{
+	 ST r1, r10
+	 ADDI_PTR r1, r1, REGSIZE
+	 addi r2, r2, -1
+	}
+	BNEZ r2, 0b
+	moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigreturn
+	swint1
+
+	/* Restore the stack and fall through to the error
+	   path.  Successful rt_sigreturn never returns to
+	   its calling place.  */
+	ADDLI_PTR sp, sp, (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
+	cfi_def_cfa_offset (0)
+
+.Lsyscall_error:
+	j SYSCALL_ERROR_NAME
+
+.Lbadcontext:
+	{
+	 movei r1, EINVAL
+	 j SYSCALL_ERROR_NAME
+	}
+
+END (__setcontext)
+
+.hidden __setcontext
+weak_alias (__setcontext, setcontext)
+
+ENTRY (__startcontext)
+	cfi_undefined (lr)
+	FEEDBACK_ENTER(__startcontext)
+	jalr r31
+	BEQZ r30, 1f
+	{
+	 move r0, r30
+	 jal __setcontext
+	}
+1:	{
+	 movei r0, 0
+	 j HIDDEN_JUMPTARGET(exit)
+	}
+END (__startcontext)
+.hidden __startcontext
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/tile/shlib-versions
new file mode 100644
index 0000000000..b4360d35e1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/shlib-versions
@@ -0,0 +1,2 @@
+# glibc 2.12 was released to customers; 2.15 was the first community version.
+DEFAULT		GLIBC_2.12 GLIBC_2.15
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
new file mode 100644
index 0000000000..8908c589d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <arch/abi.h>
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT_EXTRA_ARGS _si,
+#define GET_PC(ctx)	((void *) (long) ctx->uc_mcontext.pc)
+#define GET_FRAME(ctx)	((void *) (long) ctx->uc_mcontext.regs[TREG_FP])
+#define GET_STACK(ctx)	((void *) (long) ctx->uc_mcontext.sp)
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/swapcontext.S
new file mode 100644
index 0000000000..1778dfaa22
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/swapcontext.S
@@ -0,0 +1,89 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+
+	.text
+ENTRY (__swapcontext)
+	FEEDBACK_ENTER(__swapcontext)
+	/* Set up a frame and save r0 and r1.  */
+	{
+	 ST sp, lr
+	 ADDI_PTR r11, sp, -(3 * REGSIZE)
+	 move r10, sp
+	}
+	ADDI_PTR sp, sp, -(4 * REGSIZE)
+	cfi_def_cfa_offset (4 * REGSIZE)
+	cfi_offset (lr, 0)
+	{
+	 ST r11, r10
+	 ADDI_PTR r10, sp, (2 * REGSIZE)
+	}
+	{
+	 ST r10, r0
+	 ADDI_PTR r10, sp, (3 * REGSIZE)
+	}
+	ST r10, r1
+
+	/* Save the current context.  */
+	jal __getcontext
+
+	/* Tear down the frame and restore r0, r1, and lr. */
+	{
+	 BNEZ r0, .Lerror
+	 ADDI_PTR r1, sp, 3 * REGSIZE
+	}
+	{
+	 LD r1, r1
+	 ADDI_PTR r0, sp, 2 * REGSIZE
+	}
+	{
+	 LD r0, r0
+	 ADDI_PTR sp, sp, 4 * REGSIZE
+	}
+	cfi_def_cfa_offset (0)
+	{
+	 LD lr, sp
+	 ADDLI_PTR r10, r0, UC_REG(54)
+	}
+
+	/* Update the stored sp and lr.  */
+	{
+	 ST r10, sp
+	 ADDLI_PTR r10, r0, UC_REG(55)
+	}
+	ST r10, lr
+
+	/* Tail-call setcontext to finish up.  */
+	{
+	 move r0, r1
+	 j __setcontext
+	}
+
+.Lerror:
+	ADDI_PTR sp, sp, 4 * REGSIZE
+	cfi_def_cfa_offset (0)
+	LD lr, sp
+	jrp lr
+END (__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/cachectl.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/cachectl.h
new file mode 100644
index 0000000000..3f4e723e24
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/cachectl.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_CACHECTL_H
+#define _SYS_CACHECTL_H 1
+
+#include <features.h>
+
+/* Get the kernel definition for the op bits.  */
+#include <asm/cachectl.h>
+
+__BEGIN_DECLS
+
+#ifdef __USE_MISC
+extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
+
+__END_DECLS
+
+#endif /* sys/cachectl.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/procfs.h
new file mode 100644
index 0000000000..ce3e33ddef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/procfs.h
@@ -0,0 +1,128 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+
+#define __need_int_reg_t
+#include <arch/abi.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef __uint_reg_t elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct pt_regs'
+   from <asm/ptrace.h> directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG  64
+#define ELF_NFPREG 0
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+typedef elf_greg_t elf_fpregset_t[ELF_NFPREG];
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+
+/* Provide dummy declaration here; we don't have FP registers. */
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
new file mode 100644
index 0000000000..6287e42952
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
@@ -0,0 +1,196 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PTRACE_H
+#define _SYS_PTRACE_H	1
+
+#include <features.h>
+#include <bits/types.h>
+
+__BEGIN_DECLS
+
+/* Type of the REQUEST argument to `ptrace.'  */
+enum __ptrace_request
+{
+  /* Indicate that the process making this request should be traced.
+     All signals received by this process can be intercepted by its
+     parent, and its parent can use the other `ptrace' requests.  */
+  PTRACE_TRACEME = 0,
+#define PT_TRACE_ME PTRACE_TRACEME
+
+  /* Return the word in the process's text space at address ADDR.  */
+  PTRACE_PEEKTEXT = 1,
+#define PT_READ_I PTRACE_PEEKTEXT
+
+  /* Return the word in the process's data space at address ADDR.  */
+  PTRACE_PEEKDATA = 2,
+#define PT_READ_D PTRACE_PEEKDATA
+
+  /* Return the word in the process's user area at offset ADDR.  */
+  PTRACE_PEEKUSER = 3,
+#define PT_READ_U PTRACE_PEEKUSER
+
+  /* Write the word DATA into the process's text space at address ADDR.  */
+  PTRACE_POKETEXT = 4,
+#define PT_WRITE_I PTRACE_POKETEXT
+
+  /* Write the word DATA into the process's data space at address ADDR.  */
+  PTRACE_POKEDATA = 5,
+#define PT_WRITE_D PTRACE_POKEDATA
+
+  /* Write the word DATA into the process's user area at offset ADDR.  */
+  PTRACE_POKEUSER = 6,
+#define PT_WRITE_U PTRACE_POKEUSER
+
+  /* Continue the process.  */
+  PTRACE_CONT = 7,
+#define PT_CONTINUE PTRACE_CONT
+
+  /* Kill the process.  */
+  PTRACE_KILL = 8,
+#define PT_KILL PTRACE_KILL
+
+  /* Single step the process. */
+  PTRACE_SINGLESTEP = 9,
+#define PT_STEP PTRACE_SINGLESTEP
+
+  /* Get all general purpose registers used by a processes. */
+   PTRACE_GETREGS = 12,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a processes. */
+   PTRACE_SETREGS = 13,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Attach to a process that is already running. */
+  PTRACE_ATTACH = 16,
+#define PT_ATTACH PTRACE_ATTACH
+
+  /* Detach from a process attached to with PTRACE_ATTACH.  */
+  PTRACE_DETACH = 17,
+#define PT_DETACH PTRACE_DETACH
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Set ptrace filter options.  */
+  PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+  /* Get last ptrace message.  */
+  PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+  /* Get siginfo for process.  */
+  PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+  /* Set new siginfo for process.  */
+  PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+  /* Set register content.  */
+  PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+     signal or group stop state.  */
+  PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+  /* Trap seized tracee.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/reg.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/reg.h
new file mode 100644
index 0000000000..1ab17ce82a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/reg.h
@@ -0,0 +1,2 @@
+/* The traditional purpose of "sys/reg.h" is satisfied by "arch/abi.h". */
+#include <arch/abi.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ucontext.h
new file mode 100644
index 0000000000..7e5cf4a831
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/ucontext.h
@@ -0,0 +1,72 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+#ifdef __USE_MISC
+/* Get register type and register names. */
+# include <arch/abi.h>
+
+
+/* Type for general register.  */
+typedef uint_reg_t greg_t;
+
+/* Number of general registers.  Must agree with <asm/ptrace.h>. */
+# define NGREG	64
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[NGREG];
+#endif
+
+#ifdef __USE_GNU
+/* Names for interesting registers in the `gregset_t' array.  */
+enum
+{
+  /* ... r0 through r51 are just 0 through 51 ... */
+  REG_FP = TREG_FP,
+# define REG_FP		REG_FP
+  REG_TP = TREG_TP,
+# define REG_TP		REG_TP
+  REG_SP = TREG_SP,
+# define REG_SP		REG_SP
+  REG_LR = TREG_LR,
+# define REG_LR		REG_LR
+};
+#endif
+
+/* A machine context is exactly a sigcontext.  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/user.h
new file mode 100644
index 0000000000..c871f1a03d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sys/user.h
@@ -0,0 +1 @@
+/* This file is not needed, but in practice gdb might try to include it.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/syscall.S
new file mode 100644
index 0000000000..627ab0ee51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/syscall.S
@@ -0,0 +1,32 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <arch/abi.h>
+
+	.text
+ENTRY (syscall)
+	FEEDBACK_ENTER(syscall)
+	{ move TREG_SYSCALL_NR_NAME, r0; move r0, r1 }
+	{ move r1, r2; move r2, r3 }
+	{ move r3, r4; move r4, r5 }
+	{ move r5, r6; move r6, r7 }
+	swint1
+	BNEZ r1, 0f
+	jrp lr
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysconf.c
new file mode 100644
index 0000000000..a2241935a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysconf.c
@@ -0,0 +1,75 @@
+/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sys/sysinfo.h>
+#include <arch/chip.h>
+
+static long int linux_sysconf (int name);
+
+/* Get the value of the system variable NAME.  */
+long int
+__sysconf (int name)
+{
+  /* Currently we support only tilepro and tilegx, which have
+     statically-known cache sizes.  */
+  switch (name)
+    {
+    /* Level 1 cache.  */
+    case _SC_LEVEL1_ICACHE_SIZE:
+      return CHIP_L1I_CACHE_SIZE();
+    case _SC_LEVEL1_ICACHE_ASSOC:
+      return CHIP_L1I_ASSOC();
+    case _SC_LEVEL1_ICACHE_LINESIZE:
+      return CHIP_L1I_LINE_SIZE();
+    case _SC_LEVEL1_DCACHE_SIZE:
+      return CHIP_L1D_CACHE_SIZE();
+    case _SC_LEVEL1_DCACHE_ASSOC:
+      return CHIP_L1D_ASSOC();
+    case _SC_LEVEL1_DCACHE_LINESIZE:
+      return CHIP_L1D_LINE_SIZE();
+
+    /* Level 2 cache.  */
+    case _SC_LEVEL2_CACHE_SIZE:
+      return CHIP_L2_CACHE_SIZE();
+    case _SC_LEVEL2_CACHE_ASSOC:
+      return CHIP_L2_ASSOC();
+    case _SC_LEVEL2_CACHE_LINESIZE:
+      return CHIP_L2_LINE_SIZE();
+
+    /* Level 3 cache is layered on level 2 cache.  */
+    case _SC_LEVEL3_CACHE_SIZE:
+      return CHIP_L2_CACHE_SIZE() * __get_nprocs();
+    case _SC_LEVEL3_CACHE_ASSOC:
+      return CHIP_L2_ASSOC();
+    case _SC_LEVEL3_CACHE_LINESIZE:
+      return CHIP_L2_LINE_SIZE();
+
+    /* No level 4 cache.  */
+    case _SC_LEVEL4_CACHE_SIZE:
+    case _SC_LEVEL4_CACHE_ASSOC:
+    case _SC_LEVEL4_CACHE_LINESIZE:
+      return -1;
+    }
+
+  return linux_sysconf (name);
+}
+
+/* Now the generic Linux version.  */
+#undef __sysconf
+#define __sysconf static linux_sysconf
+#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h
new file mode 100644
index 0000000000..092a90c312
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h
@@ -0,0 +1,154 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+/* Allow hacking in some extra code if desired. */
+#ifndef PSEUDO_EXTRA
+#define PSEUDO_EXTRA
+#endif
+
+#undef PSEUDO
+#define PSEUDO(name, syscall_name, args)				      \
+  ENTRY(__##syscall_name##_nocancel);					      \
+    PSEUDO_EXTRA							      \
+    moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name);			      \
+    swint1;								      \
+    BNEZ r1, 0f;							      \
+    jrp lr;								      \
+  END(__##syscall_name##_nocancel);					      \
+  ENTRY (name)								      \
+    SINGLE_THREAD_P(r11);						      \
+    BEQZ r11, L(pseudo_cancel);						      \
+    PSEUDO_EXTRA							      \
+    moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name);			      \
+    swint1;								      \
+    BNEZ r1, 0f;							      \
+    jrp lr;								      \
+  L(pseudo_cancel):							      \
+    {									      \
+     move r11, sp;							      \
+     ST sp, lr;								      \
+     ADDI_PTR sp, sp, -STKSPACE;					      \
+    };									      \
+    cfi_offset (lr, 0);							      \
+    cfi_def_cfa_offset (STKSPACE);					      \
+    {									      \
+     ADDI_PTR r12, sp, REGSIZE;						      \
+     ADDI_PTR r13, sp, 2 * REGSIZE;	/* set up for PUSHARGS_0 */	      \
+    };									      \
+    ST r12, r11;							      \
+    PUSHARGS_##args			/* save syscall args */	      	      \
+    CENABLE;								      \
+    ADDI_PTR r12, sp, 10 * REGSIZE;					      \
+    {									      \
+     ST r12, r0;			/* save mask */			      \
+     ADDI_PTR r13, sp, 2 * REGSIZE;	/* set up for POPARGS_0 */	      \
+    };									      \
+    POPARGS_##args			/* restore syscall args */	      \
+    PSEUDO_EXTRA							      \
+    moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name);			      \
+    swint1;								      \
+    ADDI_PTR r12, sp, 12 * REGSIZE;					      \
+    {									      \
+     ST r12, r1;			/* save syscall result */             \
+     ADDI_PTR r12, sp, 11 * REGSIZE;					      \
+    };									      \
+    {									      \
+     ST r12, r0;			                                      \
+     ADDI_PTR r13, sp, 10 * REGSIZE;					      \
+    };									      \
+    LD r0, r13;				/* pass mask as arg1 */		      \
+    CDISABLE;								      \
+    {									      \
+     ADDI_PTR lr, sp, STKSPACE;						      \
+     ADDI_PTR r0, sp, 11 * REGSIZE;					      \
+    };									      \
+    {									      \
+     LD r0, r0;								      \
+     ADDI_PTR r1, sp, 12 * REGSIZE;					      \
+    };									      \
+    LD r1, r1;								      \
+    {									      \
+     LD lr, lr;								      \
+     ADDI_PTR sp, sp, STKSPACE;						      \
+    };									      \
+    cfi_def_cfa_offset (0);						      \
+    BNEZ r1, 0f
+
+# define PUSHARGS_0 /* nothing to do */
+# define PUSHARGS_1 PUSHARGS_0 { ADDI_PTR r14, sp, 3 * REGSIZE; ST r13, r0 };
+# define PUSHARGS_2 PUSHARGS_1 { ADDI_PTR r13, sp, 4 * REGSIZE; ST r14, r1 };
+# define PUSHARGS_3 PUSHARGS_2 { ADDI_PTR r14, sp, 5 * REGSIZE; ST r13, r2 };
+# define PUSHARGS_4 PUSHARGS_3 { ADDI_PTR r13, sp, 6 * REGSIZE; ST r14, r3 };
+# define PUSHARGS_5 PUSHARGS_4 { ADDI_PTR r14, sp, 7 * REGSIZE; ST r13, r4 };
+# define PUSHARGS_6 PUSHARGS_5 { ADDI_PTR r13, sp, 8 * REGSIZE; ST r14, r5 };
+# define PUSHARGS_7 PUSHARGS_6 { ADDI_PTR r14, sp, 9 * REGSIZE; ST r13, r6 };
+
+# define POPARGS_0  /* nothing to do */
+# define POPARGS_1  POPARGS_0 { ADDI_PTR r14, sp, 3 * REGSIZE; LD r0, r13 };
+# define POPARGS_2  POPARGS_1 { ADDI_PTR r13, sp, 4 * REGSIZE; LD r1, r14 };
+# define POPARGS_3  POPARGS_2 { ADDI_PTR r14, sp, 5 * REGSIZE; LD r2, r13 };
+# define POPARGS_4  POPARGS_3 { ADDI_PTR r13, sp, 6 * REGSIZE; LD r3, r14 };
+# define POPARGS_5  POPARGS_4 { ADDI_PTR r14, sp, 7 * REGSIZE; LD r4, r13 };
+# define POPARGS_6  POPARGS_5 { ADDI_PTR r13, sp, 8 * REGSIZE; LD r5, r14 };
+# define POPARGS_7  POPARGS_6 { ADDI_PTR r14, sp, 9 * REGSIZE; LD r6, r13 };
+
+# define STKSPACE	(13 * REGSIZE)
+
+# if IS_IN (libpthread)
+#  define CENABLE	jal __pthread_enable_asynccancel
+#  define CDISABLE	jal __pthread_disable_asynccancel
+# elif IS_IN (librt)
+#  define CENABLE	jal __librt_enable_asynccancel
+#  define CDISABLE	jal __librt_disable_asynccancel
+# else
+#  define CENABLE	jal __libc_enable_asynccancel
+#  define CDISABLE	jal __libc_disable_asynccancel
+# endif
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P						\
+	__builtin_expect (THREAD_GETMEM (THREAD_SELF,			\
+					 header.multiple_threads)	\
+			  == 0, 1)
+# else
+#  define SINGLE_THREAD_P(reg)						\
+  ADDLI_PTR reg, tp, MULTIPLE_THREADS_OFFSET;                           \
+  LD reg, reg;                                                          \
+  CMPEQI reg, reg, 0
+#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/tile/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.c
new file mode 100644
index 0000000000..1303651346
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+
+int __syscall_error (int dummy, int err);
+hidden_proto (__syscall_error)
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  */
+int
+__syscall_error (int dummy, int err)
+{
+  __set_errno (err);
+  return -1;
+}
+hidden_def (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.h
new file mode 100644
index 0000000000..fb1b89c280
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/sysdep.h
@@ -0,0 +1,243 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <asm/unistd.h>
+#include <sysdeps/tile/sysdep.h>
+#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
+#include <sys/syscall.h>
+
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+
+#ifdef __ASSEMBLER__
+
+/* The actual implementation of doing a syscall. */
+#define DO_CALL(syscall_name, args)                     \
+  moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name);	\
+  swint1
+
+/* TILE Linux returns the result in r0 (or a negative errno).
+   The kernel "owns" the code to decide if a given value is an error,
+   and puts errno in r1 if so, or otherwise zero.  */
+#define	PSEUDO(name, syscall_name, args)		\
+  ENTRY	(name);						\
+  DO_CALL(syscall_name, args);				\
+  BNEZ r1, 0f
+
+#define ret  jrp lr
+
+#ifndef PIC
+/* For static code, on error jump to __syscall_error directly. */
+# define SYSCALL_ERROR_NAME __syscall_error
+#elif IS_IN (libc) || IS_IN (libpthread)
+/* Use the internal name for libc/libpthread shared objects. */
+# define SYSCALL_ERROR_NAME __GI___syscall_error
+#else
+/* Otherwise, on error do a full PLT jump. */
+# define SYSCALL_ERROR_NAME plt(__syscall_error)
+#endif
+
+#undef PSEUDO_END
+#define	PSEUDO_END(name)				\
+0:							\
+  j SYSCALL_ERROR_NAME;					\
+  END (name)
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)	\
+  ENTRY	(name);						\
+  DO_CALL(syscall_name, args)
+
+#define ret_NOERRNO  jrp lr
+
+#undef PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name) \
+  END (name)
+
+/* Convenience wrappers. */
+#define SYSCALL__(name, args)   PSEUDO (__##name, name, args)
+#define SYSCALL(name, args)   PSEUDO (name, name, args)
+
+#else /* not __ASSEMBLER__ */
+
+#include <errno.h>
+
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  */
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)                              \
+  ({                                                                    \
+    INTERNAL_SYSCALL_DECL (_sc_err);                                    \
+    unsigned long _sc_val = INTERNAL_SYSCALL (name, _sc_err, nr, args); \
+    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sc_val, _sc_err), 0)) \
+    {                                                                   \
+      __set_errno (INTERNAL_SYSCALL_ERRNO (_sc_val, _sc_err));          \
+      _sc_val = -1;                                                     \
+    }                                                                   \
+    (long) _sc_val;                                                     \
+  })
+
+#undef INTERNAL_SYSCALL
+#define INTERNAL_SYSCALL(name, err, nr, args...)        \
+  internal_syscall##nr (SYS_ify (name), err, args)
+
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(number, err, nr, args...)  \
+  internal_syscall##nr (number, err, args)
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) int err
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) ({ (void) (val); (err) != 0; })
+
+#undef INTERNAL_SYSCALL_ERRNO
+#define INTERNAL_SYSCALL_ERRNO(val, err) ({ (void) (val); (err); })
+
+#define internal_syscall0(num, err, dummy...)                           \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num)                                                     \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall1(num, err, arg0)                               \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0)                                       \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall2(num, err, arg0, arg1)                         \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0), "R01" (arg1)                         \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall3(num, err, arg0, arg1, arg2)                   \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2)           \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall4(num, err, arg0, arg1, arg2, arg3)             \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2),          \
+        "R03" (arg3)                                                    \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall5(num, err, arg0, arg1, arg2, arg3, arg4)       \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2),          \
+        "R03" (arg3), "R04" (arg4)                                      \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#define internal_syscall6(num, err, arg0, arg1, arg2, arg3, arg4, arg5) \
+  ({                                                                    \
+    long _sys_result, __SYSCALL_CLOBBER_DECLS;                          \
+    __asm__ __volatile__ (                                              \
+      "swint1"                                                          \
+      : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS   \
+      : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2),          \
+        "R03" (arg3), "R04" (arg4), "R05" (arg5)                        \
+      : __SYSCALL_CLOBBERS);                                            \
+    _sys_result;                                                        \
+  })
+
+#undef __SYSCALL_CLOBBERS
+#define __SYSCALL_CLOBBERS                                      \
+  "r6",  "r7",                                                  \
+    "r8",  "r9",        "r11", "r12", "r13", "r14", "r15",      \
+    "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",     \
+    "r24", "r25", "r26", "r27", "r28", "r29", "memory"
+
+/* gcc doesn't seem to allow an input operand to be clobbered, so we
+   fake it with dummy outputs. */
+#define __SYSCALL_CLOBBER_DECLS                                         \
+  _clobber_r2, _clobber_r3, _clobber_r4, _clobber_r5, _clobber_r10
+
+#define __SYSCALL_CLOBBER_OUTPUTS                                       \
+  "=R02" (_clobber_r2), "=R03" (_clobber_r3), "=R04" (_clobber_r4),     \
+    "=R05" (_clobber_r5), "=R10" (_clobber_r10)
+
+
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)               \
+  ({                                                                    \
+    struct syscall_return_value _sc_rv = funcptr (args);                \
+    err = _sc_rv.error;                                                 \
+    _sc_rv.value;                                                       \
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+#define HAVE_CLOCK_GETTIME_VSYSCALL	1
+#define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+/* Previously tile used the generic version without the libc_hidden_def
+   which lead in a non existent __send symbol in libc.so.  */
+#undef HAVE_INTERNAL_SEND_SYMBOL
+
+#endif /* __ASSEMBLER__  */
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+	ADDLI_PTR tmpreg, pt, POINTER_GUARD; \
+	LD	tmpreg, tmpreg; \
+	xor	reg, tmpreg, reg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)	PTR_MANGLE (var)
+# endif
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/Makefile
new file mode 100644
index 0000000000..4f101f334a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/Makefile
@@ -0,0 +1,6 @@
+# Provide biarch definitions.
+abi-variants := 64 32
+abi-64-options := -D__LP64__
+abi-64-condition := __WORDSIZE == 64
+abi-32-options := -U__LP64__
+abi-32-condition := __WORDSIZE == 32
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure
new file mode 100644
index 0000000000..36e42e07e9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure
@@ -0,0 +1,21 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
+
+case $machine in
+tile/tilegx/tilegx32)
+  test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib32
+  libc_cv_rtlddir=/lib32
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib32';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_complocaledir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
+  ;;
+esac
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac
new file mode 100644
index 0000000000..baca1f62a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac
@@ -0,0 +1,10 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx
+
+ldd_rewrite_script=$dir/ldd-rewrite.sed
+
+case $machine in
+tile/tilegx/tilegx32)
+  LIBC_SLIBDIR_RTLDDIR([lib32], [lib32])
+  ;;
+esac
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S
new file mode 100644
index 0000000000..e2bf44c75d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S
@@ -0,0 +1,41 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* TILE-Gx specifies that "unsigned int" is sign extended in the high
+   32 bits.  But since the userspace API claims to be "unsigned long",
+   calls into __ioctl() will not be sign extended, but rather pass all
+   64 bits of the argument.  Therefore, when we pass the "request"
+   value to the kernel, we must explicitly sign-extend it to match the
+   kernel's internal use of "unsigned int" as the second argument,
+   which we do by casting to "unsigned int".  */
+
+#include <sysdep.h>
+
+	.text
+ENTRY (__ioctl)
+	FEEDBACK_ENTER(__ioctl)
+	{
+	 addxi r1, r1, 0
+	 moveli TREG_SYSCALL_NR_NAME, __NR_ioctl
+	}
+	swint1
+	BNEZ r1, 0f
+	jrp lr
+PSEUDO_END (__ioctl)
+weak_alias (__ioctl, ioctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h
new file mode 100644
index 0000000000..6185e300fe
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldconfig.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld.so.1", FLAG_ELF_LIBC6 },	\
+  { "/lib32/ld.so.1", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed
new file mode 100644
index 0000000000..8b0bb691cc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/ldd-rewrite.sed
@@ -0,0 +1 @@
+s_^\(RTLDLIST=\)\(.*lib\)\(\|32\)\(/[^/]*\.so\.[0-9.]*\)[ 	]*$_\1"\2\4 \232\4"_
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h
new file mode 100644
index 0000000000..491413e980
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/register-dump.h
@@ -0,0 +1,123 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ R0:  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R4:  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R8:  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R12: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R16: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R20: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R24: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R28: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R32: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R36: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R40: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R44: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R48: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+ R52: XXXXXXXXXXXXXXXX  TP: XXXXXXXXXXXXXXXX
+ SP:  XXXXXXXXXXXXXXXX  LR: XXXXXXXXXXXXXXXX
+
+ PC:  XXXXXXXXXXXXXXXX  ICS: X  FAULTNUM: XX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, mcontext_t *ctx)
+{
+  char regs[59][16];
+  struct iovec iov[132];
+  size_t nr = 0;
+  unsigned int i;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  for (i = 0; i < 56; ++i)
+    hexvalue (ctx->gregs[i], regs[i], 16);
+  hexvalue (ctx->pc, regs[56], 16);
+  hexvalue (ctx->ics, regs[57], 1);
+  hexvalue (ctx->faultnum, regs[58], 2);
+
+  /* Generate the output.  */
+  for (i = 0; i < 56;)
+    {
+      const char *prefixes[] = {
+        "Register dump:\n\n R0:  ",
+        "\n R4:  ",
+        "\n R8:  ",
+        "\n R12: ",
+        "\n R16: ",
+        "\n R20:  ",
+        "\n R24:  ",
+        "\n R28:  ",
+        "\n R32:  ",
+        "\n R36:  ",
+        "\n R40:  ",
+        "\n R44:  ",
+        "\n R48:  "
+      };
+      ADD_STRING (prefixes[i / 4]);
+      do
+        {
+          ADD_MEM (regs[i], 16);
+          ADD_STRING (" ");
+        }
+      while (++i % 4);
+    }
+  ADD_STRING ("\n R52: ");
+  ADD_MEM (regs[52], 16);
+  ADD_STRING ("  TP: ");
+  ADD_MEM (regs[53], 16);
+  ADD_STRING ("\n SP: ");
+  ADD_MEM (regs[54], 16);
+  ADD_STRING ("  LR: ");
+  ADD_MEM (regs[55], 16);
+  ADD_STRING ("\n\n PC:  ");
+  ADD_MEM (regs[56], 16);
+  ADD_STRING ("  ICS: ");
+  ADD_MEM (regs[57], 1);
+  ADD_STRING ("  FAULTNUM: ");
+  ADD_MEM (regs[58], 2);
+  ADD_STRING ("\n");
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, &ctx->uc_mcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c
new file mode 100644
index 0000000000..807913c7d1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c
@@ -0,0 +1,87 @@
+/* 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 <errno.h>
+#include <stddef.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sched.h>
+#include <sysdep.h>
+#include <arch/spr_def.h>
+
+
+/* The count of cores horizontally (X dimension) on the chip.  */
+static int chip_width;
+
+/* Read the chip "width" from the /sys filesystem.  */
+static int
+initialize_chip_width (void)
+{
+  int w = 0;
+  int fd;
+
+  fd = __open ("/sys/devices/system/cpu/chip_width", O_RDONLY);
+  if (fd >= 0)
+    {
+      char buf[64];
+      ssize_t n;
+      int i;
+
+      n = __read (fd, buf, sizeof (buf));
+      __close (fd);
+
+      for (i = 0; i < n; ++i)
+        {
+          if (buf[i] < '0' || buf[i] > '9')
+            break;
+          w = (w * 10) + (buf[i] - '0');
+        }
+    }
+
+  /* Store a negative value so we don't try again.  */
+  if (w == 0)
+    w = -1;
+
+  /* Using an atomic idempotent write here makes this thread-safe.  */
+  chip_width = w;
+  return w;
+}
+
+int
+sched_getcpu (void)
+{
+  unsigned int coord;
+  int w = chip_width;
+
+  if (__builtin_expect (w <= 0, 0))
+    {
+      if (w == 0)
+        w = initialize_chip_width ();
+      if (w < 0)
+        {
+          unsigned int cpu;
+          int r = INLINE_SYSCALL (getcpu, 3, &cpu, NULL, NULL);
+          return r == -1 ? r : cpu;
+        }
+    }
+
+  /* Assign 64-bit value to a 32-bit variable to ensure 32-bit multiply.  */
+  coord = __insn_mfspr (SPR_TILE_COORD);
+
+  /* Extract Y coord from bits 7..10 and X coord from bits 18..21.  */
+  return ((coord >> 7) & 0xf) * w + ((coord >> 18) & 0xf);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies
new file mode 100644
index 0000000000..9090d3fb8b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Implies
@@ -0,0 +1,4 @@
+unix/sysv/linux/tile/tilegx
+unix/sysv/linux/tile
+unix/sysv/linux/generic/wordsize-32
+unix/sysv/linux/generic
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile
new file mode 100644
index 0000000000..1e9d29be31
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/Makefile
@@ -0,0 +1 @@
+default-abi := 32
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data
new file mode 100644
index 0000000000..1a7bcb38d3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:i
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:x
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist
new file mode 100644
index 0000000000..f166310147
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/ld.abilist
@@ -0,0 +1,9 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __libc_stack_end D 0x4
+GLIBC_2.12 __tls_get_addr F
+GLIBC_2.12 _dl_mcount F
+GLIBC_2.12 _r_debug D 0x14
+GLIBC_2.12 calloc F
+GLIBC_2.12 free F
+GLIBC_2.12 malloc F
+GLIBC_2.12 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..0d64827515
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist
new file mode 100644
index 0000000000..a3b1cc08bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 gai_cancel F
+GLIBC_2.12 gai_error F
+GLIBC_2.12 gai_suspend F
+GLIBC_2.12 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
new file mode 100644
index 0000000000..41647d4610
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
@@ -0,0 +1,2112 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _Exit F
+GLIBC_2.12 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.12 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.12 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.12 _IO_adjust_column F
+GLIBC_2.12 _IO_adjust_wcolumn F
+GLIBC_2.12 _IO_default_doallocate F
+GLIBC_2.12 _IO_default_finish F
+GLIBC_2.12 _IO_default_pbackfail F
+GLIBC_2.12 _IO_default_uflow F
+GLIBC_2.12 _IO_default_xsgetn F
+GLIBC_2.12 _IO_default_xsputn F
+GLIBC_2.12 _IO_do_write F
+GLIBC_2.12 _IO_doallocbuf F
+GLIBC_2.12 _IO_fclose F
+GLIBC_2.12 _IO_fdopen F
+GLIBC_2.12 _IO_feof F
+GLIBC_2.12 _IO_ferror F
+GLIBC_2.12 _IO_fflush F
+GLIBC_2.12 _IO_fgetpos F
+GLIBC_2.12 _IO_fgetpos64 F
+GLIBC_2.12 _IO_fgets F
+GLIBC_2.12 _IO_file_attach F
+GLIBC_2.12 _IO_file_close F
+GLIBC_2.12 _IO_file_close_it F
+GLIBC_2.12 _IO_file_doallocate F
+GLIBC_2.12 _IO_file_finish F
+GLIBC_2.12 _IO_file_fopen F
+GLIBC_2.12 _IO_file_init F
+GLIBC_2.12 _IO_file_jumps D 0x54
+GLIBC_2.12 _IO_file_open F
+GLIBC_2.12 _IO_file_overflow F
+GLIBC_2.12 _IO_file_read F
+GLIBC_2.12 _IO_file_seek F
+GLIBC_2.12 _IO_file_seekoff F
+GLIBC_2.12 _IO_file_setbuf F
+GLIBC_2.12 _IO_file_stat F
+GLIBC_2.12 _IO_file_sync F
+GLIBC_2.12 _IO_file_underflow F
+GLIBC_2.12 _IO_file_write F
+GLIBC_2.12 _IO_file_xsputn F
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_flush_all F
+GLIBC_2.12 _IO_flush_all_linebuffered F
+GLIBC_2.12 _IO_fopen F
+GLIBC_2.12 _IO_fprintf F
+GLIBC_2.12 _IO_fputs F
+GLIBC_2.12 _IO_fread F
+GLIBC_2.12 _IO_free_backup_area F
+GLIBC_2.12 _IO_free_wbackup_area F
+GLIBC_2.12 _IO_fsetpos F
+GLIBC_2.12 _IO_fsetpos64 F
+GLIBC_2.12 _IO_ftell F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 _IO_fwrite F
+GLIBC_2.12 _IO_getc F
+GLIBC_2.12 _IO_getline F
+GLIBC_2.12 _IO_getline_info F
+GLIBC_2.12 _IO_gets F
+GLIBC_2.12 _IO_init F
+GLIBC_2.12 _IO_init_marker F
+GLIBC_2.12 _IO_init_wmarker F
+GLIBC_2.12 _IO_iter_begin F
+GLIBC_2.12 _IO_iter_end F
+GLIBC_2.12 _IO_iter_file F
+GLIBC_2.12 _IO_iter_next F
+GLIBC_2.12 _IO_least_wmarker F
+GLIBC_2.12 _IO_link_in F
+GLIBC_2.12 _IO_list_all D 0x4
+GLIBC_2.12 _IO_list_lock F
+GLIBC_2.12 _IO_list_resetlock F
+GLIBC_2.12 _IO_list_unlock F
+GLIBC_2.12 _IO_marker_delta F
+GLIBC_2.12 _IO_marker_difference F
+GLIBC_2.12 _IO_padn F
+GLIBC_2.12 _IO_peekc_locked F
+GLIBC_2.12 _IO_popen F
+GLIBC_2.12 _IO_printf F
+GLIBC_2.12 _IO_proc_close F
+GLIBC_2.12 _IO_proc_open F
+GLIBC_2.12 _IO_putc F
+GLIBC_2.12 _IO_puts F
+GLIBC_2.12 _IO_remove_marker F
+GLIBC_2.12 _IO_seekmark F
+GLIBC_2.12 _IO_seekoff F
+GLIBC_2.12 _IO_seekpos F
+GLIBC_2.12 _IO_seekwmark F
+GLIBC_2.12 _IO_setb F
+GLIBC_2.12 _IO_setbuffer F
+GLIBC_2.12 _IO_setvbuf F
+GLIBC_2.12 _IO_sgetn F
+GLIBC_2.12 _IO_sprintf F
+GLIBC_2.12 _IO_sputbackc F
+GLIBC_2.12 _IO_sputbackwc F
+GLIBC_2.12 _IO_sscanf F
+GLIBC_2.12 _IO_str_init_readonly F
+GLIBC_2.12 _IO_str_init_static F
+GLIBC_2.12 _IO_str_overflow F
+GLIBC_2.12 _IO_str_pbackfail F
+GLIBC_2.12 _IO_str_seekoff F
+GLIBC_2.12 _IO_str_underflow F
+GLIBC_2.12 _IO_sungetc F
+GLIBC_2.12 _IO_sungetwc F
+GLIBC_2.12 _IO_switch_to_get_mode F
+GLIBC_2.12 _IO_switch_to_main_wget_area F
+GLIBC_2.12 _IO_switch_to_wbackup_area F
+GLIBC_2.12 _IO_switch_to_wget_mode F
+GLIBC_2.12 _IO_un_link F
+GLIBC_2.12 _IO_ungetc F
+GLIBC_2.12 _IO_unsave_markers F
+GLIBC_2.12 _IO_unsave_wmarkers F
+GLIBC_2.12 _IO_vfprintf F
+GLIBC_2.12 _IO_vfscanf F
+GLIBC_2.12 _IO_vsprintf F
+GLIBC_2.12 _IO_wdefault_doallocate F
+GLIBC_2.12 _IO_wdefault_finish F
+GLIBC_2.12 _IO_wdefault_pbackfail F
+GLIBC_2.12 _IO_wdefault_uflow F
+GLIBC_2.12 _IO_wdefault_xsgetn F
+GLIBC_2.12 _IO_wdefault_xsputn F
+GLIBC_2.12 _IO_wdo_write F
+GLIBC_2.12 _IO_wdoallocbuf F
+GLIBC_2.12 _IO_wfile_jumps D 0x54
+GLIBC_2.12 _IO_wfile_overflow F
+GLIBC_2.12 _IO_wfile_seekoff F
+GLIBC_2.12 _IO_wfile_sync F
+GLIBC_2.12 _IO_wfile_underflow F
+GLIBC_2.12 _IO_wfile_xsputn F
+GLIBC_2.12 _IO_wmarker_delta F
+GLIBC_2.12 _IO_wsetb F
+GLIBC_2.12 ___brk_addr D 0x4
+GLIBC_2.12 __adjtimex F
+GLIBC_2.12 __after_morecore_hook D 0x4
+GLIBC_2.12 __argz_count F
+GLIBC_2.12 __argz_next F
+GLIBC_2.12 __argz_stringify F
+GLIBC_2.12 __asprintf F
+GLIBC_2.12 __asprintf_chk F
+GLIBC_2.12 __assert F
+GLIBC_2.12 __assert_fail F
+GLIBC_2.12 __assert_perror_fail F
+GLIBC_2.12 __backtrace F
+GLIBC_2.12 __backtrace_symbols F
+GLIBC_2.12 __backtrace_symbols_fd F
+GLIBC_2.12 __bsd_getpgrp F
+GLIBC_2.12 __bzero F
+GLIBC_2.12 __check_rhosts_file D 0x4
+GLIBC_2.12 __chk_fail F
+GLIBC_2.12 __clone F
+GLIBC_2.12 __close F
+GLIBC_2.12 __cmsg_nxthdr F
+GLIBC_2.12 __confstr_chk F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __ctype_b_loc F
+GLIBC_2.12 __ctype_get_mb_cur_max F
+GLIBC_2.12 __ctype_tolower_loc F
+GLIBC_2.12 __ctype_toupper_loc F
+GLIBC_2.12 __curbrk D 0x4
+GLIBC_2.12 __cxa_at_quick_exit F
+GLIBC_2.12 __cxa_atexit F
+GLIBC_2.12 __cxa_finalize F
+GLIBC_2.12 __cyg_profile_func_enter F
+GLIBC_2.12 __cyg_profile_func_exit F
+GLIBC_2.12 __daylight D 0x4
+GLIBC_2.12 __dcgettext F
+GLIBC_2.12 __default_morecore F
+GLIBC_2.12 __dgettext F
+GLIBC_2.12 __dprintf_chk F
+GLIBC_2.12 __dup2 F
+GLIBC_2.12 __duplocale F
+GLIBC_2.12 __endmntent F
+GLIBC_2.12 __environ D 0x4
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fbufsize F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __ffs F
+GLIBC_2.12 __fgets_chk F
+GLIBC_2.12 __fgets_unlocked_chk F
+GLIBC_2.12 __fgetws_chk F
+GLIBC_2.12 __fgetws_unlocked_chk F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __flbf F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __fpending F
+GLIBC_2.12 __fprintf_chk F
+GLIBC_2.12 __fpu_control D 0x4
+GLIBC_2.12 __fpurge F
+GLIBC_2.12 __fread_chk F
+GLIBC_2.12 __fread_unlocked_chk F
+GLIBC_2.12 __freadable F
+GLIBC_2.12 __freading F
+GLIBC_2.12 __free_hook D 0x4
+GLIBC_2.12 __freelocale F
+GLIBC_2.12 __fsetlocking F
+GLIBC_2.12 __fwprintf_chk F
+GLIBC_2.12 __fwritable F
+GLIBC_2.12 __fwriting F
+GLIBC_2.12 __fxstat F
+GLIBC_2.12 __fxstat64 F
+GLIBC_2.12 __fxstatat F
+GLIBC_2.12 __fxstatat64 F
+GLIBC_2.12 __getcwd_chk F
+GLIBC_2.12 __getdelim F
+GLIBC_2.12 __getdomainname_chk F
+GLIBC_2.12 __getgroups_chk F
+GLIBC_2.12 __gethostname_chk F
+GLIBC_2.12 __getlogin_r_chk F
+GLIBC_2.12 __getmntent_r F
+GLIBC_2.12 __getpagesize F
+GLIBC_2.12 __getpgid F
+GLIBC_2.12 __getpid F
+GLIBC_2.12 __gets_chk F
+GLIBC_2.12 __gettimeofday F
+GLIBC_2.12 __getwd_chk F
+GLIBC_2.12 __gmtime_r F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __isalnum_l F
+GLIBC_2.12 __isalpha_l F
+GLIBC_2.12 __isascii_l F
+GLIBC_2.12 __isblank_l F
+GLIBC_2.12 __iscntrl_l F
+GLIBC_2.12 __isctype F
+GLIBC_2.12 __isdigit_l F
+GLIBC_2.12 __isgraph_l F
+GLIBC_2.12 __isinf F
+GLIBC_2.12 __isinff F
+GLIBC_2.12 __islower_l F
+GLIBC_2.12 __isnan F
+GLIBC_2.12 __isnanf F
+GLIBC_2.12 __isoc99_fscanf F
+GLIBC_2.12 __isoc99_fwscanf F
+GLIBC_2.12 __isoc99_scanf F
+GLIBC_2.12 __isoc99_sscanf F
+GLIBC_2.12 __isoc99_swscanf F
+GLIBC_2.12 __isoc99_vfscanf F
+GLIBC_2.12 __isoc99_vfwscanf F
+GLIBC_2.12 __isoc99_vscanf F
+GLIBC_2.12 __isoc99_vsscanf F
+GLIBC_2.12 __isoc99_vswscanf F
+GLIBC_2.12 __isoc99_vwscanf F
+GLIBC_2.12 __isoc99_wscanf F
+GLIBC_2.12 __isprint_l F
+GLIBC_2.12 __ispunct_l F
+GLIBC_2.12 __isspace_l F
+GLIBC_2.12 __isupper_l F
+GLIBC_2.12 __iswalnum_l F
+GLIBC_2.12 __iswalpha_l F
+GLIBC_2.12 __iswblank_l F
+GLIBC_2.12 __iswcntrl_l F
+GLIBC_2.12 __iswctype F
+GLIBC_2.12 __iswctype_l F
+GLIBC_2.12 __iswdigit_l F
+GLIBC_2.12 __iswgraph_l F
+GLIBC_2.12 __iswlower_l F
+GLIBC_2.12 __iswprint_l F
+GLIBC_2.12 __iswpunct_l F
+GLIBC_2.12 __iswspace_l F
+GLIBC_2.12 __iswupper_l F
+GLIBC_2.12 __iswxdigit_l F
+GLIBC_2.12 __isxdigit_l F
+GLIBC_2.12 __ivaliduser F
+GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.12 __key_gendes_LOCAL D 0x4
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_calloc F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __libc_free F
+GLIBC_2.12 __libc_freeres F
+GLIBC_2.12 __libc_init_first F
+GLIBC_2.12 __libc_mallinfo F
+GLIBC_2.12 __libc_malloc F
+GLIBC_2.12 __libc_mallopt F
+GLIBC_2.12 __libc_memalign F
+GLIBC_2.12 __libc_pvalloc F
+GLIBC_2.12 __libc_realloc F
+GLIBC_2.12 __libc_sa_len F
+GLIBC_2.12 __libc_start_main F
+GLIBC_2.12 __libc_valloc F
+GLIBC_2.12 __longjmp_chk F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __lxstat F
+GLIBC_2.12 __lxstat64 F
+GLIBC_2.12 __malloc_hook D 0x4
+GLIBC_2.12 __malloc_initialize_hook D 0x4
+GLIBC_2.12 __mbrlen F
+GLIBC_2.12 __mbrtowc F
+GLIBC_2.12 __mbsnrtowcs_chk F
+GLIBC_2.12 __mbsrtowcs_chk F
+GLIBC_2.12 __mbstowcs_chk F
+GLIBC_2.12 __mcount F
+GLIBC_2.12 __memalign_hook D 0x4
+GLIBC_2.12 __memcpy_chk F
+GLIBC_2.12 __memmove_chk F
+GLIBC_2.12 __mempcpy F
+GLIBC_2.12 __mempcpy_chk F
+GLIBC_2.12 __mempcpy_small F
+GLIBC_2.12 __memset_chk F
+GLIBC_2.12 __monstartup F
+GLIBC_2.12 __morecore D 0x4
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __newlocale F
+GLIBC_2.12 __nl_langinfo_l F
+GLIBC_2.12 __nss_configure_lookup F
+GLIBC_2.12 __nss_database_lookup F
+GLIBC_2.12 __nss_group_lookup F
+GLIBC_2.12 __nss_hostname_digits_dots F
+GLIBC_2.12 __nss_hosts_lookup F
+GLIBC_2.12 __nss_next F
+GLIBC_2.12 __nss_passwd_lookup F
+GLIBC_2.12 __obstack_printf_chk F
+GLIBC_2.12 __obstack_vprintf_chk F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __open64_2 F
+GLIBC_2.12 __open_2 F
+GLIBC_2.12 __openat64_2 F
+GLIBC_2.12 __openat_2 F
+GLIBC_2.12 __overflow F
+GLIBC_2.12 __pipe F
+GLIBC_2.12 __poll F
+GLIBC_2.12 __posix_getopt F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pread64_chk F
+GLIBC_2.12 __pread_chk F
+GLIBC_2.12 __printf_chk F
+GLIBC_2.12 __printf_fp F
+GLIBC_2.12 __profile_frequency F
+GLIBC_2.12 __progname D 0x4
+GLIBC_2.12 __progname_full D 0x4
+GLIBC_2.12 __ptsname_r_chk F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __rawmemchr F
+GLIBC_2.12 __rcmd_errstr D 0x4
+GLIBC_2.12 __read F
+GLIBC_2.12 __read_chk F
+GLIBC_2.12 __readlink_chk F
+GLIBC_2.12 __readlinkat_chk F
+GLIBC_2.12 __realloc_hook D 0x4
+GLIBC_2.12 __realpath_chk F
+GLIBC_2.12 __recv_chk F
+GLIBC_2.12 __recvfrom_chk F
+GLIBC_2.12 __register_atfork F
+GLIBC_2.12 __res_init F
+GLIBC_2.12 __res_nclose F
+GLIBC_2.12 __res_ninit F
+GLIBC_2.12 __res_randomid F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __rpc_thread_createerr F
+GLIBC_2.12 __rpc_thread_svc_fdset F
+GLIBC_2.12 __rpc_thread_svc_max_pollfd F
+GLIBC_2.12 __rpc_thread_svc_pollfd F
+GLIBC_2.12 __sbrk F
+GLIBC_2.12 __sched_cpualloc F
+GLIBC_2.12 __sched_cpucount F
+GLIBC_2.12 __sched_cpufree F
+GLIBC_2.12 __sched_get_priority_max F
+GLIBC_2.12 __sched_get_priority_min F
+GLIBC_2.12 __sched_getparam F
+GLIBC_2.12 __sched_getscheduler F
+GLIBC_2.12 __sched_setscheduler F
+GLIBC_2.12 __sched_yield F
+GLIBC_2.12 __secure_getenv F
+GLIBC_2.12 __select F
+GLIBC_2.12 __setmntent F
+GLIBC_2.12 __setpgid F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __sigaddset F
+GLIBC_2.12 __sigdelset F
+GLIBC_2.12 __sigismember F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 __sigpause F
+GLIBC_2.12 __sigsetjmp F
+GLIBC_2.12 __sigsuspend F
+GLIBC_2.12 __snprintf_chk F
+GLIBC_2.12 __sprintf_chk F
+GLIBC_2.12 __stack_chk_fail F
+GLIBC_2.12 __statfs F
+GLIBC_2.12 __stpcpy F
+GLIBC_2.12 __stpcpy_chk F
+GLIBC_2.12 __stpcpy_small F
+GLIBC_2.12 __stpncpy F
+GLIBC_2.12 __stpncpy_chk F
+GLIBC_2.12 __strcasecmp F
+GLIBC_2.12 __strcasecmp_l F
+GLIBC_2.12 __strcasestr F
+GLIBC_2.12 __strcat_chk F
+GLIBC_2.12 __strcoll_l F
+GLIBC_2.12 __strcpy_chk F
+GLIBC_2.12 __strcpy_small F
+GLIBC_2.12 __strcspn_c1 F
+GLIBC_2.12 __strcspn_c2 F
+GLIBC_2.12 __strcspn_c3 F
+GLIBC_2.12 __strdup F
+GLIBC_2.12 __strerror_r F
+GLIBC_2.12 __strfmon_l F
+GLIBC_2.12 __strftime_l F
+GLIBC_2.12 __strncasecmp_l F
+GLIBC_2.12 __strncat_chk F
+GLIBC_2.12 __strncpy_chk F
+GLIBC_2.12 __strndup F
+GLIBC_2.12 __strpbrk_c2 F
+GLIBC_2.12 __strpbrk_c3 F
+GLIBC_2.12 __strsep_1c F
+GLIBC_2.12 __strsep_2c F
+GLIBC_2.12 __strsep_3c F
+GLIBC_2.12 __strsep_g F
+GLIBC_2.12 __strspn_c1 F
+GLIBC_2.12 __strspn_c2 F
+GLIBC_2.12 __strspn_c3 F
+GLIBC_2.12 __strtod_internal F
+GLIBC_2.12 __strtod_l F
+GLIBC_2.12 __strtof_internal F
+GLIBC_2.12 __strtof_l F
+GLIBC_2.12 __strtok_r F
+GLIBC_2.12 __strtok_r_1c F
+GLIBC_2.12 __strtol_internal F
+GLIBC_2.12 __strtol_l F
+GLIBC_2.12 __strtold_internal F
+GLIBC_2.12 __strtold_l F
+GLIBC_2.12 __strtoll_internal F
+GLIBC_2.12 __strtoll_l F
+GLIBC_2.12 __strtoul_internal F
+GLIBC_2.12 __strtoul_l F
+GLIBC_2.12 __strtoull_internal F
+GLIBC_2.12 __strtoull_l F
+GLIBC_2.12 __strverscmp F
+GLIBC_2.12 __strxfrm_l F
+GLIBC_2.12 __swprintf_chk F
+GLIBC_2.12 __sysconf F
+GLIBC_2.12 __syslog_chk F
+GLIBC_2.12 __sysv_signal F
+GLIBC_2.12 __timezone D 0x4
+GLIBC_2.12 __toascii_l F
+GLIBC_2.12 __tolower_l F
+GLIBC_2.12 __toupper_l F
+GLIBC_2.12 __towctrans F
+GLIBC_2.12 __towctrans_l F
+GLIBC_2.12 __towlower_l F
+GLIBC_2.12 __towupper_l F
+GLIBC_2.12 __ttyname_r_chk F
+GLIBC_2.12 __tzname D 0x8
+GLIBC_2.12 __uflow F
+GLIBC_2.12 __underflow F
+GLIBC_2.12 __uselocale F
+GLIBC_2.12 __vasprintf_chk F
+GLIBC_2.12 __vdprintf_chk F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __vfprintf_chk F
+GLIBC_2.12 __vfscanf F
+GLIBC_2.12 __vfwprintf_chk F
+GLIBC_2.12 __vprintf_chk F
+GLIBC_2.12 __vsnprintf F
+GLIBC_2.12 __vsnprintf_chk F
+GLIBC_2.12 __vsprintf_chk F
+GLIBC_2.12 __vsscanf F
+GLIBC_2.12 __vswprintf_chk F
+GLIBC_2.12 __vsyslog_chk F
+GLIBC_2.12 __vwprintf_chk F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __waitpid F
+GLIBC_2.12 __wcpcpy_chk F
+GLIBC_2.12 __wcpncpy_chk F
+GLIBC_2.12 __wcrtomb_chk F
+GLIBC_2.12 __wcscasecmp_l F
+GLIBC_2.12 __wcscat_chk F
+GLIBC_2.12 __wcscoll_l F
+GLIBC_2.12 __wcscpy_chk F
+GLIBC_2.12 __wcsftime_l F
+GLIBC_2.12 __wcsncasecmp_l F
+GLIBC_2.12 __wcsncat_chk F
+GLIBC_2.12 __wcsncpy_chk F
+GLIBC_2.12 __wcsnrtombs_chk F
+GLIBC_2.12 __wcsrtombs_chk F
+GLIBC_2.12 __wcstod_internal F
+GLIBC_2.12 __wcstod_l F
+GLIBC_2.12 __wcstof_internal F
+GLIBC_2.12 __wcstof_l F
+GLIBC_2.12 __wcstol_internal F
+GLIBC_2.12 __wcstol_l F
+GLIBC_2.12 __wcstold_internal F
+GLIBC_2.12 __wcstold_l F
+GLIBC_2.12 __wcstoll_internal F
+GLIBC_2.12 __wcstoll_l F
+GLIBC_2.12 __wcstombs_chk F
+GLIBC_2.12 __wcstoul_internal F
+GLIBC_2.12 __wcstoul_l F
+GLIBC_2.12 __wcstoull_internal F
+GLIBC_2.12 __wcstoull_l F
+GLIBC_2.12 __wcsxfrm_l F
+GLIBC_2.12 __wctomb_chk F
+GLIBC_2.12 __wctrans_l F
+GLIBC_2.12 __wctype_l F
+GLIBC_2.12 __wmemcpy_chk F
+GLIBC_2.12 __wmemmove_chk F
+GLIBC_2.12 __wmempcpy_chk F
+GLIBC_2.12 __wmemset_chk F
+GLIBC_2.12 __woverflow F
+GLIBC_2.12 __wprintf_chk F
+GLIBC_2.12 __write F
+GLIBC_2.12 __wuflow F
+GLIBC_2.12 __wunderflow F
+GLIBC_2.12 __xmknod F
+GLIBC_2.12 __xmknodat F
+GLIBC_2.12 __xpg_basename F
+GLIBC_2.12 __xpg_sigpause F
+GLIBC_2.12 __xpg_strerror_r F
+GLIBC_2.12 __xstat F
+GLIBC_2.12 __xstat64 F
+GLIBC_2.12 _authenticate F
+GLIBC_2.12 _dl_mcount_wrapper F
+GLIBC_2.12 _dl_mcount_wrapper_check F
+GLIBC_2.12 _environ D 0x4
+GLIBC_2.12 _exit F
+GLIBC_2.12 _flush_cache F
+GLIBC_2.12 _flushlbf F
+GLIBC_2.12 _libc_intl_domainname D 0x5
+GLIBC_2.12 _longjmp F
+GLIBC_2.12 _mcleanup F
+GLIBC_2.12 _mcount F
+GLIBC_2.12 _nl_default_dirname D 0x12
+GLIBC_2.12 _nl_domain_bindings D 0x4
+GLIBC_2.12 _nl_msg_cat_cntr D 0x4
+GLIBC_2.12 _null_auth D 0xc
+GLIBC_2.12 _obstack_allocated_p F
+GLIBC_2.12 _obstack_begin F
+GLIBC_2.12 _obstack_begin_1 F
+GLIBC_2.12 _obstack_free F
+GLIBC_2.12 _obstack_memory_used F
+GLIBC_2.12 _obstack_newchunk F
+GLIBC_2.12 _res D 0x200
+GLIBC_2.12 _res_hconf D 0x30
+GLIBC_2.12 _rpc_dtablesize F
+GLIBC_2.12 _seterr_reply F
+GLIBC_2.12 _setjmp F
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 _sys_siglist D 0x104
+GLIBC_2.12 _tolower F
+GLIBC_2.12 _toupper F
+GLIBC_2.12 a64l F
+GLIBC_2.12 abort F
+GLIBC_2.12 abs F
+GLIBC_2.12 accept F
+GLIBC_2.12 accept4 F
+GLIBC_2.12 access F
+GLIBC_2.12 acct F
+GLIBC_2.12 addmntent F
+GLIBC_2.12 addseverity F
+GLIBC_2.12 adjtime F
+GLIBC_2.12 adjtimex F
+GLIBC_2.12 advance F
+GLIBC_2.12 alarm F
+GLIBC_2.12 alphasort F
+GLIBC_2.12 alphasort64 F
+GLIBC_2.12 argp_err_exit_status D 0x4
+GLIBC_2.12 argp_error F
+GLIBC_2.12 argp_failure F
+GLIBC_2.12 argp_help F
+GLIBC_2.12 argp_parse F
+GLIBC_2.12 argp_program_bug_address D 0x4
+GLIBC_2.12 argp_program_version D 0x4
+GLIBC_2.12 argp_program_version_hook D 0x4
+GLIBC_2.12 argp_state_help F
+GLIBC_2.12 argp_usage F
+GLIBC_2.12 argz_add F
+GLIBC_2.12 argz_add_sep F
+GLIBC_2.12 argz_append F
+GLIBC_2.12 argz_count F
+GLIBC_2.12 argz_create F
+GLIBC_2.12 argz_create_sep F
+GLIBC_2.12 argz_delete F
+GLIBC_2.12 argz_extract F
+GLIBC_2.12 argz_insert F
+GLIBC_2.12 argz_next F
+GLIBC_2.12 argz_replace F
+GLIBC_2.12 argz_stringify F
+GLIBC_2.12 asctime F
+GLIBC_2.12 asctime_r F
+GLIBC_2.12 asprintf F
+GLIBC_2.12 atof F
+GLIBC_2.12 atoi F
+GLIBC_2.12 atol F
+GLIBC_2.12 atoll F
+GLIBC_2.12 authdes_create F
+GLIBC_2.12 authdes_getucred F
+GLIBC_2.12 authdes_pk_create F
+GLIBC_2.12 authnone_create F
+GLIBC_2.12 authunix_create F
+GLIBC_2.12 authunix_create_default F
+GLIBC_2.12 backtrace F
+GLIBC_2.12 backtrace_symbols F
+GLIBC_2.12 backtrace_symbols_fd F
+GLIBC_2.12 basename F
+GLIBC_2.12 bcmp F
+GLIBC_2.12 bcopy F
+GLIBC_2.12 bdflush F
+GLIBC_2.12 bind F
+GLIBC_2.12 bind_textdomain_codeset F
+GLIBC_2.12 bindresvport F
+GLIBC_2.12 bindtextdomain F
+GLIBC_2.12 brk F
+GLIBC_2.12 bsd_signal F
+GLIBC_2.12 bsearch F
+GLIBC_2.12 btowc F
+GLIBC_2.12 bzero F
+GLIBC_2.12 cacheflush F
+GLIBC_2.12 calloc F
+GLIBC_2.12 callrpc F
+GLIBC_2.12 canonicalize_file_name F
+GLIBC_2.12 capget F
+GLIBC_2.12 capset F
+GLIBC_2.12 catclose F
+GLIBC_2.12 catgets F
+GLIBC_2.12 catopen F
+GLIBC_2.12 cbc_crypt F
+GLIBC_2.12 cfgetispeed F
+GLIBC_2.12 cfgetospeed F
+GLIBC_2.12 cfmakeraw F
+GLIBC_2.12 cfree F
+GLIBC_2.12 cfsetispeed F
+GLIBC_2.12 cfsetospeed F
+GLIBC_2.12 cfsetspeed F
+GLIBC_2.12 chdir F
+GLIBC_2.12 chflags F
+GLIBC_2.12 chmod F
+GLIBC_2.12 chown F
+GLIBC_2.12 chroot F
+GLIBC_2.12 clearenv F
+GLIBC_2.12 clearerr F
+GLIBC_2.12 clearerr_unlocked F
+GLIBC_2.12 clnt_broadcast F
+GLIBC_2.12 clnt_create F
+GLIBC_2.12 clnt_pcreateerror F
+GLIBC_2.12 clnt_perrno F
+GLIBC_2.12 clnt_perror F
+GLIBC_2.12 clnt_spcreateerror F
+GLIBC_2.12 clnt_sperrno F
+GLIBC_2.12 clnt_sperror F
+GLIBC_2.12 clntraw_create F
+GLIBC_2.12 clnttcp_create F
+GLIBC_2.12 clntudp_bufcreate F
+GLIBC_2.12 clntudp_create F
+GLIBC_2.12 clntunix_create F
+GLIBC_2.12 clock F
+GLIBC_2.12 clone F
+GLIBC_2.12 close F
+GLIBC_2.12 closedir F
+GLIBC_2.12 closelog F
+GLIBC_2.12 confstr F
+GLIBC_2.12 connect F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 creat F
+GLIBC_2.12 creat64 F
+GLIBC_2.12 create_module F
+GLIBC_2.12 ctermid F
+GLIBC_2.12 ctime F
+GLIBC_2.12 ctime_r F
+GLIBC_2.12 cuserid F
+GLIBC_2.12 daemon F
+GLIBC_2.12 daylight D 0x4
+GLIBC_2.12 dcgettext F
+GLIBC_2.12 dcngettext F
+GLIBC_2.12 delete_module F
+GLIBC_2.12 des_setparity F
+GLIBC_2.12 dgettext F
+GLIBC_2.12 difftime F
+GLIBC_2.12 dirfd F
+GLIBC_2.12 dirname F
+GLIBC_2.12 div F
+GLIBC_2.12 dl_iterate_phdr F
+GLIBC_2.12 dngettext F
+GLIBC_2.12 dprintf F
+GLIBC_2.12 drand48 F
+GLIBC_2.12 drand48_r F
+GLIBC_2.12 dup F
+GLIBC_2.12 dup2 F
+GLIBC_2.12 dup3 F
+GLIBC_2.12 duplocale F
+GLIBC_2.12 dysize F
+GLIBC_2.12 eaccess F
+GLIBC_2.12 ecb_crypt F
+GLIBC_2.12 ecvt F
+GLIBC_2.12 ecvt_r F
+GLIBC_2.12 endaliasent F
+GLIBC_2.12 endfsent F
+GLIBC_2.12 endgrent F
+GLIBC_2.12 endhostent F
+GLIBC_2.12 endmntent F
+GLIBC_2.12 endnetent F
+GLIBC_2.12 endnetgrent F
+GLIBC_2.12 endprotoent F
+GLIBC_2.12 endpwent F
+GLIBC_2.12 endrpcent F
+GLIBC_2.12 endservent F
+GLIBC_2.12 endsgent F
+GLIBC_2.12 endspent F
+GLIBC_2.12 endttyent F
+GLIBC_2.12 endusershell F
+GLIBC_2.12 endutent F
+GLIBC_2.12 endutxent F
+GLIBC_2.12 environ D 0x4
+GLIBC_2.12 envz_add F
+GLIBC_2.12 envz_entry F
+GLIBC_2.12 envz_get F
+GLIBC_2.12 envz_merge F
+GLIBC_2.12 envz_remove F
+GLIBC_2.12 envz_strip F
+GLIBC_2.12 epoll_create F
+GLIBC_2.12 epoll_create1 F
+GLIBC_2.12 epoll_ctl F
+GLIBC_2.12 epoll_pwait F
+GLIBC_2.12 epoll_wait F
+GLIBC_2.12 erand48 F
+GLIBC_2.12 erand48_r F
+GLIBC_2.12 err F
+GLIBC_2.12 error F
+GLIBC_2.12 error_at_line F
+GLIBC_2.12 error_message_count D 0x4
+GLIBC_2.12 error_one_per_line D 0x4
+GLIBC_2.12 error_print_progname D 0x4
+GLIBC_2.12 errx F
+GLIBC_2.12 ether_aton F
+GLIBC_2.12 ether_aton_r F
+GLIBC_2.12 ether_hostton F
+GLIBC_2.12 ether_line F
+GLIBC_2.12 ether_ntoa F
+GLIBC_2.12 ether_ntoa_r F
+GLIBC_2.12 ether_ntohost F
+GLIBC_2.12 euidaccess F
+GLIBC_2.12 eventfd F
+GLIBC_2.12 eventfd_read F
+GLIBC_2.12 eventfd_write F
+GLIBC_2.12 execl F
+GLIBC_2.12 execle F
+GLIBC_2.12 execlp F
+GLIBC_2.12 execv F
+GLIBC_2.12 execve F
+GLIBC_2.12 execvp F
+GLIBC_2.12 execvpe F
+GLIBC_2.12 exit F
+GLIBC_2.12 faccessat F
+GLIBC_2.12 fallocate F
+GLIBC_2.12 fallocate64 F
+GLIBC_2.12 fattach F
+GLIBC_2.12 fchdir F
+GLIBC_2.12 fchflags F
+GLIBC_2.12 fchmod F
+GLIBC_2.12 fchmodat F
+GLIBC_2.12 fchown F
+GLIBC_2.12 fchownat F
+GLIBC_2.12 fclose F
+GLIBC_2.12 fcloseall F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 fcvt F
+GLIBC_2.12 fcvt_r F
+GLIBC_2.12 fdatasync F
+GLIBC_2.12 fdetach F
+GLIBC_2.12 fdopen F
+GLIBC_2.12 fdopendir F
+GLIBC_2.12 feof F
+GLIBC_2.12 feof_unlocked F
+GLIBC_2.12 ferror F
+GLIBC_2.12 ferror_unlocked F
+GLIBC_2.12 fexecve F
+GLIBC_2.12 fflush F
+GLIBC_2.12 fflush_unlocked F
+GLIBC_2.12 ffs F
+GLIBC_2.12 ffsl F
+GLIBC_2.12 ffsll F
+GLIBC_2.12 fgetc F
+GLIBC_2.12 fgetc_unlocked F
+GLIBC_2.12 fgetgrent F
+GLIBC_2.12 fgetgrent_r F
+GLIBC_2.12 fgetpos F
+GLIBC_2.12 fgetpos64 F
+GLIBC_2.12 fgetpwent F
+GLIBC_2.12 fgetpwent_r F
+GLIBC_2.12 fgets F
+GLIBC_2.12 fgets_unlocked F
+GLIBC_2.12 fgetsgent F
+GLIBC_2.12 fgetsgent_r F
+GLIBC_2.12 fgetspent F
+GLIBC_2.12 fgetspent_r F
+GLIBC_2.12 fgetwc F
+GLIBC_2.12 fgetwc_unlocked F
+GLIBC_2.12 fgetws F
+GLIBC_2.12 fgetws_unlocked F
+GLIBC_2.12 fgetxattr F
+GLIBC_2.12 fileno F
+GLIBC_2.12 fileno_unlocked F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 flistxattr F
+GLIBC_2.12 flock F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fmemopen F
+GLIBC_2.12 fmtmsg F
+GLIBC_2.12 fnmatch F
+GLIBC_2.12 fopen F
+GLIBC_2.12 fopen64 F
+GLIBC_2.12 fopencookie F
+GLIBC_2.12 fork F
+GLIBC_2.12 fpathconf F
+GLIBC_2.12 fprintf F
+GLIBC_2.12 fputc F
+GLIBC_2.12 fputc_unlocked F
+GLIBC_2.12 fputs F
+GLIBC_2.12 fputs_unlocked F
+GLIBC_2.12 fputwc F
+GLIBC_2.12 fputwc_unlocked F
+GLIBC_2.12 fputws F
+GLIBC_2.12 fputws_unlocked F
+GLIBC_2.12 fread F
+GLIBC_2.12 fread_unlocked F
+GLIBC_2.12 free F
+GLIBC_2.12 freeaddrinfo F
+GLIBC_2.12 freeifaddrs F
+GLIBC_2.12 freelocale F
+GLIBC_2.12 fremovexattr F
+GLIBC_2.12 freopen F
+GLIBC_2.12 freopen64 F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 fscanf F
+GLIBC_2.12 fseek F
+GLIBC_2.12 fseeko F
+GLIBC_2.12 fseeko64 F
+GLIBC_2.12 fsetpos F
+GLIBC_2.12 fsetpos64 F
+GLIBC_2.12 fsetxattr F
+GLIBC_2.12 fstatfs F
+GLIBC_2.12 fstatfs64 F
+GLIBC_2.12 fstatvfs F
+GLIBC_2.12 fstatvfs64 F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftell F
+GLIBC_2.12 ftello F
+GLIBC_2.12 ftello64 F
+GLIBC_2.12 ftime F
+GLIBC_2.12 ftok F
+GLIBC_2.12 ftruncate F
+GLIBC_2.12 ftruncate64 F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 fts_children F
+GLIBC_2.12 fts_close F
+GLIBC_2.12 fts_open F
+GLIBC_2.12 fts_read F
+GLIBC_2.12 fts_set F
+GLIBC_2.12 ftw F
+GLIBC_2.12 ftw64 F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 futimens F
+GLIBC_2.12 futimes F
+GLIBC_2.12 futimesat F
+GLIBC_2.12 fwide F
+GLIBC_2.12 fwprintf F
+GLIBC_2.12 fwrite F
+GLIBC_2.12 fwrite_unlocked F
+GLIBC_2.12 fwscanf F
+GLIBC_2.12 gai_strerror F
+GLIBC_2.12 gcvt F
+GLIBC_2.12 get_avphys_pages F
+GLIBC_2.12 get_current_dir_name F
+GLIBC_2.12 get_kernel_syms F
+GLIBC_2.12 get_myaddress F
+GLIBC_2.12 get_nprocs F
+GLIBC_2.12 get_nprocs_conf F
+GLIBC_2.12 get_phys_pages F
+GLIBC_2.12 getaddrinfo F
+GLIBC_2.12 getaliasbyname F
+GLIBC_2.12 getaliasbyname_r F
+GLIBC_2.12 getaliasent F
+GLIBC_2.12 getaliasent_r F
+GLIBC_2.12 getc F
+GLIBC_2.12 getc_unlocked F
+GLIBC_2.12 getchar F
+GLIBC_2.12 getchar_unlocked F
+GLIBC_2.12 getcontext F
+GLIBC_2.12 getcwd F
+GLIBC_2.12 getdate F
+GLIBC_2.12 getdate_err D 0x4
+GLIBC_2.12 getdate_r F
+GLIBC_2.12 getdelim F
+GLIBC_2.12 getdirentries F
+GLIBC_2.12 getdirentries64 F
+GLIBC_2.12 getdomainname F
+GLIBC_2.12 getdtablesize F
+GLIBC_2.12 getegid F
+GLIBC_2.12 getenv F
+GLIBC_2.12 geteuid F
+GLIBC_2.12 getfsent F
+GLIBC_2.12 getfsfile F
+GLIBC_2.12 getfsspec F
+GLIBC_2.12 getgid F
+GLIBC_2.12 getgrent F
+GLIBC_2.12 getgrent_r F
+GLIBC_2.12 getgrgid F
+GLIBC_2.12 getgrgid_r F
+GLIBC_2.12 getgrnam F
+GLIBC_2.12 getgrnam_r F
+GLIBC_2.12 getgrouplist F
+GLIBC_2.12 getgroups F
+GLIBC_2.12 gethostbyaddr F
+GLIBC_2.12 gethostbyaddr_r F
+GLIBC_2.12 gethostbyname F
+GLIBC_2.12 gethostbyname2 F
+GLIBC_2.12 gethostbyname2_r F
+GLIBC_2.12 gethostbyname_r F
+GLIBC_2.12 gethostent F
+GLIBC_2.12 gethostent_r F
+GLIBC_2.12 gethostid F
+GLIBC_2.12 gethostname F
+GLIBC_2.12 getifaddrs F
+GLIBC_2.12 getipv4sourcefilter F
+GLIBC_2.12 getitimer F
+GLIBC_2.12 getline F
+GLIBC_2.12 getloadavg F
+GLIBC_2.12 getlogin F
+GLIBC_2.12 getlogin_r F
+GLIBC_2.12 getmntent F
+GLIBC_2.12 getmntent_r F
+GLIBC_2.12 getmsg F
+GLIBC_2.12 getnameinfo F
+GLIBC_2.12 getnetbyaddr F
+GLIBC_2.12 getnetbyaddr_r F
+GLIBC_2.12 getnetbyname F
+GLIBC_2.12 getnetbyname_r F
+GLIBC_2.12 getnetent F
+GLIBC_2.12 getnetent_r F
+GLIBC_2.12 getnetgrent F
+GLIBC_2.12 getnetgrent_r F
+GLIBC_2.12 getnetname F
+GLIBC_2.12 getopt F
+GLIBC_2.12 getopt_long F
+GLIBC_2.12 getopt_long_only F
+GLIBC_2.12 getpagesize F
+GLIBC_2.12 getpass F
+GLIBC_2.12 getpeername F
+GLIBC_2.12 getpgid F
+GLIBC_2.12 getpgrp F
+GLIBC_2.12 getpid F
+GLIBC_2.12 getpmsg F
+GLIBC_2.12 getppid F
+GLIBC_2.12 getpriority F
+GLIBC_2.12 getprotobyname F
+GLIBC_2.12 getprotobyname_r F
+GLIBC_2.12 getprotobynumber F
+GLIBC_2.12 getprotobynumber_r F
+GLIBC_2.12 getprotoent F
+GLIBC_2.12 getprotoent_r F
+GLIBC_2.12 getpt F
+GLIBC_2.12 getpublickey F
+GLIBC_2.12 getpw F
+GLIBC_2.12 getpwent F
+GLIBC_2.12 getpwent_r F
+GLIBC_2.12 getpwnam F
+GLIBC_2.12 getpwnam_r F
+GLIBC_2.12 getpwuid F
+GLIBC_2.12 getpwuid_r F
+GLIBC_2.12 getresgid F
+GLIBC_2.12 getresuid F
+GLIBC_2.12 getrlimit F
+GLIBC_2.12 getrlimit64 F
+GLIBC_2.12 getrpcbyname F
+GLIBC_2.12 getrpcbyname_r F
+GLIBC_2.12 getrpcbynumber F
+GLIBC_2.12 getrpcbynumber_r F
+GLIBC_2.12 getrpcent F
+GLIBC_2.12 getrpcent_r F
+GLIBC_2.12 getrpcport F
+GLIBC_2.12 getrusage F
+GLIBC_2.12 gets F
+GLIBC_2.12 getsecretkey F
+GLIBC_2.12 getservbyname F
+GLIBC_2.12 getservbyname_r F
+GLIBC_2.12 getservbyport F
+GLIBC_2.12 getservbyport_r F
+GLIBC_2.12 getservent F
+GLIBC_2.12 getservent_r F
+GLIBC_2.12 getsgent F
+GLIBC_2.12 getsgent_r F
+GLIBC_2.12 getsgnam F
+GLIBC_2.12 getsgnam_r F
+GLIBC_2.12 getsid F
+GLIBC_2.12 getsockname F
+GLIBC_2.12 getsockopt F
+GLIBC_2.12 getsourcefilter F
+GLIBC_2.12 getspent F
+GLIBC_2.12 getspent_r F
+GLIBC_2.12 getspnam F
+GLIBC_2.12 getspnam_r F
+GLIBC_2.12 getsubopt F
+GLIBC_2.12 gettext F
+GLIBC_2.12 gettimeofday F
+GLIBC_2.12 getttyent F
+GLIBC_2.12 getttynam F
+GLIBC_2.12 getuid F
+GLIBC_2.12 getusershell F
+GLIBC_2.12 getutent F
+GLIBC_2.12 getutent_r F
+GLIBC_2.12 getutid F
+GLIBC_2.12 getutid_r F
+GLIBC_2.12 getutline F
+GLIBC_2.12 getutline_r F
+GLIBC_2.12 getutmp F
+GLIBC_2.12 getutmpx F
+GLIBC_2.12 getutxent F
+GLIBC_2.12 getutxid F
+GLIBC_2.12 getutxline F
+GLIBC_2.12 getw F
+GLIBC_2.12 getwc F
+GLIBC_2.12 getwc_unlocked F
+GLIBC_2.12 getwchar F
+GLIBC_2.12 getwchar_unlocked F
+GLIBC_2.12 getwd F
+GLIBC_2.12 getxattr F
+GLIBC_2.12 glob F
+GLIBC_2.12 glob64 F
+GLIBC_2.12 glob_pattern_p F
+GLIBC_2.12 globfree F
+GLIBC_2.12 globfree64 F
+GLIBC_2.12 gmtime F
+GLIBC_2.12 gmtime_r F
+GLIBC_2.12 gnu_dev_major F
+GLIBC_2.12 gnu_dev_makedev F
+GLIBC_2.12 gnu_dev_minor F
+GLIBC_2.12 gnu_get_libc_release F
+GLIBC_2.12 gnu_get_libc_version F
+GLIBC_2.12 grantpt F
+GLIBC_2.12 group_member F
+GLIBC_2.12 gsignal F
+GLIBC_2.12 gtty F
+GLIBC_2.12 h_errlist D 0x14
+GLIBC_2.12 h_nerr D 0x4
+GLIBC_2.12 hasmntopt F
+GLIBC_2.12 hcreate F
+GLIBC_2.12 hcreate_r F
+GLIBC_2.12 hdestroy F
+GLIBC_2.12 hdestroy_r F
+GLIBC_2.12 herror F
+GLIBC_2.12 host2netname F
+GLIBC_2.12 hsearch F
+GLIBC_2.12 hsearch_r F
+GLIBC_2.12 hstrerror F
+GLIBC_2.12 htonl F
+GLIBC_2.12 htons F
+GLIBC_2.12 iconv F
+GLIBC_2.12 iconv_close F
+GLIBC_2.12 iconv_open F
+GLIBC_2.12 if_freenameindex F
+GLIBC_2.12 if_indextoname F
+GLIBC_2.12 if_nameindex F
+GLIBC_2.12 if_nametoindex F
+GLIBC_2.12 imaxabs F
+GLIBC_2.12 imaxdiv F
+GLIBC_2.12 in6addr_any D 0x10
+GLIBC_2.12 in6addr_loopback D 0x10
+GLIBC_2.12 index F
+GLIBC_2.12 inet6_opt_append F
+GLIBC_2.12 inet6_opt_find F
+GLIBC_2.12 inet6_opt_finish F
+GLIBC_2.12 inet6_opt_get_val F
+GLIBC_2.12 inet6_opt_init F
+GLIBC_2.12 inet6_opt_next F
+GLIBC_2.12 inet6_opt_set_val F
+GLIBC_2.12 inet6_option_alloc F
+GLIBC_2.12 inet6_option_append F
+GLIBC_2.12 inet6_option_find F
+GLIBC_2.12 inet6_option_init F
+GLIBC_2.12 inet6_option_next F
+GLIBC_2.12 inet6_option_space F
+GLIBC_2.12 inet6_rth_add F
+GLIBC_2.12 inet6_rth_getaddr F
+GLIBC_2.12 inet6_rth_init F
+GLIBC_2.12 inet6_rth_reverse F
+GLIBC_2.12 inet6_rth_segments F
+GLIBC_2.12 inet6_rth_space F
+GLIBC_2.12 inet_addr F
+GLIBC_2.12 inet_aton F
+GLIBC_2.12 inet_lnaof F
+GLIBC_2.12 inet_makeaddr F
+GLIBC_2.12 inet_netof F
+GLIBC_2.12 inet_network F
+GLIBC_2.12 inet_nsap_addr F
+GLIBC_2.12 inet_nsap_ntoa F
+GLIBC_2.12 inet_ntoa F
+GLIBC_2.12 inet_ntop F
+GLIBC_2.12 inet_pton F
+GLIBC_2.12 init_module F
+GLIBC_2.12 initgroups F
+GLIBC_2.12 initstate F
+GLIBC_2.12 initstate_r F
+GLIBC_2.12 innetgr F
+GLIBC_2.12 inotify_add_watch F
+GLIBC_2.12 inotify_init F
+GLIBC_2.12 inotify_init1 F
+GLIBC_2.12 inotify_rm_watch F
+GLIBC_2.12 insque F
+GLIBC_2.12 ioctl F
+GLIBC_2.12 iruserok F
+GLIBC_2.12 iruserok_af F
+GLIBC_2.12 isalnum F
+GLIBC_2.12 isalnum_l F
+GLIBC_2.12 isalpha F
+GLIBC_2.12 isalpha_l F
+GLIBC_2.12 isascii F
+GLIBC_2.12 isastream F
+GLIBC_2.12 isatty F
+GLIBC_2.12 isblank F
+GLIBC_2.12 isblank_l F
+GLIBC_2.12 iscntrl F
+GLIBC_2.12 iscntrl_l F
+GLIBC_2.12 isctype F
+GLIBC_2.12 isdigit F
+GLIBC_2.12 isdigit_l F
+GLIBC_2.12 isfdtype F
+GLIBC_2.12 isgraph F
+GLIBC_2.12 isgraph_l F
+GLIBC_2.12 isinf F
+GLIBC_2.12 isinff F
+GLIBC_2.12 isinfl F
+GLIBC_2.12 islower F
+GLIBC_2.12 islower_l F
+GLIBC_2.12 isnan F
+GLIBC_2.12 isnanf F
+GLIBC_2.12 isnanl F
+GLIBC_2.12 isprint F
+GLIBC_2.12 isprint_l F
+GLIBC_2.12 ispunct F
+GLIBC_2.12 ispunct_l F
+GLIBC_2.12 isspace F
+GLIBC_2.12 isspace_l F
+GLIBC_2.12 isupper F
+GLIBC_2.12 isupper_l F
+GLIBC_2.12 iswalnum F
+GLIBC_2.12 iswalnum_l F
+GLIBC_2.12 iswalpha F
+GLIBC_2.12 iswalpha_l F
+GLIBC_2.12 iswblank F
+GLIBC_2.12 iswblank_l F
+GLIBC_2.12 iswcntrl F
+GLIBC_2.12 iswcntrl_l F
+GLIBC_2.12 iswctype F
+GLIBC_2.12 iswctype_l F
+GLIBC_2.12 iswdigit F
+GLIBC_2.12 iswdigit_l F
+GLIBC_2.12 iswgraph F
+GLIBC_2.12 iswgraph_l F
+GLIBC_2.12 iswlower F
+GLIBC_2.12 iswlower_l F
+GLIBC_2.12 iswprint F
+GLIBC_2.12 iswprint_l F
+GLIBC_2.12 iswpunct F
+GLIBC_2.12 iswpunct_l F
+GLIBC_2.12 iswspace F
+GLIBC_2.12 iswspace_l F
+GLIBC_2.12 iswupper F
+GLIBC_2.12 iswupper_l F
+GLIBC_2.12 iswxdigit F
+GLIBC_2.12 iswxdigit_l F
+GLIBC_2.12 isxdigit F
+GLIBC_2.12 isxdigit_l F
+GLIBC_2.12 jrand48 F
+GLIBC_2.12 jrand48_r F
+GLIBC_2.12 key_decryptsession F
+GLIBC_2.12 key_decryptsession_pk F
+GLIBC_2.12 key_encryptsession F
+GLIBC_2.12 key_encryptsession_pk F
+GLIBC_2.12 key_gendes F
+GLIBC_2.12 key_get_conv F
+GLIBC_2.12 key_secretkey_is_set F
+GLIBC_2.12 key_setnet F
+GLIBC_2.12 key_setsecret F
+GLIBC_2.12 kill F
+GLIBC_2.12 killpg F
+GLIBC_2.12 klogctl F
+GLIBC_2.12 l64a F
+GLIBC_2.12 labs F
+GLIBC_2.12 lchmod F
+GLIBC_2.12 lchown F
+GLIBC_2.12 lckpwdf F
+GLIBC_2.12 lcong48 F
+GLIBC_2.12 lcong48_r F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 ldiv F
+GLIBC_2.12 lfind F
+GLIBC_2.12 lgetxattr F
+GLIBC_2.12 link F
+GLIBC_2.12 linkat F
+GLIBC_2.12 listen F
+GLIBC_2.12 listxattr F
+GLIBC_2.12 llabs F
+GLIBC_2.12 lldiv F
+GLIBC_2.12 llistxattr F
+GLIBC_2.12 llseek F
+GLIBC_2.12 loc1 D 0x4
+GLIBC_2.12 loc2 D 0x4
+GLIBC_2.12 localeconv F
+GLIBC_2.12 localtime F
+GLIBC_2.12 localtime_r F
+GLIBC_2.12 lockf F
+GLIBC_2.12 lockf64 F
+GLIBC_2.12 locs D 0x4
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lrand48 F
+GLIBC_2.12 lrand48_r F
+GLIBC_2.12 lremovexattr F
+GLIBC_2.12 lsearch F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 lsetxattr F
+GLIBC_2.12 lutimes F
+GLIBC_2.12 madvise F
+GLIBC_2.12 makecontext F
+GLIBC_2.12 mallinfo F
+GLIBC_2.12 malloc F
+GLIBC_2.12 malloc_get_state F
+GLIBC_2.12 malloc_info F
+GLIBC_2.12 malloc_set_state F
+GLIBC_2.12 malloc_stats F
+GLIBC_2.12 malloc_trim F
+GLIBC_2.12 malloc_usable_size F
+GLIBC_2.12 mallopt F
+GLIBC_2.12 mallwatch D 0x4
+GLIBC_2.12 mblen F
+GLIBC_2.12 mbrlen F
+GLIBC_2.12 mbrtowc F
+GLIBC_2.12 mbsinit F
+GLIBC_2.12 mbsnrtowcs F
+GLIBC_2.12 mbsrtowcs F
+GLIBC_2.12 mbstowcs F
+GLIBC_2.12 mbtowc F
+GLIBC_2.12 mcheck F
+GLIBC_2.12 mcheck_check_all F
+GLIBC_2.12 mcheck_pedantic F
+GLIBC_2.12 mcount F
+GLIBC_2.12 memalign F
+GLIBC_2.12 memccpy F
+GLIBC_2.12 memchr F
+GLIBC_2.12 memcmp F
+GLIBC_2.12 memcpy F
+GLIBC_2.12 memfrob F
+GLIBC_2.12 memmem F
+GLIBC_2.12 memmove F
+GLIBC_2.12 mempcpy F
+GLIBC_2.12 memrchr F
+GLIBC_2.12 memset F
+GLIBC_2.12 mincore F
+GLIBC_2.12 mkdir F
+GLIBC_2.12 mkdirat F
+GLIBC_2.12 mkdtemp F
+GLIBC_2.12 mkfifo F
+GLIBC_2.12 mkfifoat F
+GLIBC_2.12 mkostemp F
+GLIBC_2.12 mkostemp64 F
+GLIBC_2.12 mkostemps F
+GLIBC_2.12 mkostemps64 F
+GLIBC_2.12 mkstemp F
+GLIBC_2.12 mkstemp64 F
+GLIBC_2.12 mkstemps F
+GLIBC_2.12 mkstemps64 F
+GLIBC_2.12 mktemp F
+GLIBC_2.12 mktime F
+GLIBC_2.12 mlock F
+GLIBC_2.12 mlockall F
+GLIBC_2.12 mmap F
+GLIBC_2.12 mmap64 F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 moncontrol F
+GLIBC_2.12 monstartup F
+GLIBC_2.12 mount F
+GLIBC_2.12 mprobe F
+GLIBC_2.12 mprotect F
+GLIBC_2.12 mrand48 F
+GLIBC_2.12 mrand48_r F
+GLIBC_2.12 mremap F
+GLIBC_2.12 msgctl F
+GLIBC_2.12 msgget F
+GLIBC_2.12 msgrcv F
+GLIBC_2.12 msgsnd F
+GLIBC_2.12 msync F
+GLIBC_2.12 mtrace F
+GLIBC_2.12 munlock F
+GLIBC_2.12 munlockall F
+GLIBC_2.12 munmap F
+GLIBC_2.12 muntrace F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 netname2host F
+GLIBC_2.12 netname2user F
+GLIBC_2.12 newlocale F
+GLIBC_2.12 nfsservctl F
+GLIBC_2.12 nftw F
+GLIBC_2.12 nftw64 F
+GLIBC_2.12 ngettext F
+GLIBC_2.12 nice F
+GLIBC_2.12 nl_langinfo F
+GLIBC_2.12 nl_langinfo_l F
+GLIBC_2.12 nrand48 F
+GLIBC_2.12 nrand48_r F
+GLIBC_2.12 ntohl F
+GLIBC_2.12 ntohs F
+GLIBC_2.12 ntp_adjtime F
+GLIBC_2.12 ntp_gettime F
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 obstack_alloc_failed_handler D 0x4
+GLIBC_2.12 obstack_exit_failure D 0x4
+GLIBC_2.12 obstack_free F
+GLIBC_2.12 obstack_printf F
+GLIBC_2.12 obstack_vprintf F
+GLIBC_2.12 on_exit F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 open_memstream F
+GLIBC_2.12 open_wmemstream F
+GLIBC_2.12 openat F
+GLIBC_2.12 openat64 F
+GLIBC_2.12 opendir F
+GLIBC_2.12 openlog F
+GLIBC_2.12 optarg D 0x4
+GLIBC_2.12 opterr D 0x4
+GLIBC_2.12 optind D 0x4
+GLIBC_2.12 optopt D 0x4
+GLIBC_2.12 parse_printf_format F
+GLIBC_2.12 passwd2des F
+GLIBC_2.12 pathconf F
+GLIBC_2.12 pause F
+GLIBC_2.12 pclose F
+GLIBC_2.12 perror F
+GLIBC_2.12 personality F
+GLIBC_2.12 pipe F
+GLIBC_2.12 pipe2 F
+GLIBC_2.12 pivot_root F
+GLIBC_2.12 pmap_getmaps F
+GLIBC_2.12 pmap_getport F
+GLIBC_2.12 pmap_rmtcall F
+GLIBC_2.12 pmap_set F
+GLIBC_2.12 pmap_unset F
+GLIBC_2.12 poll F
+GLIBC_2.12 popen F
+GLIBC_2.12 posix_fadvise F
+GLIBC_2.12 posix_fadvise64 F
+GLIBC_2.12 posix_fallocate F
+GLIBC_2.12 posix_fallocate64 F
+GLIBC_2.12 posix_madvise F
+GLIBC_2.12 posix_memalign F
+GLIBC_2.12 posix_openpt F
+GLIBC_2.12 posix_spawn F
+GLIBC_2.12 posix_spawn_file_actions_addclose F
+GLIBC_2.12 posix_spawn_file_actions_adddup2 F
+GLIBC_2.12 posix_spawn_file_actions_addopen F
+GLIBC_2.12 posix_spawn_file_actions_destroy F
+GLIBC_2.12 posix_spawn_file_actions_init F
+GLIBC_2.12 posix_spawnattr_destroy F
+GLIBC_2.12 posix_spawnattr_getflags F
+GLIBC_2.12 posix_spawnattr_getpgroup F
+GLIBC_2.12 posix_spawnattr_getschedparam F
+GLIBC_2.12 posix_spawnattr_getschedpolicy F
+GLIBC_2.12 posix_spawnattr_getsigdefault F
+GLIBC_2.12 posix_spawnattr_getsigmask F
+GLIBC_2.12 posix_spawnattr_init F
+GLIBC_2.12 posix_spawnattr_setflags F
+GLIBC_2.12 posix_spawnattr_setpgroup F
+GLIBC_2.12 posix_spawnattr_setschedparam F
+GLIBC_2.12 posix_spawnattr_setschedpolicy F
+GLIBC_2.12 posix_spawnattr_setsigdefault F
+GLIBC_2.12 posix_spawnattr_setsigmask F
+GLIBC_2.12 posix_spawnp F
+GLIBC_2.12 ppoll F
+GLIBC_2.12 prctl F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 preadv F
+GLIBC_2.12 preadv64 F
+GLIBC_2.12 printf F
+GLIBC_2.12 printf_size F
+GLIBC_2.12 printf_size_info F
+GLIBC_2.12 profil F
+GLIBC_2.12 program_invocation_name D 0x4
+GLIBC_2.12 program_invocation_short_name D 0x4
+GLIBC_2.12 pselect F
+GLIBC_2.12 psiginfo F
+GLIBC_2.12 psignal F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 ptrace F
+GLIBC_2.12 ptsname F
+GLIBC_2.12 ptsname_r F
+GLIBC_2.12 putc F
+GLIBC_2.12 putc_unlocked F
+GLIBC_2.12 putchar F
+GLIBC_2.12 putchar_unlocked F
+GLIBC_2.12 putenv F
+GLIBC_2.12 putgrent F
+GLIBC_2.12 putmsg F
+GLIBC_2.12 putpmsg F
+GLIBC_2.12 putpwent F
+GLIBC_2.12 puts F
+GLIBC_2.12 putsgent F
+GLIBC_2.12 putspent F
+GLIBC_2.12 pututline F
+GLIBC_2.12 pututxline F
+GLIBC_2.12 putw F
+GLIBC_2.12 putwc F
+GLIBC_2.12 putwc_unlocked F
+GLIBC_2.12 putwchar F
+GLIBC_2.12 putwchar_unlocked F
+GLIBC_2.12 pvalloc F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 pwritev F
+GLIBC_2.12 pwritev64 F
+GLIBC_2.12 qecvt F
+GLIBC_2.12 qecvt_r F
+GLIBC_2.12 qfcvt F
+GLIBC_2.12 qfcvt_r F
+GLIBC_2.12 qgcvt F
+GLIBC_2.12 qsort F
+GLIBC_2.12 qsort_r F
+GLIBC_2.12 query_module F
+GLIBC_2.12 quick_exit F
+GLIBC_2.12 quotactl F
+GLIBC_2.12 raise F
+GLIBC_2.12 rand F
+GLIBC_2.12 rand_r F
+GLIBC_2.12 random F
+GLIBC_2.12 random_r F
+GLIBC_2.12 rawmemchr F
+GLIBC_2.12 rcmd F
+GLIBC_2.12 rcmd_af F
+GLIBC_2.12 re_comp F
+GLIBC_2.12 re_compile_fastmap F
+GLIBC_2.12 re_compile_pattern F
+GLIBC_2.12 re_exec F
+GLIBC_2.12 re_match F
+GLIBC_2.12 re_match_2 F
+GLIBC_2.12 re_search F
+GLIBC_2.12 re_search_2 F
+GLIBC_2.12 re_set_registers F
+GLIBC_2.12 re_set_syntax F
+GLIBC_2.12 re_syntax_options D 0x4
+GLIBC_2.12 read F
+GLIBC_2.12 readahead F
+GLIBC_2.12 readdir F
+GLIBC_2.12 readdir64 F
+GLIBC_2.12 readdir64_r F
+GLIBC_2.12 readdir_r F
+GLIBC_2.12 readlink F
+GLIBC_2.12 readlinkat F
+GLIBC_2.12 readv F
+GLIBC_2.12 realloc F
+GLIBC_2.12 realpath F
+GLIBC_2.12 reboot F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 regcomp F
+GLIBC_2.12 regerror F
+GLIBC_2.12 regexec F
+GLIBC_2.12 regfree F
+GLIBC_2.12 register_printf_function F
+GLIBC_2.12 register_printf_modifier F
+GLIBC_2.12 register_printf_specifier F
+GLIBC_2.12 register_printf_type F
+GLIBC_2.12 registerrpc F
+GLIBC_2.12 remap_file_pages F
+GLIBC_2.12 remove F
+GLIBC_2.12 removexattr F
+GLIBC_2.12 remque F
+GLIBC_2.12 rename F
+GLIBC_2.12 renameat F
+GLIBC_2.12 revoke F
+GLIBC_2.12 rewind F
+GLIBC_2.12 rewinddir F
+GLIBC_2.12 rexec F
+GLIBC_2.12 rexec_af F
+GLIBC_2.12 rexecoptions D 0x4
+GLIBC_2.12 rindex F
+GLIBC_2.12 rmdir F
+GLIBC_2.12 rpc_createerr D 0x10
+GLIBC_2.12 rpmatch F
+GLIBC_2.12 rresvport F
+GLIBC_2.12 rresvport_af F
+GLIBC_2.12 rtime F
+GLIBC_2.12 ruserok F
+GLIBC_2.12 ruserok_af F
+GLIBC_2.12 ruserpass F
+GLIBC_2.12 sbrk F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 scandir F
+GLIBC_2.12 scandir64 F
+GLIBC_2.12 scanf F
+GLIBC_2.12 sched_get_priority_max F
+GLIBC_2.12 sched_get_priority_min F
+GLIBC_2.12 sched_getaffinity F
+GLIBC_2.12 sched_getcpu F
+GLIBC_2.12 sched_getparam F
+GLIBC_2.12 sched_getscheduler F
+GLIBC_2.12 sched_rr_get_interval F
+GLIBC_2.12 sched_setaffinity F
+GLIBC_2.12 sched_setparam F
+GLIBC_2.12 sched_setscheduler F
+GLIBC_2.12 sched_yield F
+GLIBC_2.12 seed48 F
+GLIBC_2.12 seed48_r F
+GLIBC_2.12 seekdir F
+GLIBC_2.12 select F
+GLIBC_2.12 semctl F
+GLIBC_2.12 semget F
+GLIBC_2.12 semop F
+GLIBC_2.12 semtimedop F
+GLIBC_2.12 send F
+GLIBC_2.12 sendfile F
+GLIBC_2.12 sendfile64 F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 set_dataplane F
+GLIBC_2.12 setaliasent F
+GLIBC_2.12 setbuf F
+GLIBC_2.12 setbuffer F
+GLIBC_2.12 setcontext F
+GLIBC_2.12 setdomainname F
+GLIBC_2.12 setegid F
+GLIBC_2.12 setenv F
+GLIBC_2.12 seteuid F
+GLIBC_2.12 setfsent F
+GLIBC_2.12 setfsgid F
+GLIBC_2.12 setfsuid F
+GLIBC_2.12 setgid F
+GLIBC_2.12 setgrent F
+GLIBC_2.12 setgroups F
+GLIBC_2.12 sethostent F
+GLIBC_2.12 sethostid F
+GLIBC_2.12 sethostname F
+GLIBC_2.12 setipv4sourcefilter F
+GLIBC_2.12 setitimer F
+GLIBC_2.12 setjmp F
+GLIBC_2.12 setlinebuf F
+GLIBC_2.12 setlocale F
+GLIBC_2.12 setlogin F
+GLIBC_2.12 setlogmask F
+GLIBC_2.12 setmntent F
+GLIBC_2.12 setnetent F
+GLIBC_2.12 setnetgrent F
+GLIBC_2.12 setpgid F
+GLIBC_2.12 setpgrp F
+GLIBC_2.12 setpriority F
+GLIBC_2.12 setprotoent F
+GLIBC_2.12 setpwent F
+GLIBC_2.12 setregid F
+GLIBC_2.12 setresgid F
+GLIBC_2.12 setresuid F
+GLIBC_2.12 setreuid F
+GLIBC_2.12 setrlimit F
+GLIBC_2.12 setrlimit64 F
+GLIBC_2.12 setrpcent F
+GLIBC_2.12 setservent F
+GLIBC_2.12 setsgent F
+GLIBC_2.12 setsid F
+GLIBC_2.12 setsockopt F
+GLIBC_2.12 setsourcefilter F
+GLIBC_2.12 setspent F
+GLIBC_2.12 setstate F
+GLIBC_2.12 setstate_r F
+GLIBC_2.12 settimeofday F
+GLIBC_2.12 setttyent F
+GLIBC_2.12 setuid F
+GLIBC_2.12 setusershell F
+GLIBC_2.12 setutent F
+GLIBC_2.12 setutxent F
+GLIBC_2.12 setvbuf F
+GLIBC_2.12 setxattr F
+GLIBC_2.12 sgetsgent F
+GLIBC_2.12 sgetsgent_r F
+GLIBC_2.12 sgetspent F
+GLIBC_2.12 sgetspent_r F
+GLIBC_2.12 shmat F
+GLIBC_2.12 shmctl F
+GLIBC_2.12 shmdt F
+GLIBC_2.12 shmget F
+GLIBC_2.12 shutdown F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 sigaddset F
+GLIBC_2.12 sigaltstack F
+GLIBC_2.12 sigandset F
+GLIBC_2.12 sigblock F
+GLIBC_2.12 sigdelset F
+GLIBC_2.12 sigemptyset F
+GLIBC_2.12 sigfillset F
+GLIBC_2.12 siggetmask F
+GLIBC_2.12 sighold F
+GLIBC_2.12 sigignore F
+GLIBC_2.12 siginterrupt F
+GLIBC_2.12 sigisemptyset F
+GLIBC_2.12 sigismember F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 signal F
+GLIBC_2.12 signalfd F
+GLIBC_2.12 sigorset F
+GLIBC_2.12 sigpause F
+GLIBC_2.12 sigpending F
+GLIBC_2.12 sigprocmask F
+GLIBC_2.12 sigqueue F
+GLIBC_2.12 sigrelse F
+GLIBC_2.12 sigreturn F
+GLIBC_2.12 sigset F
+GLIBC_2.12 sigsetmask F
+GLIBC_2.12 sigstack F
+GLIBC_2.12 sigsuspend F
+GLIBC_2.12 sigtimedwait F
+GLIBC_2.12 sigvec F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 sigwaitinfo F
+GLIBC_2.12 sleep F
+GLIBC_2.12 snprintf F
+GLIBC_2.12 sockatmark F
+GLIBC_2.12 socket F
+GLIBC_2.12 socketpair F
+GLIBC_2.12 splice F
+GLIBC_2.12 sprintf F
+GLIBC_2.12 sprofil F
+GLIBC_2.12 srand F
+GLIBC_2.12 srand48 F
+GLIBC_2.12 srand48_r F
+GLIBC_2.12 srandom F
+GLIBC_2.12 srandom_r F
+GLIBC_2.12 sscanf F
+GLIBC_2.12 ssignal F
+GLIBC_2.12 sstk F
+GLIBC_2.12 statfs F
+GLIBC_2.12 statfs64 F
+GLIBC_2.12 statvfs F
+GLIBC_2.12 statvfs64 F
+GLIBC_2.12 stderr D 0x4
+GLIBC_2.12 stdin D 0x4
+GLIBC_2.12 stdout D 0x4
+GLIBC_2.12 step F
+GLIBC_2.12 stime F
+GLIBC_2.12 stpcpy F
+GLIBC_2.12 stpncpy F
+GLIBC_2.12 strcasecmp F
+GLIBC_2.12 strcasecmp_l F
+GLIBC_2.12 strcasestr F
+GLIBC_2.12 strcat F
+GLIBC_2.12 strchr F
+GLIBC_2.12 strchrnul F
+GLIBC_2.12 strcmp F
+GLIBC_2.12 strcoll F
+GLIBC_2.12 strcoll_l F
+GLIBC_2.12 strcpy F
+GLIBC_2.12 strcspn F
+GLIBC_2.12 strdup F
+GLIBC_2.12 strerror F
+GLIBC_2.12 strerror_l F
+GLIBC_2.12 strerror_r F
+GLIBC_2.12 strfmon F
+GLIBC_2.12 strfmon_l F
+GLIBC_2.12 strfry F
+GLIBC_2.12 strftime F
+GLIBC_2.12 strftime_l F
+GLIBC_2.12 strlen F
+GLIBC_2.12 strncasecmp F
+GLIBC_2.12 strncasecmp_l F
+GLIBC_2.12 strncat F
+GLIBC_2.12 strncmp F
+GLIBC_2.12 strncpy F
+GLIBC_2.12 strndup F
+GLIBC_2.12 strnlen F
+GLIBC_2.12 strpbrk F
+GLIBC_2.12 strptime F
+GLIBC_2.12 strptime_l F
+GLIBC_2.12 strrchr F
+GLIBC_2.12 strsep F
+GLIBC_2.12 strsignal F
+GLIBC_2.12 strspn F
+GLIBC_2.12 strstr F
+GLIBC_2.12 strtod F
+GLIBC_2.12 strtod_l F
+GLIBC_2.12 strtof F
+GLIBC_2.12 strtof_l F
+GLIBC_2.12 strtoimax F
+GLIBC_2.12 strtok F
+GLIBC_2.12 strtok_r F
+GLIBC_2.12 strtol F
+GLIBC_2.12 strtol_l F
+GLIBC_2.12 strtold F
+GLIBC_2.12 strtold_l F
+GLIBC_2.12 strtoll F
+GLIBC_2.12 strtoll_l F
+GLIBC_2.12 strtoq F
+GLIBC_2.12 strtoul F
+GLIBC_2.12 strtoul_l F
+GLIBC_2.12 strtoull F
+GLIBC_2.12 strtoull_l F
+GLIBC_2.12 strtoumax F
+GLIBC_2.12 strtouq F
+GLIBC_2.12 strverscmp F
+GLIBC_2.12 strxfrm F
+GLIBC_2.12 strxfrm_l F
+GLIBC_2.12 stty F
+GLIBC_2.12 svc_exit F
+GLIBC_2.12 svc_fdset D 0x80
+GLIBC_2.12 svc_getreq F
+GLIBC_2.12 svc_getreq_common F
+GLIBC_2.12 svc_getreq_poll F
+GLIBC_2.12 svc_getreqset F
+GLIBC_2.12 svc_max_pollfd D 0x4
+GLIBC_2.12 svc_pollfd D 0x4
+GLIBC_2.12 svc_register F
+GLIBC_2.12 svc_run F
+GLIBC_2.12 svc_sendreply F
+GLIBC_2.12 svc_unregister F
+GLIBC_2.12 svcauthdes_stats D 0xc
+GLIBC_2.12 svcerr_auth F
+GLIBC_2.12 svcerr_decode F
+GLIBC_2.12 svcerr_noproc F
+GLIBC_2.12 svcerr_noprog F
+GLIBC_2.12 svcerr_progvers F
+GLIBC_2.12 svcerr_systemerr F
+GLIBC_2.12 svcerr_weakauth F
+GLIBC_2.12 svcfd_create F
+GLIBC_2.12 svcraw_create F
+GLIBC_2.12 svctcp_create F
+GLIBC_2.12 svcudp_bufcreate F
+GLIBC_2.12 svcudp_create F
+GLIBC_2.12 svcudp_enablecache F
+GLIBC_2.12 svcunix_create F
+GLIBC_2.12 svcunixfd_create F
+GLIBC_2.12 swab F
+GLIBC_2.12 swapcontext F
+GLIBC_2.12 swapoff F
+GLIBC_2.12 swapon F
+GLIBC_2.12 swprintf F
+GLIBC_2.12 swscanf F
+GLIBC_2.12 symlink F
+GLIBC_2.12 symlinkat F
+GLIBC_2.12 sync F
+GLIBC_2.12 sync_file_range F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.12 sys_sigabbrev D 0x104
+GLIBC_2.12 sys_siglist D 0x104
+GLIBC_2.12 syscall F
+GLIBC_2.12 sysconf F
+GLIBC_2.12 sysctl F
+GLIBC_2.12 sysinfo F
+GLIBC_2.12 syslog F
+GLIBC_2.12 system F
+GLIBC_2.12 sysv_signal F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 tcflow F
+GLIBC_2.12 tcflush F
+GLIBC_2.12 tcgetattr F
+GLIBC_2.12 tcgetpgrp F
+GLIBC_2.12 tcgetsid F
+GLIBC_2.12 tcsendbreak F
+GLIBC_2.12 tcsetattr F
+GLIBC_2.12 tcsetpgrp F
+GLIBC_2.12 tdelete F
+GLIBC_2.12 tdestroy F
+GLIBC_2.12 tee F
+GLIBC_2.12 telldir F
+GLIBC_2.12 tempnam F
+GLIBC_2.12 textdomain F
+GLIBC_2.12 tfind F
+GLIBC_2.12 time F
+GLIBC_2.12 timegm F
+GLIBC_2.12 timelocal F
+GLIBC_2.12 timerfd_create F
+GLIBC_2.12 timerfd_gettime F
+GLIBC_2.12 timerfd_settime F
+GLIBC_2.12 times F
+GLIBC_2.12 timezone D 0x4
+GLIBC_2.12 tmpfile F
+GLIBC_2.12 tmpfile64 F
+GLIBC_2.12 tmpnam F
+GLIBC_2.12 tmpnam_r F
+GLIBC_2.12 toascii F
+GLIBC_2.12 tolower F
+GLIBC_2.12 tolower_l F
+GLIBC_2.12 toupper F
+GLIBC_2.12 toupper_l F
+GLIBC_2.12 towctrans F
+GLIBC_2.12 towctrans_l F
+GLIBC_2.12 towlower F
+GLIBC_2.12 towlower_l F
+GLIBC_2.12 towupper F
+GLIBC_2.12 towupper_l F
+GLIBC_2.12 tr_break F
+GLIBC_2.12 truncate F
+GLIBC_2.12 truncate64 F
+GLIBC_2.12 tsearch F
+GLIBC_2.12 ttyname F
+GLIBC_2.12 ttyname_r F
+GLIBC_2.12 ttyslot F
+GLIBC_2.12 twalk F
+GLIBC_2.12 tzname D 0x8
+GLIBC_2.12 tzset F
+GLIBC_2.12 ualarm F
+GLIBC_2.12 ulckpwdf F
+GLIBC_2.12 ulimit F
+GLIBC_2.12 umask F
+GLIBC_2.12 umount F
+GLIBC_2.12 umount2 F
+GLIBC_2.12 uname F
+GLIBC_2.12 ungetc F
+GLIBC_2.12 ungetwc F
+GLIBC_2.12 unlink F
+GLIBC_2.12 unlinkat F
+GLIBC_2.12 unlockpt F
+GLIBC_2.12 unsetenv F
+GLIBC_2.12 unshare F
+GLIBC_2.12 updwtmp F
+GLIBC_2.12 updwtmpx F
+GLIBC_2.12 uselib F
+GLIBC_2.12 uselocale F
+GLIBC_2.12 user2netname F
+GLIBC_2.12 usleep F
+GLIBC_2.12 ustat F
+GLIBC_2.12 utime F
+GLIBC_2.12 utimensat F
+GLIBC_2.12 utimes F
+GLIBC_2.12 utmpname F
+GLIBC_2.12 utmpxname F
+GLIBC_2.12 valloc F
+GLIBC_2.12 vasprintf F
+GLIBC_2.12 vdprintf F
+GLIBC_2.12 verr F
+GLIBC_2.12 verrx F
+GLIBC_2.12 versionsort F
+GLIBC_2.12 versionsort64 F
+GLIBC_2.12 vfork F
+GLIBC_2.12 vfprintf F
+GLIBC_2.12 vfscanf F
+GLIBC_2.12 vfwprintf F
+GLIBC_2.12 vfwscanf F
+GLIBC_2.12 vhangup F
+GLIBC_2.12 vlimit F
+GLIBC_2.12 vmsplice F
+GLIBC_2.12 vprintf F
+GLIBC_2.12 vscanf F
+GLIBC_2.12 vsnprintf F
+GLIBC_2.12 vsprintf F
+GLIBC_2.12 vsscanf F
+GLIBC_2.12 vswprintf F
+GLIBC_2.12 vswscanf F
+GLIBC_2.12 vsyslog F
+GLIBC_2.12 vtimes F
+GLIBC_2.12 vwarn F
+GLIBC_2.12 vwarnx F
+GLIBC_2.12 vwprintf F
+GLIBC_2.12 vwscanf F
+GLIBC_2.12 wait F
+GLIBC_2.12 wait3 F
+GLIBC_2.12 wait4 F
+GLIBC_2.12 waitid F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 warn F
+GLIBC_2.12 warnx F
+GLIBC_2.12 wcpcpy F
+GLIBC_2.12 wcpncpy F
+GLIBC_2.12 wcrtomb F
+GLIBC_2.12 wcscasecmp F
+GLIBC_2.12 wcscasecmp_l F
+GLIBC_2.12 wcscat F
+GLIBC_2.12 wcschr F
+GLIBC_2.12 wcschrnul F
+GLIBC_2.12 wcscmp F
+GLIBC_2.12 wcscoll F
+GLIBC_2.12 wcscoll_l F
+GLIBC_2.12 wcscpy F
+GLIBC_2.12 wcscspn F
+GLIBC_2.12 wcsdup F
+GLIBC_2.12 wcsftime F
+GLIBC_2.12 wcsftime_l F
+GLIBC_2.12 wcslen F
+GLIBC_2.12 wcsncasecmp F
+GLIBC_2.12 wcsncasecmp_l F
+GLIBC_2.12 wcsncat F
+GLIBC_2.12 wcsncmp F
+GLIBC_2.12 wcsncpy F
+GLIBC_2.12 wcsnlen F
+GLIBC_2.12 wcsnrtombs F
+GLIBC_2.12 wcspbrk F
+GLIBC_2.12 wcsrchr F
+GLIBC_2.12 wcsrtombs F
+GLIBC_2.12 wcsspn F
+GLIBC_2.12 wcsstr F
+GLIBC_2.12 wcstod F
+GLIBC_2.12 wcstod_l F
+GLIBC_2.12 wcstof F
+GLIBC_2.12 wcstof_l F
+GLIBC_2.12 wcstoimax F
+GLIBC_2.12 wcstok F
+GLIBC_2.12 wcstol F
+GLIBC_2.12 wcstol_l F
+GLIBC_2.12 wcstold F
+GLIBC_2.12 wcstold_l F
+GLIBC_2.12 wcstoll F
+GLIBC_2.12 wcstoll_l F
+GLIBC_2.12 wcstombs F
+GLIBC_2.12 wcstoq F
+GLIBC_2.12 wcstoul F
+GLIBC_2.12 wcstoul_l F
+GLIBC_2.12 wcstoull F
+GLIBC_2.12 wcstoull_l F
+GLIBC_2.12 wcstoumax F
+GLIBC_2.12 wcstouq F
+GLIBC_2.12 wcswcs F
+GLIBC_2.12 wcswidth F
+GLIBC_2.12 wcsxfrm F
+GLIBC_2.12 wcsxfrm_l F
+GLIBC_2.12 wctob F
+GLIBC_2.12 wctomb F
+GLIBC_2.12 wctrans F
+GLIBC_2.12 wctrans_l F
+GLIBC_2.12 wctype F
+GLIBC_2.12 wctype_l F
+GLIBC_2.12 wcwidth F
+GLIBC_2.12 wmemchr F
+GLIBC_2.12 wmemcmp F
+GLIBC_2.12 wmemcpy F
+GLIBC_2.12 wmemmove F
+GLIBC_2.12 wmempcpy F
+GLIBC_2.12 wmemset F
+GLIBC_2.12 wordexp F
+GLIBC_2.12 wordfree F
+GLIBC_2.12 wprintf F
+GLIBC_2.12 write F
+GLIBC_2.12 writev F
+GLIBC_2.12 wscanf F
+GLIBC_2.12 xdecrypt F
+GLIBC_2.12 xdr_accepted_reply F
+GLIBC_2.12 xdr_array F
+GLIBC_2.12 xdr_authdes_cred F
+GLIBC_2.12 xdr_authdes_verf F
+GLIBC_2.12 xdr_authunix_parms F
+GLIBC_2.12 xdr_bool F
+GLIBC_2.12 xdr_bytes F
+GLIBC_2.12 xdr_callhdr F
+GLIBC_2.12 xdr_callmsg F
+GLIBC_2.12 xdr_char F
+GLIBC_2.12 xdr_cryptkeyarg F
+GLIBC_2.12 xdr_cryptkeyarg2 F
+GLIBC_2.12 xdr_cryptkeyres F
+GLIBC_2.12 xdr_des_block F
+GLIBC_2.12 xdr_double F
+GLIBC_2.12 xdr_enum F
+GLIBC_2.12 xdr_float F
+GLIBC_2.12 xdr_free F
+GLIBC_2.12 xdr_getcredres F
+GLIBC_2.12 xdr_hyper F
+GLIBC_2.12 xdr_int F
+GLIBC_2.12 xdr_int16_t F
+GLIBC_2.12 xdr_int32_t F
+GLIBC_2.12 xdr_int64_t F
+GLIBC_2.12 xdr_int8_t F
+GLIBC_2.12 xdr_key_netstarg F
+GLIBC_2.12 xdr_key_netstres F
+GLIBC_2.12 xdr_keybuf F
+GLIBC_2.12 xdr_keystatus F
+GLIBC_2.12 xdr_long F
+GLIBC_2.12 xdr_longlong_t F
+GLIBC_2.12 xdr_netnamestr F
+GLIBC_2.12 xdr_netobj F
+GLIBC_2.12 xdr_opaque F
+GLIBC_2.12 xdr_opaque_auth F
+GLIBC_2.12 xdr_pmap F
+GLIBC_2.12 xdr_pmaplist F
+GLIBC_2.12 xdr_pointer F
+GLIBC_2.12 xdr_quad_t F
+GLIBC_2.12 xdr_reference F
+GLIBC_2.12 xdr_rejected_reply F
+GLIBC_2.12 xdr_replymsg F
+GLIBC_2.12 xdr_rmtcall_args F
+GLIBC_2.12 xdr_rmtcallres F
+GLIBC_2.12 xdr_short F
+GLIBC_2.12 xdr_sizeof F
+GLIBC_2.12 xdr_string F
+GLIBC_2.12 xdr_u_char F
+GLIBC_2.12 xdr_u_hyper F
+GLIBC_2.12 xdr_u_int F
+GLIBC_2.12 xdr_u_long F
+GLIBC_2.12 xdr_u_longlong_t F
+GLIBC_2.12 xdr_u_quad_t F
+GLIBC_2.12 xdr_u_short F
+GLIBC_2.12 xdr_uint16_t F
+GLIBC_2.12 xdr_uint32_t F
+GLIBC_2.12 xdr_uint64_t F
+GLIBC_2.12 xdr_uint8_t F
+GLIBC_2.12 xdr_union F
+GLIBC_2.12 xdr_unixcred F
+GLIBC_2.12 xdr_vector F
+GLIBC_2.12 xdr_void F
+GLIBC_2.12 xdr_wrapstring F
+GLIBC_2.12 xdrmem_create F
+GLIBC_2.12 xdrrec_create F
+GLIBC_2.12 xdrrec_endofrecord F
+GLIBC_2.12 xdrrec_eof F
+GLIBC_2.12 xdrrec_skiprecord F
+GLIBC_2.12 xdrstdio_create F
+GLIBC_2.12 xencrypt F
+GLIBC_2.12 xprt_register F
+GLIBC_2.12 xprt_unregister F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 clock_adjtime F
+GLIBC_2.15 fanotify_init F
+GLIBC_2.15 fanotify_mark F
+GLIBC_2.15 name_to_handle_at F
+GLIBC_2.15 open_by_handle_at F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 prlimit F
+GLIBC_2.15 prlimit64 F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.15 sendmmsg F
+GLIBC_2.15 setns F
+GLIBC_2.15 syncfs F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist
new file mode 100644
index 0000000000..d5643802b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 crypt F
+GLIBC_2.12 crypt_r F
+GLIBC_2.12 encrypt F
+GLIBC_2.12 encrypt_r F
+GLIBC_2.12 fcrypt F
+GLIBC_2.12 setkey F
+GLIBC_2.12 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist
new file mode 100644
index 0000000000..cabc30c239
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 dladdr F
+GLIBC_2.12 dladdr1 F
+GLIBC_2.12 dlclose F
+GLIBC_2.12 dlerror F
+GLIBC_2.12 dlinfo F
+GLIBC_2.12 dlmopen F
+GLIBC_2.12 dlopen F
+GLIBC_2.12 dlsym F
+GLIBC_2.12 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist
new file mode 100644
index 0000000000..0059c27fa2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist
@@ -0,0 +1,431 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _LIB_VERSION D 0x4
+GLIBC_2.12 __clog10 F
+GLIBC_2.12 __clog10f F
+GLIBC_2.12 __clog10l F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __fpclassify F
+GLIBC_2.12 __fpclassifyf F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 acos F
+GLIBC_2.12 acosf F
+GLIBC_2.12 acosh F
+GLIBC_2.12 acoshf F
+GLIBC_2.12 acoshl F
+GLIBC_2.12 acosl F
+GLIBC_2.12 asin F
+GLIBC_2.12 asinf F
+GLIBC_2.12 asinh F
+GLIBC_2.12 asinhf F
+GLIBC_2.12 asinhl F
+GLIBC_2.12 asinl F
+GLIBC_2.12 atan F
+GLIBC_2.12 atan2 F
+GLIBC_2.12 atan2f F
+GLIBC_2.12 atan2l F
+GLIBC_2.12 atanf F
+GLIBC_2.12 atanh F
+GLIBC_2.12 atanhf F
+GLIBC_2.12 atanhl F
+GLIBC_2.12 atanl F
+GLIBC_2.12 cabs F
+GLIBC_2.12 cabsf F
+GLIBC_2.12 cabsl F
+GLIBC_2.12 cacos F
+GLIBC_2.12 cacosf F
+GLIBC_2.12 cacosh F
+GLIBC_2.12 cacoshf F
+GLIBC_2.12 cacoshl F
+GLIBC_2.12 cacosl F
+GLIBC_2.12 carg F
+GLIBC_2.12 cargf F
+GLIBC_2.12 cargl F
+GLIBC_2.12 casin F
+GLIBC_2.12 casinf F
+GLIBC_2.12 casinh F
+GLIBC_2.12 casinhf F
+GLIBC_2.12 casinhl F
+GLIBC_2.12 casinl F
+GLIBC_2.12 catan F
+GLIBC_2.12 catanf F
+GLIBC_2.12 catanh F
+GLIBC_2.12 catanhf F
+GLIBC_2.12 catanhl F
+GLIBC_2.12 catanl F
+GLIBC_2.12 cbrt F
+GLIBC_2.12 cbrtf F
+GLIBC_2.12 cbrtl F
+GLIBC_2.12 ccos F
+GLIBC_2.12 ccosf F
+GLIBC_2.12 ccosh F
+GLIBC_2.12 ccoshf F
+GLIBC_2.12 ccoshl F
+GLIBC_2.12 ccosl F
+GLIBC_2.12 ceil F
+GLIBC_2.12 ceilf F
+GLIBC_2.12 ceill F
+GLIBC_2.12 cexp F
+GLIBC_2.12 cexpf F
+GLIBC_2.12 cexpl F
+GLIBC_2.12 cimag F
+GLIBC_2.12 cimagf F
+GLIBC_2.12 cimagl F
+GLIBC_2.12 clog F
+GLIBC_2.12 clog10 F
+GLIBC_2.12 clog10f F
+GLIBC_2.12 clog10l F
+GLIBC_2.12 clogf F
+GLIBC_2.12 clogl F
+GLIBC_2.12 conj F
+GLIBC_2.12 conjf F
+GLIBC_2.12 conjl F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 cos F
+GLIBC_2.12 cosf F
+GLIBC_2.12 cosh F
+GLIBC_2.12 coshf F
+GLIBC_2.12 coshl F
+GLIBC_2.12 cosl F
+GLIBC_2.12 cpow F
+GLIBC_2.12 cpowf F
+GLIBC_2.12 cpowl F
+GLIBC_2.12 cproj F
+GLIBC_2.12 cprojf F
+GLIBC_2.12 cprojl F
+GLIBC_2.12 creal F
+GLIBC_2.12 crealf F
+GLIBC_2.12 creall F
+GLIBC_2.12 csin F
+GLIBC_2.12 csinf F
+GLIBC_2.12 csinh F
+GLIBC_2.12 csinhf F
+GLIBC_2.12 csinhl F
+GLIBC_2.12 csinl F
+GLIBC_2.12 csqrt F
+GLIBC_2.12 csqrtf F
+GLIBC_2.12 csqrtl F
+GLIBC_2.12 ctan F
+GLIBC_2.12 ctanf F
+GLIBC_2.12 ctanh F
+GLIBC_2.12 ctanhf F
+GLIBC_2.12 ctanhl F
+GLIBC_2.12 ctanl F
+GLIBC_2.12 drem F
+GLIBC_2.12 dremf F
+GLIBC_2.12 dreml F
+GLIBC_2.12 erf F
+GLIBC_2.12 erfc F
+GLIBC_2.12 erfcf F
+GLIBC_2.12 erfcl F
+GLIBC_2.12 erff F
+GLIBC_2.12 erfl F
+GLIBC_2.12 exp F
+GLIBC_2.12 exp10 F
+GLIBC_2.12 exp10f F
+GLIBC_2.12 exp10l F
+GLIBC_2.12 exp2 F
+GLIBC_2.12 exp2f F
+GLIBC_2.12 exp2l F
+GLIBC_2.12 expf F
+GLIBC_2.12 expl F
+GLIBC_2.12 expm1 F
+GLIBC_2.12 expm1f F
+GLIBC_2.12 expm1l F
+GLIBC_2.12 fabs F
+GLIBC_2.12 fabsf F
+GLIBC_2.12 fabsl F
+GLIBC_2.12 fdim F
+GLIBC_2.12 fdimf F
+GLIBC_2.12 fdiml F
+GLIBC_2.12 feclearexcept F
+GLIBC_2.12 fedisableexcept F
+GLIBC_2.12 feenableexcept F
+GLIBC_2.12 fegetenv F
+GLIBC_2.12 fegetexcept F
+GLIBC_2.12 fegetexceptflag F
+GLIBC_2.12 fegetround F
+GLIBC_2.12 feholdexcept F
+GLIBC_2.12 feraiseexcept F
+GLIBC_2.12 fesetenv F
+GLIBC_2.12 fesetexceptflag F
+GLIBC_2.12 fesetround F
+GLIBC_2.12 fetestexcept F
+GLIBC_2.12 feupdateenv F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 floor F
+GLIBC_2.12 floorf F
+GLIBC_2.12 floorl F
+GLIBC_2.12 fma F
+GLIBC_2.12 fmaf F
+GLIBC_2.12 fmal F
+GLIBC_2.12 fmax F
+GLIBC_2.12 fmaxf F
+GLIBC_2.12 fmaxl F
+GLIBC_2.12 fmin F
+GLIBC_2.12 fminf F
+GLIBC_2.12 fminl F
+GLIBC_2.12 fmod F
+GLIBC_2.12 fmodf F
+GLIBC_2.12 fmodl F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 gamma F
+GLIBC_2.12 gammaf F
+GLIBC_2.12 gammal F
+GLIBC_2.12 hypot F
+GLIBC_2.12 hypotf F
+GLIBC_2.12 hypotl F
+GLIBC_2.12 ilogb F
+GLIBC_2.12 ilogbf F
+GLIBC_2.12 ilogbl F
+GLIBC_2.12 j0 F
+GLIBC_2.12 j0f F
+GLIBC_2.12 j0l F
+GLIBC_2.12 j1 F
+GLIBC_2.12 j1f F
+GLIBC_2.12 j1l F
+GLIBC_2.12 jn F
+GLIBC_2.12 jnf F
+GLIBC_2.12 jnl F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 lgamma F
+GLIBC_2.12 lgamma_r F
+GLIBC_2.12 lgammaf F
+GLIBC_2.12 lgammaf_r F
+GLIBC_2.12 lgammal F
+GLIBC_2.12 lgammal_r F
+GLIBC_2.12 llrint F
+GLIBC_2.12 llrintf F
+GLIBC_2.12 llrintl F
+GLIBC_2.12 llround F
+GLIBC_2.12 llroundf F
+GLIBC_2.12 llroundl F
+GLIBC_2.12 log F
+GLIBC_2.12 log10 F
+GLIBC_2.12 log10f F
+GLIBC_2.12 log10l F
+GLIBC_2.12 log1p F
+GLIBC_2.12 log1pf F
+GLIBC_2.12 log1pl F
+GLIBC_2.12 log2 F
+GLIBC_2.12 log2f F
+GLIBC_2.12 log2l F
+GLIBC_2.12 logb F
+GLIBC_2.12 logbf F
+GLIBC_2.12 logbl F
+GLIBC_2.12 logf F
+GLIBC_2.12 logl F
+GLIBC_2.12 lrint F
+GLIBC_2.12 lrintf F
+GLIBC_2.12 lrintl F
+GLIBC_2.12 lround F
+GLIBC_2.12 lroundf F
+GLIBC_2.12 lroundl F
+GLIBC_2.12 matherr F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 nan F
+GLIBC_2.12 nanf F
+GLIBC_2.12 nanl F
+GLIBC_2.12 nearbyint F
+GLIBC_2.12 nearbyintf F
+GLIBC_2.12 nearbyintl F
+GLIBC_2.12 nextafter F
+GLIBC_2.12 nextafterf F
+GLIBC_2.12 nextafterl F
+GLIBC_2.12 nexttoward F
+GLIBC_2.12 nexttowardf F
+GLIBC_2.12 nexttowardl F
+GLIBC_2.12 pow F
+GLIBC_2.12 pow10 F
+GLIBC_2.12 pow10f F
+GLIBC_2.12 pow10l F
+GLIBC_2.12 powf F
+GLIBC_2.12 powl F
+GLIBC_2.12 remainder F
+GLIBC_2.12 remainderf F
+GLIBC_2.12 remainderl F
+GLIBC_2.12 remquo F
+GLIBC_2.12 remquof F
+GLIBC_2.12 remquol F
+GLIBC_2.12 rint F
+GLIBC_2.12 rintf F
+GLIBC_2.12 rintl F
+GLIBC_2.12 round F
+GLIBC_2.12 roundf F
+GLIBC_2.12 roundl F
+GLIBC_2.12 scalb F
+GLIBC_2.12 scalbf F
+GLIBC_2.12 scalbl F
+GLIBC_2.12 scalbln F
+GLIBC_2.12 scalblnf F
+GLIBC_2.12 scalblnl F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 signgam D 0x4
+GLIBC_2.12 significand F
+GLIBC_2.12 significandf F
+GLIBC_2.12 significandl F
+GLIBC_2.12 sin F
+GLIBC_2.12 sincos F
+GLIBC_2.12 sincosf F
+GLIBC_2.12 sincosl F
+GLIBC_2.12 sinf F
+GLIBC_2.12 sinh F
+GLIBC_2.12 sinhf F
+GLIBC_2.12 sinhl F
+GLIBC_2.12 sinl F
+GLIBC_2.12 sqrt F
+GLIBC_2.12 sqrtf F
+GLIBC_2.12 sqrtl F
+GLIBC_2.12 tan F
+GLIBC_2.12 tanf F
+GLIBC_2.12 tanh F
+GLIBC_2.12 tanhf F
+GLIBC_2.12 tanhl F
+GLIBC_2.12 tanl F
+GLIBC_2.12 tgamma F
+GLIBC_2.12 tgammaf F
+GLIBC_2.12 tgammal F
+GLIBC_2.12 trunc F
+GLIBC_2.12 truncf F
+GLIBC_2.12 truncl F
+GLIBC_2.12 y0 F
+GLIBC_2.12 y0f F
+GLIBC_2.12 y0l F
+GLIBC_2.12 y1 F
+GLIBC_2.12 y1f F
+GLIBC_2.12 y1l F
+GLIBC_2.12 yn F
+GLIBC_2.12 ynf F
+GLIBC_2.12 ynl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist
new file mode 100644
index 0000000000..0277e5c1a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __free_fdresult F
+GLIBC_2.12 __nis_default_access F
+GLIBC_2.12 __nis_default_group F
+GLIBC_2.12 __nis_default_owner F
+GLIBC_2.12 __nis_default_ttl F
+GLIBC_2.12 __nis_finddirectory F
+GLIBC_2.12 __nis_hash F
+GLIBC_2.12 __nisbind_connect F
+GLIBC_2.12 __nisbind_create F
+GLIBC_2.12 __nisbind_destroy F
+GLIBC_2.12 __nisbind_next F
+GLIBC_2.12 __yp_check F
+GLIBC_2.12 nis_add F
+GLIBC_2.12 nis_add_entry F
+GLIBC_2.12 nis_addmember F
+GLIBC_2.12 nis_checkpoint F
+GLIBC_2.12 nis_clone_directory F
+GLIBC_2.12 nis_clone_object F
+GLIBC_2.12 nis_clone_result F
+GLIBC_2.12 nis_creategroup F
+GLIBC_2.12 nis_destroy_object F
+GLIBC_2.12 nis_destroygroup F
+GLIBC_2.12 nis_dir_cmp F
+GLIBC_2.12 nis_domain_of F
+GLIBC_2.12 nis_domain_of_r F
+GLIBC_2.12 nis_first_entry F
+GLIBC_2.12 nis_free_directory F
+GLIBC_2.12 nis_free_object F
+GLIBC_2.12 nis_free_request F
+GLIBC_2.12 nis_freenames F
+GLIBC_2.12 nis_freeresult F
+GLIBC_2.12 nis_freeservlist F
+GLIBC_2.12 nis_freetags F
+GLIBC_2.12 nis_getnames F
+GLIBC_2.12 nis_getservlist F
+GLIBC_2.12 nis_ismember F
+GLIBC_2.12 nis_leaf_of F
+GLIBC_2.12 nis_leaf_of_r F
+GLIBC_2.12 nis_lerror F
+GLIBC_2.12 nis_list F
+GLIBC_2.12 nis_local_directory F
+GLIBC_2.12 nis_local_group F
+GLIBC_2.12 nis_local_host F
+GLIBC_2.12 nis_local_principal F
+GLIBC_2.12 nis_lookup F
+GLIBC_2.12 nis_mkdir F
+GLIBC_2.12 nis_modify F
+GLIBC_2.12 nis_modify_entry F
+GLIBC_2.12 nis_name_of F
+GLIBC_2.12 nis_name_of_r F
+GLIBC_2.12 nis_next_entry F
+GLIBC_2.12 nis_perror F
+GLIBC_2.12 nis_ping F
+GLIBC_2.12 nis_print_directory F
+GLIBC_2.12 nis_print_entry F
+GLIBC_2.12 nis_print_group F
+GLIBC_2.12 nis_print_group_entry F
+GLIBC_2.12 nis_print_link F
+GLIBC_2.12 nis_print_object F
+GLIBC_2.12 nis_print_result F
+GLIBC_2.12 nis_print_rights F
+GLIBC_2.12 nis_print_table F
+GLIBC_2.12 nis_read_obj F
+GLIBC_2.12 nis_remove F
+GLIBC_2.12 nis_remove_entry F
+GLIBC_2.12 nis_removemember F
+GLIBC_2.12 nis_rmdir F
+GLIBC_2.12 nis_servstate F
+GLIBC_2.12 nis_sperrno F
+GLIBC_2.12 nis_sperror F
+GLIBC_2.12 nis_sperror_r F
+GLIBC_2.12 nis_stats F
+GLIBC_2.12 nis_verifygroup F
+GLIBC_2.12 nis_write_obj F
+GLIBC_2.12 readColdStartFile F
+GLIBC_2.12 writeColdStartFile F
+GLIBC_2.12 xdr_cback_data F
+GLIBC_2.12 xdr_domainname F
+GLIBC_2.12 xdr_keydat F
+GLIBC_2.12 xdr_mapname F
+GLIBC_2.12 xdr_obj_p F
+GLIBC_2.12 xdr_peername F
+GLIBC_2.12 xdr_valdat F
+GLIBC_2.12 xdr_yp_buf F
+GLIBC_2.12 xdr_ypall F
+GLIBC_2.12 xdr_ypbind_binding F
+GLIBC_2.12 xdr_ypbind_resp F
+GLIBC_2.12 xdr_ypbind_resptype F
+GLIBC_2.12 xdr_ypbind_setdom F
+GLIBC_2.12 xdr_ypdelete_args F
+GLIBC_2.12 xdr_ypmap_parms F
+GLIBC_2.12 xdr_ypmaplist F
+GLIBC_2.12 xdr_yppush_status F
+GLIBC_2.12 xdr_yppushresp_xfr F
+GLIBC_2.12 xdr_ypreq_key F
+GLIBC_2.12 xdr_ypreq_nokey F
+GLIBC_2.12 xdr_ypreq_xfr F
+GLIBC_2.12 xdr_ypresp_all F
+GLIBC_2.12 xdr_ypresp_key_val F
+GLIBC_2.12 xdr_ypresp_maplist F
+GLIBC_2.12 xdr_ypresp_master F
+GLIBC_2.12 xdr_ypresp_order F
+GLIBC_2.12 xdr_ypresp_val F
+GLIBC_2.12 xdr_ypresp_xfr F
+GLIBC_2.12 xdr_ypstat F
+GLIBC_2.12 xdr_ypupdate_args F
+GLIBC_2.12 xdr_ypxfrstat F
+GLIBC_2.12 yp_all F
+GLIBC_2.12 yp_bind F
+GLIBC_2.12 yp_first F
+GLIBC_2.12 yp_get_default_domain F
+GLIBC_2.12 yp_maplist F
+GLIBC_2.12 yp_master F
+GLIBC_2.12 yp_match F
+GLIBC_2.12 yp_next F
+GLIBC_2.12 yp_order F
+GLIBC_2.12 yp_unbind F
+GLIBC_2.12 yp_update F
+GLIBC_2.12 ypbinderr_string F
+GLIBC_2.12 yperr_string F
+GLIBC_2.12 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist
new file mode 100644
index 0000000000..d16158f938
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 __close F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pthread_cleanup_routine F
+GLIBC_2.12 __pthread_getspecific F
+GLIBC_2.12 __pthread_key_create F
+GLIBC_2.12 __pthread_mutex_destroy F
+GLIBC_2.12 __pthread_mutex_init F
+GLIBC_2.12 __pthread_mutex_lock F
+GLIBC_2.12 __pthread_mutex_trylock F
+GLIBC_2.12 __pthread_mutex_unlock F
+GLIBC_2.12 __pthread_mutexattr_destroy F
+GLIBC_2.12 __pthread_mutexattr_init F
+GLIBC_2.12 __pthread_mutexattr_settype F
+GLIBC_2.12 __pthread_once F
+GLIBC_2.12 __pthread_register_cancel F
+GLIBC_2.12 __pthread_register_cancel_defer F
+GLIBC_2.12 __pthread_rwlock_destroy F
+GLIBC_2.12 __pthread_rwlock_init F
+GLIBC_2.12 __pthread_rwlock_rdlock F
+GLIBC_2.12 __pthread_rwlock_tryrdlock F
+GLIBC_2.12 __pthread_rwlock_trywrlock F
+GLIBC_2.12 __pthread_rwlock_unlock F
+GLIBC_2.12 __pthread_rwlock_wrlock F
+GLIBC_2.12 __pthread_setspecific F
+GLIBC_2.12 __pthread_unregister_cancel F
+GLIBC_2.12 __pthread_unregister_cancel_restore F
+GLIBC_2.12 __pthread_unwind_next F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __read F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __send F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __write F
+GLIBC_2.12 _pthread_cleanup_pop F
+GLIBC_2.12 _pthread_cleanup_pop_restore F
+GLIBC_2.12 _pthread_cleanup_push F
+GLIBC_2.12 _pthread_cleanup_push_defer F
+GLIBC_2.12 accept F
+GLIBC_2.12 close F
+GLIBC_2.12 connect F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fork F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 msync F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 pause F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getaffinity_np F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getguardsize F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_getstack F
+GLIBC_2.12 pthread_attr_getstackaddr F
+GLIBC_2.12 pthread_attr_getstacksize F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setaffinity_np F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setguardsize F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_attr_setstack F
+GLIBC_2.12 pthread_attr_setstackaddr F
+GLIBC_2.12 pthread_attr_setstacksize F
+GLIBC_2.12 pthread_barrier_destroy F
+GLIBC_2.12 pthread_barrier_init F
+GLIBC_2.12 pthread_barrier_wait F
+GLIBC_2.12 pthread_barrierattr_destroy F
+GLIBC_2.12 pthread_barrierattr_getpshared F
+GLIBC_2.12 pthread_barrierattr_init F
+GLIBC_2.12 pthread_barrierattr_setpshared F
+GLIBC_2.12 pthread_cancel F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_getclock F
+GLIBC_2.12 pthread_condattr_getpshared F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_condattr_setclock F
+GLIBC_2.12 pthread_condattr_setpshared F
+GLIBC_2.12 pthread_create F
+GLIBC_2.12 pthread_detach F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getaffinity_np F
+GLIBC_2.12 pthread_getattr_np F
+GLIBC_2.12 pthread_getconcurrency F
+GLIBC_2.12 pthread_getcpuclockid F
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_getspecific F
+GLIBC_2.12 pthread_join F
+GLIBC_2.12 pthread_key_create F
+GLIBC_2.12 pthread_key_delete F
+GLIBC_2.12 pthread_kill F
+GLIBC_2.12 pthread_kill_other_threads_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutex_consistent_np F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_getprioceiling F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_setprioceiling F
+GLIBC_2.12 pthread_mutex_timedlock F
+GLIBC_2.12 pthread_mutex_trylock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_mutexattr_destroy F
+GLIBC_2.12 pthread_mutexattr_getkind_np F
+GLIBC_2.12 pthread_mutexattr_getprioceiling F
+GLIBC_2.12 pthread_mutexattr_getprotocol F
+GLIBC_2.12 pthread_mutexattr_getpshared F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_getrobust_np F
+GLIBC_2.12 pthread_mutexattr_gettype F
+GLIBC_2.12 pthread_mutexattr_init F
+GLIBC_2.12 pthread_mutexattr_setkind_np F
+GLIBC_2.12 pthread_mutexattr_setprioceiling F
+GLIBC_2.12 pthread_mutexattr_setprotocol F
+GLIBC_2.12 pthread_mutexattr_setpshared F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust_np F
+GLIBC_2.12 pthread_mutexattr_settype F
+GLIBC_2.12 pthread_once F
+GLIBC_2.12 pthread_rwlock_destroy F
+GLIBC_2.12 pthread_rwlock_init F
+GLIBC_2.12 pthread_rwlock_rdlock F
+GLIBC_2.12 pthread_rwlock_timedrdlock F
+GLIBC_2.12 pthread_rwlock_timedwrlock F
+GLIBC_2.12 pthread_rwlock_tryrdlock F
+GLIBC_2.12 pthread_rwlock_trywrlock F
+GLIBC_2.12 pthread_rwlock_unlock F
+GLIBC_2.12 pthread_rwlock_wrlock F
+GLIBC_2.12 pthread_rwlockattr_destroy F
+GLIBC_2.12 pthread_rwlockattr_getkind_np F
+GLIBC_2.12 pthread_rwlockattr_getpshared F
+GLIBC_2.12 pthread_rwlockattr_init F
+GLIBC_2.12 pthread_rwlockattr_setkind_np F
+GLIBC_2.12 pthread_rwlockattr_setpshared F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setaffinity_np F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setconcurrency F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 pthread_setschedprio F
+GLIBC_2.12 pthread_setspecific F
+GLIBC_2.12 pthread_sigmask F
+GLIBC_2.12 pthread_sigqueue F
+GLIBC_2.12 pthread_spin_destroy F
+GLIBC_2.12 pthread_spin_init F
+GLIBC_2.12 pthread_spin_lock F
+GLIBC_2.12 pthread_spin_trylock F
+GLIBC_2.12 pthread_spin_unlock F
+GLIBC_2.12 pthread_testcancel F
+GLIBC_2.12 pthread_timedjoin_np F
+GLIBC_2.12 pthread_tryjoin_np F
+GLIBC_2.12 pthread_yield F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 raise F
+GLIBC_2.12 read F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 sem_close F
+GLIBC_2.12 sem_destroy F
+GLIBC_2.12 sem_getvalue F
+GLIBC_2.12 sem_init F
+GLIBC_2.12 sem_open F
+GLIBC_2.12 sem_post F
+GLIBC_2.12 sem_timedwait F
+GLIBC_2.12 sem_trywait F
+GLIBC_2.12 sem_unlink F
+GLIBC_2.12 sem_wait F
+GLIBC_2.12 send F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 system F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 vfork F
+GLIBC_2.12 wait F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist
new file mode 100644
index 0000000000..aa2fefa6e4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __b64_ntop F
+GLIBC_2.12 __b64_pton F
+GLIBC_2.12 __dn_comp F
+GLIBC_2.12 __dn_count_labels F
+GLIBC_2.12 __dn_expand F
+GLIBC_2.12 __dn_skipname F
+GLIBC_2.12 __fp_nquery F
+GLIBC_2.12 __fp_query F
+GLIBC_2.12 __fp_resstat F
+GLIBC_2.12 __hostalias F
+GLIBC_2.12 __loc_aton F
+GLIBC_2.12 __loc_ntoa F
+GLIBC_2.12 __p_cdname F
+GLIBC_2.12 __p_cdnname F
+GLIBC_2.12 __p_class F
+GLIBC_2.12 __p_class_syms D 0x54
+GLIBC_2.12 __p_fqname F
+GLIBC_2.12 __p_fqnname F
+GLIBC_2.12 __p_option F
+GLIBC_2.12 __p_query F
+GLIBC_2.12 __p_rcode F
+GLIBC_2.12 __p_secstodate F
+GLIBC_2.12 __p_time F
+GLIBC_2.12 __p_type F
+GLIBC_2.12 __p_type_syms D 0x228
+GLIBC_2.12 __putlong F
+GLIBC_2.12 __putshort F
+GLIBC_2.12 __res_close F
+GLIBC_2.12 __res_dnok F
+GLIBC_2.12 __res_hnok F
+GLIBC_2.12 __res_hostalias F
+GLIBC_2.12 __res_isourserver F
+GLIBC_2.12 __res_mailok F
+GLIBC_2.12 __res_mkquery F
+GLIBC_2.12 __res_nameinquery F
+GLIBC_2.12 __res_nmkquery F
+GLIBC_2.12 __res_nquery F
+GLIBC_2.12 __res_nquerydomain F
+GLIBC_2.12 __res_nsearch F
+GLIBC_2.12 __res_nsend F
+GLIBC_2.12 __res_ownok F
+GLIBC_2.12 __res_queriesmatch F
+GLIBC_2.12 __res_query F
+GLIBC_2.12 __res_querydomain F
+GLIBC_2.12 __res_search F
+GLIBC_2.12 __res_send F
+GLIBC_2.12 __sym_ntop F
+GLIBC_2.12 __sym_ntos F
+GLIBC_2.12 __sym_ston F
+GLIBC_2.12 _gethtbyaddr F
+GLIBC_2.12 _gethtbyname F
+GLIBC_2.12 _gethtbyname2 F
+GLIBC_2.12 _gethtent F
+GLIBC_2.12 _getlong F
+GLIBC_2.12 _getshort F
+GLIBC_2.12 _res_opcodes D 0x40
+GLIBC_2.12 _sethtent F
+GLIBC_2.12 inet_net_ntop F
+GLIBC_2.12 inet_net_pton F
+GLIBC_2.12 inet_neta F
+GLIBC_2.12 ns_datetosecs F
+GLIBC_2.12 ns_format_ttl F
+GLIBC_2.12 ns_get16 F
+GLIBC_2.12 ns_get32 F
+GLIBC_2.12 ns_initparse F
+GLIBC_2.12 ns_makecanon F
+GLIBC_2.12 ns_msg_getflag F
+GLIBC_2.12 ns_name_compress F
+GLIBC_2.12 ns_name_ntol F
+GLIBC_2.12 ns_name_ntop F
+GLIBC_2.12 ns_name_pack F
+GLIBC_2.12 ns_name_pton F
+GLIBC_2.12 ns_name_rollback F
+GLIBC_2.12 ns_name_skip F
+GLIBC_2.12 ns_name_uncompress F
+GLIBC_2.12 ns_name_unpack F
+GLIBC_2.12 ns_parse_ttl F
+GLIBC_2.12 ns_parserr F
+GLIBC_2.12 ns_put16 F
+GLIBC_2.12 ns_put32 F
+GLIBC_2.12 ns_samedomain F
+GLIBC_2.12 ns_samename F
+GLIBC_2.12 ns_skiprr F
+GLIBC_2.12 ns_sprintrr F
+GLIBC_2.12 ns_sprintrrf F
+GLIBC_2.12 ns_subdomain F
+GLIBC_2.12 res_gethostbyaddr F
+GLIBC_2.12 res_gethostbyname F
+GLIBC_2.12 res_gethostbyname2 F
+GLIBC_2.12 res_send_setqhook F
+GLIBC_2.12 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist
new file mode 100644
index 0000000000..14f5c8245d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/librt.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __mq_open_2 F
+GLIBC_2.12 aio_cancel F
+GLIBC_2.12 aio_cancel64 F
+GLIBC_2.12 aio_error F
+GLIBC_2.12 aio_error64 F
+GLIBC_2.12 aio_fsync F
+GLIBC_2.12 aio_fsync64 F
+GLIBC_2.12 aio_init F
+GLIBC_2.12 aio_read F
+GLIBC_2.12 aio_read64 F
+GLIBC_2.12 aio_return F
+GLIBC_2.12 aio_return64 F
+GLIBC_2.12 aio_suspend F
+GLIBC_2.12 aio_suspend64 F
+GLIBC_2.12 aio_write F
+GLIBC_2.12 aio_write64 F
+GLIBC_2.12 clock_getcpuclockid F
+GLIBC_2.12 clock_getres F
+GLIBC_2.12 clock_gettime F
+GLIBC_2.12 clock_nanosleep F
+GLIBC_2.12 clock_settime F
+GLIBC_2.12 lio_listio F
+GLIBC_2.12 lio_listio64 F
+GLIBC_2.12 mq_close F
+GLIBC_2.12 mq_getattr F
+GLIBC_2.12 mq_notify F
+GLIBC_2.12 mq_open F
+GLIBC_2.12 mq_receive F
+GLIBC_2.12 mq_send F
+GLIBC_2.12 mq_setattr F
+GLIBC_2.12 mq_timedreceive F
+GLIBC_2.12 mq_timedsend F
+GLIBC_2.12 mq_unlink F
+GLIBC_2.12 shm_open F
+GLIBC_2.12 shm_unlink F
+GLIBC_2.12 timer_create F
+GLIBC_2.12 timer_delete F
+GLIBC_2.12 timer_getoverrun F
+GLIBC_2.12 timer_gettime F
+GLIBC_2.12 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist
new file mode 100644
index 0000000000..4aade0b7e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 td_init F
+GLIBC_2.12 td_log F
+GLIBC_2.12 td_symbol_list F
+GLIBC_2.12 td_ta_clear_event F
+GLIBC_2.12 td_ta_delete F
+GLIBC_2.12 td_ta_enable_stats F
+GLIBC_2.12 td_ta_event_addr F
+GLIBC_2.12 td_ta_event_getmsg F
+GLIBC_2.12 td_ta_get_nthreads F
+GLIBC_2.12 td_ta_get_ph F
+GLIBC_2.12 td_ta_get_stats F
+GLIBC_2.12 td_ta_map_id2thr F
+GLIBC_2.12 td_ta_map_lwp2thr F
+GLIBC_2.12 td_ta_new F
+GLIBC_2.12 td_ta_reset_stats F
+GLIBC_2.12 td_ta_set_event F
+GLIBC_2.12 td_ta_setconcurrency F
+GLIBC_2.12 td_ta_thr_iter F
+GLIBC_2.12 td_ta_tsd_iter F
+GLIBC_2.12 td_thr_clear_event F
+GLIBC_2.12 td_thr_dbresume F
+GLIBC_2.12 td_thr_dbsuspend F
+GLIBC_2.12 td_thr_event_enable F
+GLIBC_2.12 td_thr_event_getmsg F
+GLIBC_2.12 td_thr_get_info F
+GLIBC_2.12 td_thr_getfpregs F
+GLIBC_2.12 td_thr_getgregs F
+GLIBC_2.12 td_thr_getxregs F
+GLIBC_2.12 td_thr_getxregsize F
+GLIBC_2.12 td_thr_set_event F
+GLIBC_2.12 td_thr_setfpregs F
+GLIBC_2.12 td_thr_setgregs F
+GLIBC_2.12 td_thr_setprio F
+GLIBC_2.12 td_thr_setsigpending F
+GLIBC_2.12 td_thr_setxregs F
+GLIBC_2.12 td_thr_sigsetmask F
+GLIBC_2.12 td_thr_tls_get_addr F
+GLIBC_2.12 td_thr_tlsbase F
+GLIBC_2.12 td_thr_tsd F
+GLIBC_2.12 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist
new file mode 100644
index 0000000000..e4d432643c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 forkpty F
+GLIBC_2.12 login F
+GLIBC_2.12 login_tty F
+GLIBC_2.12 logout F
+GLIBC_2.12 logwtmp F
+GLIBC_2.12 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies
new file mode 100644
index 0000000000..e4e0800c0a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Implies
@@ -0,0 +1,4 @@
+unix/sysv/linux/tile/tilegx
+unix/sysv/linux/tile
+unix/sysv/linux/generic
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile
new file mode 100644
index 0000000000..c8991d31e4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Makefile
@@ -0,0 +1 @@
+default-abi := 64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data
new file mode 100644
index 0000000000..ac925ccb36
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:l
+blkcnt_t:l
+blksize_t:i
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:m
+fd_mask:l
+fsblkcnt64_t:m
+fsblkcnt_t:m
+fsfilcnt64_t:m
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:m
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:l
+int8_t:a
+intptr_t:l
+key_t:i
+loff_t:l
+mode_t:j
+nlink_t:j
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist
new file mode 100644
index 0000000000..ab74e7ecd1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/ld.abilist
@@ -0,0 +1,9 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __libc_stack_end D 0x8
+GLIBC_2.12 __tls_get_addr F
+GLIBC_2.12 _dl_mcount F
+GLIBC_2.12 _r_debug D 0x28
+GLIBC_2.12 calloc F
+GLIBC_2.12 free F
+GLIBC_2.12 malloc F
+GLIBC_2.12 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..0d64827515
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist
new file mode 100644
index 0000000000..a3b1cc08bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 gai_cancel F
+GLIBC_2.12 gai_error F
+GLIBC_2.12 gai_suspend F
+GLIBC_2.12 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
new file mode 100644
index 0000000000..1088923e59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
@@ -0,0 +1,2112 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _Exit F
+GLIBC_2.12 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.12 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.12 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.12 _IO_adjust_column F
+GLIBC_2.12 _IO_adjust_wcolumn F
+GLIBC_2.12 _IO_default_doallocate F
+GLIBC_2.12 _IO_default_finish F
+GLIBC_2.12 _IO_default_pbackfail F
+GLIBC_2.12 _IO_default_uflow F
+GLIBC_2.12 _IO_default_xsgetn F
+GLIBC_2.12 _IO_default_xsputn F
+GLIBC_2.12 _IO_do_write F
+GLIBC_2.12 _IO_doallocbuf F
+GLIBC_2.12 _IO_fclose F
+GLIBC_2.12 _IO_fdopen F
+GLIBC_2.12 _IO_feof F
+GLIBC_2.12 _IO_ferror F
+GLIBC_2.12 _IO_fflush F
+GLIBC_2.12 _IO_fgetpos F
+GLIBC_2.12 _IO_fgetpos64 F
+GLIBC_2.12 _IO_fgets F
+GLIBC_2.12 _IO_file_attach F
+GLIBC_2.12 _IO_file_close F
+GLIBC_2.12 _IO_file_close_it F
+GLIBC_2.12 _IO_file_doallocate F
+GLIBC_2.12 _IO_file_finish F
+GLIBC_2.12 _IO_file_fopen F
+GLIBC_2.12 _IO_file_init F
+GLIBC_2.12 _IO_file_jumps D 0xa8
+GLIBC_2.12 _IO_file_open F
+GLIBC_2.12 _IO_file_overflow F
+GLIBC_2.12 _IO_file_read F
+GLIBC_2.12 _IO_file_seek F
+GLIBC_2.12 _IO_file_seekoff F
+GLIBC_2.12 _IO_file_setbuf F
+GLIBC_2.12 _IO_file_stat F
+GLIBC_2.12 _IO_file_sync F
+GLIBC_2.12 _IO_file_underflow F
+GLIBC_2.12 _IO_file_write F
+GLIBC_2.12 _IO_file_xsputn F
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_flush_all F
+GLIBC_2.12 _IO_flush_all_linebuffered F
+GLIBC_2.12 _IO_fopen F
+GLIBC_2.12 _IO_fprintf F
+GLIBC_2.12 _IO_fputs F
+GLIBC_2.12 _IO_fread F
+GLIBC_2.12 _IO_free_backup_area F
+GLIBC_2.12 _IO_free_wbackup_area F
+GLIBC_2.12 _IO_fsetpos F
+GLIBC_2.12 _IO_fsetpos64 F
+GLIBC_2.12 _IO_ftell F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 _IO_fwrite F
+GLIBC_2.12 _IO_getc F
+GLIBC_2.12 _IO_getline F
+GLIBC_2.12 _IO_getline_info F
+GLIBC_2.12 _IO_gets F
+GLIBC_2.12 _IO_init F
+GLIBC_2.12 _IO_init_marker F
+GLIBC_2.12 _IO_init_wmarker F
+GLIBC_2.12 _IO_iter_begin F
+GLIBC_2.12 _IO_iter_end F
+GLIBC_2.12 _IO_iter_file F
+GLIBC_2.12 _IO_iter_next F
+GLIBC_2.12 _IO_least_wmarker F
+GLIBC_2.12 _IO_link_in F
+GLIBC_2.12 _IO_list_all D 0x8
+GLIBC_2.12 _IO_list_lock F
+GLIBC_2.12 _IO_list_resetlock F
+GLIBC_2.12 _IO_list_unlock F
+GLIBC_2.12 _IO_marker_delta F
+GLIBC_2.12 _IO_marker_difference F
+GLIBC_2.12 _IO_padn F
+GLIBC_2.12 _IO_peekc_locked F
+GLIBC_2.12 _IO_popen F
+GLIBC_2.12 _IO_printf F
+GLIBC_2.12 _IO_proc_close F
+GLIBC_2.12 _IO_proc_open F
+GLIBC_2.12 _IO_putc F
+GLIBC_2.12 _IO_puts F
+GLIBC_2.12 _IO_remove_marker F
+GLIBC_2.12 _IO_seekmark F
+GLIBC_2.12 _IO_seekoff F
+GLIBC_2.12 _IO_seekpos F
+GLIBC_2.12 _IO_seekwmark F
+GLIBC_2.12 _IO_setb F
+GLIBC_2.12 _IO_setbuffer F
+GLIBC_2.12 _IO_setvbuf F
+GLIBC_2.12 _IO_sgetn F
+GLIBC_2.12 _IO_sprintf F
+GLIBC_2.12 _IO_sputbackc F
+GLIBC_2.12 _IO_sputbackwc F
+GLIBC_2.12 _IO_sscanf F
+GLIBC_2.12 _IO_str_init_readonly F
+GLIBC_2.12 _IO_str_init_static F
+GLIBC_2.12 _IO_str_overflow F
+GLIBC_2.12 _IO_str_pbackfail F
+GLIBC_2.12 _IO_str_seekoff F
+GLIBC_2.12 _IO_str_underflow F
+GLIBC_2.12 _IO_sungetc F
+GLIBC_2.12 _IO_sungetwc F
+GLIBC_2.12 _IO_switch_to_get_mode F
+GLIBC_2.12 _IO_switch_to_main_wget_area F
+GLIBC_2.12 _IO_switch_to_wbackup_area F
+GLIBC_2.12 _IO_switch_to_wget_mode F
+GLIBC_2.12 _IO_un_link F
+GLIBC_2.12 _IO_ungetc F
+GLIBC_2.12 _IO_unsave_markers F
+GLIBC_2.12 _IO_unsave_wmarkers F
+GLIBC_2.12 _IO_vfprintf F
+GLIBC_2.12 _IO_vfscanf F
+GLIBC_2.12 _IO_vsprintf F
+GLIBC_2.12 _IO_wdefault_doallocate F
+GLIBC_2.12 _IO_wdefault_finish F
+GLIBC_2.12 _IO_wdefault_pbackfail F
+GLIBC_2.12 _IO_wdefault_uflow F
+GLIBC_2.12 _IO_wdefault_xsgetn F
+GLIBC_2.12 _IO_wdefault_xsputn F
+GLIBC_2.12 _IO_wdo_write F
+GLIBC_2.12 _IO_wdoallocbuf F
+GLIBC_2.12 _IO_wfile_jumps D 0xa8
+GLIBC_2.12 _IO_wfile_overflow F
+GLIBC_2.12 _IO_wfile_seekoff F
+GLIBC_2.12 _IO_wfile_sync F
+GLIBC_2.12 _IO_wfile_underflow F
+GLIBC_2.12 _IO_wfile_xsputn F
+GLIBC_2.12 _IO_wmarker_delta F
+GLIBC_2.12 _IO_wsetb F
+GLIBC_2.12 ___brk_addr D 0x8
+GLIBC_2.12 __adjtimex F
+GLIBC_2.12 __after_morecore_hook D 0x8
+GLIBC_2.12 __argz_count F
+GLIBC_2.12 __argz_next F
+GLIBC_2.12 __argz_stringify F
+GLIBC_2.12 __asprintf F
+GLIBC_2.12 __asprintf_chk F
+GLIBC_2.12 __assert F
+GLIBC_2.12 __assert_fail F
+GLIBC_2.12 __assert_perror_fail F
+GLIBC_2.12 __backtrace F
+GLIBC_2.12 __backtrace_symbols F
+GLIBC_2.12 __backtrace_symbols_fd F
+GLIBC_2.12 __bsd_getpgrp F
+GLIBC_2.12 __bzero F
+GLIBC_2.12 __check_rhosts_file D 0x4
+GLIBC_2.12 __chk_fail F
+GLIBC_2.12 __clone F
+GLIBC_2.12 __close F
+GLIBC_2.12 __cmsg_nxthdr F
+GLIBC_2.12 __confstr_chk F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __ctype_b_loc F
+GLIBC_2.12 __ctype_get_mb_cur_max F
+GLIBC_2.12 __ctype_tolower_loc F
+GLIBC_2.12 __ctype_toupper_loc F
+GLIBC_2.12 __curbrk D 0x8
+GLIBC_2.12 __cxa_at_quick_exit F
+GLIBC_2.12 __cxa_atexit F
+GLIBC_2.12 __cxa_finalize F
+GLIBC_2.12 __cyg_profile_func_enter F
+GLIBC_2.12 __cyg_profile_func_exit F
+GLIBC_2.12 __daylight D 0x4
+GLIBC_2.12 __dcgettext F
+GLIBC_2.12 __default_morecore F
+GLIBC_2.12 __dgettext F
+GLIBC_2.12 __dprintf_chk F
+GLIBC_2.12 __dup2 F
+GLIBC_2.12 __duplocale F
+GLIBC_2.12 __endmntent F
+GLIBC_2.12 __environ D 0x8
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fbufsize F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __ffs F
+GLIBC_2.12 __fgets_chk F
+GLIBC_2.12 __fgets_unlocked_chk F
+GLIBC_2.12 __fgetws_chk F
+GLIBC_2.12 __fgetws_unlocked_chk F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __flbf F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __fpending F
+GLIBC_2.12 __fprintf_chk F
+GLIBC_2.12 __fpu_control D 0x4
+GLIBC_2.12 __fpurge F
+GLIBC_2.12 __fread_chk F
+GLIBC_2.12 __fread_unlocked_chk F
+GLIBC_2.12 __freadable F
+GLIBC_2.12 __freading F
+GLIBC_2.12 __free_hook D 0x8
+GLIBC_2.12 __freelocale F
+GLIBC_2.12 __fsetlocking F
+GLIBC_2.12 __fwprintf_chk F
+GLIBC_2.12 __fwritable F
+GLIBC_2.12 __fwriting F
+GLIBC_2.12 __fxstat F
+GLIBC_2.12 __fxstat64 F
+GLIBC_2.12 __fxstatat F
+GLIBC_2.12 __fxstatat64 F
+GLIBC_2.12 __getcwd_chk F
+GLIBC_2.12 __getdelim F
+GLIBC_2.12 __getdomainname_chk F
+GLIBC_2.12 __getgroups_chk F
+GLIBC_2.12 __gethostname_chk F
+GLIBC_2.12 __getlogin_r_chk F
+GLIBC_2.12 __getmntent_r F
+GLIBC_2.12 __getpagesize F
+GLIBC_2.12 __getpgid F
+GLIBC_2.12 __getpid F
+GLIBC_2.12 __gets_chk F
+GLIBC_2.12 __gettimeofday F
+GLIBC_2.12 __getwd_chk F
+GLIBC_2.12 __gmtime_r F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __isalnum_l F
+GLIBC_2.12 __isalpha_l F
+GLIBC_2.12 __isascii_l F
+GLIBC_2.12 __isblank_l F
+GLIBC_2.12 __iscntrl_l F
+GLIBC_2.12 __isctype F
+GLIBC_2.12 __isdigit_l F
+GLIBC_2.12 __isgraph_l F
+GLIBC_2.12 __isinf F
+GLIBC_2.12 __isinff F
+GLIBC_2.12 __islower_l F
+GLIBC_2.12 __isnan F
+GLIBC_2.12 __isnanf F
+GLIBC_2.12 __isoc99_fscanf F
+GLIBC_2.12 __isoc99_fwscanf F
+GLIBC_2.12 __isoc99_scanf F
+GLIBC_2.12 __isoc99_sscanf F
+GLIBC_2.12 __isoc99_swscanf F
+GLIBC_2.12 __isoc99_vfscanf F
+GLIBC_2.12 __isoc99_vfwscanf F
+GLIBC_2.12 __isoc99_vscanf F
+GLIBC_2.12 __isoc99_vsscanf F
+GLIBC_2.12 __isoc99_vswscanf F
+GLIBC_2.12 __isoc99_vwscanf F
+GLIBC_2.12 __isoc99_wscanf F
+GLIBC_2.12 __isprint_l F
+GLIBC_2.12 __ispunct_l F
+GLIBC_2.12 __isspace_l F
+GLIBC_2.12 __isupper_l F
+GLIBC_2.12 __iswalnum_l F
+GLIBC_2.12 __iswalpha_l F
+GLIBC_2.12 __iswblank_l F
+GLIBC_2.12 __iswcntrl_l F
+GLIBC_2.12 __iswctype F
+GLIBC_2.12 __iswctype_l F
+GLIBC_2.12 __iswdigit_l F
+GLIBC_2.12 __iswgraph_l F
+GLIBC_2.12 __iswlower_l F
+GLIBC_2.12 __iswprint_l F
+GLIBC_2.12 __iswpunct_l F
+GLIBC_2.12 __iswspace_l F
+GLIBC_2.12 __iswupper_l F
+GLIBC_2.12 __iswxdigit_l F
+GLIBC_2.12 __isxdigit_l F
+GLIBC_2.12 __ivaliduser F
+GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.12 __key_gendes_LOCAL D 0x8
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_calloc F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __libc_free F
+GLIBC_2.12 __libc_freeres F
+GLIBC_2.12 __libc_init_first F
+GLIBC_2.12 __libc_mallinfo F
+GLIBC_2.12 __libc_malloc F
+GLIBC_2.12 __libc_mallopt F
+GLIBC_2.12 __libc_memalign F
+GLIBC_2.12 __libc_pvalloc F
+GLIBC_2.12 __libc_realloc F
+GLIBC_2.12 __libc_sa_len F
+GLIBC_2.12 __libc_start_main F
+GLIBC_2.12 __libc_valloc F
+GLIBC_2.12 __longjmp_chk F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __lxstat F
+GLIBC_2.12 __lxstat64 F
+GLIBC_2.12 __malloc_hook D 0x8
+GLIBC_2.12 __malloc_initialize_hook D 0x8
+GLIBC_2.12 __mbrlen F
+GLIBC_2.12 __mbrtowc F
+GLIBC_2.12 __mbsnrtowcs_chk F
+GLIBC_2.12 __mbsrtowcs_chk F
+GLIBC_2.12 __mbstowcs_chk F
+GLIBC_2.12 __mcount F
+GLIBC_2.12 __memalign_hook D 0x8
+GLIBC_2.12 __memcpy_chk F
+GLIBC_2.12 __memmove_chk F
+GLIBC_2.12 __mempcpy F
+GLIBC_2.12 __mempcpy_chk F
+GLIBC_2.12 __mempcpy_small F
+GLIBC_2.12 __memset_chk F
+GLIBC_2.12 __monstartup F
+GLIBC_2.12 __morecore D 0x8
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __newlocale F
+GLIBC_2.12 __nl_langinfo_l F
+GLIBC_2.12 __nss_configure_lookup F
+GLIBC_2.12 __nss_database_lookup F
+GLIBC_2.12 __nss_group_lookup F
+GLIBC_2.12 __nss_hostname_digits_dots F
+GLIBC_2.12 __nss_hosts_lookup F
+GLIBC_2.12 __nss_next F
+GLIBC_2.12 __nss_passwd_lookup F
+GLIBC_2.12 __obstack_printf_chk F
+GLIBC_2.12 __obstack_vprintf_chk F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __open64_2 F
+GLIBC_2.12 __open_2 F
+GLIBC_2.12 __openat64_2 F
+GLIBC_2.12 __openat_2 F
+GLIBC_2.12 __overflow F
+GLIBC_2.12 __pipe F
+GLIBC_2.12 __poll F
+GLIBC_2.12 __posix_getopt F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pread64_chk F
+GLIBC_2.12 __pread_chk F
+GLIBC_2.12 __printf_chk F
+GLIBC_2.12 __printf_fp F
+GLIBC_2.12 __profile_frequency F
+GLIBC_2.12 __progname D 0x8
+GLIBC_2.12 __progname_full D 0x8
+GLIBC_2.12 __ptsname_r_chk F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __rawmemchr F
+GLIBC_2.12 __rcmd_errstr D 0x8
+GLIBC_2.12 __read F
+GLIBC_2.12 __read_chk F
+GLIBC_2.12 __readlink_chk F
+GLIBC_2.12 __readlinkat_chk F
+GLIBC_2.12 __realloc_hook D 0x8
+GLIBC_2.12 __realpath_chk F
+GLIBC_2.12 __recv_chk F
+GLIBC_2.12 __recvfrom_chk F
+GLIBC_2.12 __register_atfork F
+GLIBC_2.12 __res_init F
+GLIBC_2.12 __res_nclose F
+GLIBC_2.12 __res_ninit F
+GLIBC_2.12 __res_randomid F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __rpc_thread_createerr F
+GLIBC_2.12 __rpc_thread_svc_fdset F
+GLIBC_2.12 __rpc_thread_svc_max_pollfd F
+GLIBC_2.12 __rpc_thread_svc_pollfd F
+GLIBC_2.12 __sbrk F
+GLIBC_2.12 __sched_cpualloc F
+GLIBC_2.12 __sched_cpucount F
+GLIBC_2.12 __sched_cpufree F
+GLIBC_2.12 __sched_get_priority_max F
+GLIBC_2.12 __sched_get_priority_min F
+GLIBC_2.12 __sched_getparam F
+GLIBC_2.12 __sched_getscheduler F
+GLIBC_2.12 __sched_setscheduler F
+GLIBC_2.12 __sched_yield F
+GLIBC_2.12 __secure_getenv F
+GLIBC_2.12 __select F
+GLIBC_2.12 __setmntent F
+GLIBC_2.12 __setpgid F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __sigaddset F
+GLIBC_2.12 __sigdelset F
+GLIBC_2.12 __sigismember F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 __sigpause F
+GLIBC_2.12 __sigsetjmp F
+GLIBC_2.12 __sigsuspend F
+GLIBC_2.12 __snprintf_chk F
+GLIBC_2.12 __sprintf_chk F
+GLIBC_2.12 __stack_chk_fail F
+GLIBC_2.12 __statfs F
+GLIBC_2.12 __stpcpy F
+GLIBC_2.12 __stpcpy_chk F
+GLIBC_2.12 __stpcpy_small F
+GLIBC_2.12 __stpncpy F
+GLIBC_2.12 __stpncpy_chk F
+GLIBC_2.12 __strcasecmp F
+GLIBC_2.12 __strcasecmp_l F
+GLIBC_2.12 __strcasestr F
+GLIBC_2.12 __strcat_chk F
+GLIBC_2.12 __strcoll_l F
+GLIBC_2.12 __strcpy_chk F
+GLIBC_2.12 __strcpy_small F
+GLIBC_2.12 __strcspn_c1 F
+GLIBC_2.12 __strcspn_c2 F
+GLIBC_2.12 __strcspn_c3 F
+GLIBC_2.12 __strdup F
+GLIBC_2.12 __strerror_r F
+GLIBC_2.12 __strfmon_l F
+GLIBC_2.12 __strftime_l F
+GLIBC_2.12 __strncasecmp_l F
+GLIBC_2.12 __strncat_chk F
+GLIBC_2.12 __strncpy_chk F
+GLIBC_2.12 __strndup F
+GLIBC_2.12 __strpbrk_c2 F
+GLIBC_2.12 __strpbrk_c3 F
+GLIBC_2.12 __strsep_1c F
+GLIBC_2.12 __strsep_2c F
+GLIBC_2.12 __strsep_3c F
+GLIBC_2.12 __strsep_g F
+GLIBC_2.12 __strspn_c1 F
+GLIBC_2.12 __strspn_c2 F
+GLIBC_2.12 __strspn_c3 F
+GLIBC_2.12 __strtod_internal F
+GLIBC_2.12 __strtod_l F
+GLIBC_2.12 __strtof_internal F
+GLIBC_2.12 __strtof_l F
+GLIBC_2.12 __strtok_r F
+GLIBC_2.12 __strtok_r_1c F
+GLIBC_2.12 __strtol_internal F
+GLIBC_2.12 __strtol_l F
+GLIBC_2.12 __strtold_internal F
+GLIBC_2.12 __strtold_l F
+GLIBC_2.12 __strtoll_internal F
+GLIBC_2.12 __strtoll_l F
+GLIBC_2.12 __strtoul_internal F
+GLIBC_2.12 __strtoul_l F
+GLIBC_2.12 __strtoull_internal F
+GLIBC_2.12 __strtoull_l F
+GLIBC_2.12 __strverscmp F
+GLIBC_2.12 __strxfrm_l F
+GLIBC_2.12 __swprintf_chk F
+GLIBC_2.12 __sysconf F
+GLIBC_2.12 __syslog_chk F
+GLIBC_2.12 __sysv_signal F
+GLIBC_2.12 __timezone D 0x8
+GLIBC_2.12 __toascii_l F
+GLIBC_2.12 __tolower_l F
+GLIBC_2.12 __toupper_l F
+GLIBC_2.12 __towctrans F
+GLIBC_2.12 __towctrans_l F
+GLIBC_2.12 __towlower_l F
+GLIBC_2.12 __towupper_l F
+GLIBC_2.12 __ttyname_r_chk F
+GLIBC_2.12 __tzname D 0x10
+GLIBC_2.12 __uflow F
+GLIBC_2.12 __underflow F
+GLIBC_2.12 __uselocale F
+GLIBC_2.12 __vasprintf_chk F
+GLIBC_2.12 __vdprintf_chk F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __vfprintf_chk F
+GLIBC_2.12 __vfscanf F
+GLIBC_2.12 __vfwprintf_chk F
+GLIBC_2.12 __vprintf_chk F
+GLIBC_2.12 __vsnprintf F
+GLIBC_2.12 __vsnprintf_chk F
+GLIBC_2.12 __vsprintf_chk F
+GLIBC_2.12 __vsscanf F
+GLIBC_2.12 __vswprintf_chk F
+GLIBC_2.12 __vsyslog_chk F
+GLIBC_2.12 __vwprintf_chk F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __waitpid F
+GLIBC_2.12 __wcpcpy_chk F
+GLIBC_2.12 __wcpncpy_chk F
+GLIBC_2.12 __wcrtomb_chk F
+GLIBC_2.12 __wcscasecmp_l F
+GLIBC_2.12 __wcscat_chk F
+GLIBC_2.12 __wcscoll_l F
+GLIBC_2.12 __wcscpy_chk F
+GLIBC_2.12 __wcsftime_l F
+GLIBC_2.12 __wcsncasecmp_l F
+GLIBC_2.12 __wcsncat_chk F
+GLIBC_2.12 __wcsncpy_chk F
+GLIBC_2.12 __wcsnrtombs_chk F
+GLIBC_2.12 __wcsrtombs_chk F
+GLIBC_2.12 __wcstod_internal F
+GLIBC_2.12 __wcstod_l F
+GLIBC_2.12 __wcstof_internal F
+GLIBC_2.12 __wcstof_l F
+GLIBC_2.12 __wcstol_internal F
+GLIBC_2.12 __wcstol_l F
+GLIBC_2.12 __wcstold_internal F
+GLIBC_2.12 __wcstold_l F
+GLIBC_2.12 __wcstoll_internal F
+GLIBC_2.12 __wcstoll_l F
+GLIBC_2.12 __wcstombs_chk F
+GLIBC_2.12 __wcstoul_internal F
+GLIBC_2.12 __wcstoul_l F
+GLIBC_2.12 __wcstoull_internal F
+GLIBC_2.12 __wcstoull_l F
+GLIBC_2.12 __wcsxfrm_l F
+GLIBC_2.12 __wctomb_chk F
+GLIBC_2.12 __wctrans_l F
+GLIBC_2.12 __wctype_l F
+GLIBC_2.12 __wmemcpy_chk F
+GLIBC_2.12 __wmemmove_chk F
+GLIBC_2.12 __wmempcpy_chk F
+GLIBC_2.12 __wmemset_chk F
+GLIBC_2.12 __woverflow F
+GLIBC_2.12 __wprintf_chk F
+GLIBC_2.12 __write F
+GLIBC_2.12 __wuflow F
+GLIBC_2.12 __wunderflow F
+GLIBC_2.12 __xmknod F
+GLIBC_2.12 __xmknodat F
+GLIBC_2.12 __xpg_basename F
+GLIBC_2.12 __xpg_sigpause F
+GLIBC_2.12 __xpg_strerror_r F
+GLIBC_2.12 __xstat F
+GLIBC_2.12 __xstat64 F
+GLIBC_2.12 _authenticate F
+GLIBC_2.12 _dl_mcount_wrapper F
+GLIBC_2.12 _dl_mcount_wrapper_check F
+GLIBC_2.12 _environ D 0x8
+GLIBC_2.12 _exit F
+GLIBC_2.12 _flush_cache F
+GLIBC_2.12 _flushlbf F
+GLIBC_2.12 _libc_intl_domainname D 0x5
+GLIBC_2.12 _longjmp F
+GLIBC_2.12 _mcleanup F
+GLIBC_2.12 _mcount F
+GLIBC_2.12 _nl_default_dirname D 0x12
+GLIBC_2.12 _nl_domain_bindings D 0x8
+GLIBC_2.12 _nl_msg_cat_cntr D 0x4
+GLIBC_2.12 _null_auth D 0x18
+GLIBC_2.12 _obstack_allocated_p F
+GLIBC_2.12 _obstack_begin F
+GLIBC_2.12 _obstack_begin_1 F
+GLIBC_2.12 _obstack_free F
+GLIBC_2.12 _obstack_memory_used F
+GLIBC_2.12 _obstack_newchunk F
+GLIBC_2.12 _res D 0x238
+GLIBC_2.12 _res_hconf D 0x48
+GLIBC_2.12 _rpc_dtablesize F
+GLIBC_2.12 _seterr_reply F
+GLIBC_2.12 _setjmp F
+GLIBC_2.12 _sys_errlist D 0x438
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 _sys_siglist D 0x208
+GLIBC_2.12 _tolower F
+GLIBC_2.12 _toupper F
+GLIBC_2.12 a64l F
+GLIBC_2.12 abort F
+GLIBC_2.12 abs F
+GLIBC_2.12 accept F
+GLIBC_2.12 accept4 F
+GLIBC_2.12 access F
+GLIBC_2.12 acct F
+GLIBC_2.12 addmntent F
+GLIBC_2.12 addseverity F
+GLIBC_2.12 adjtime F
+GLIBC_2.12 adjtimex F
+GLIBC_2.12 advance F
+GLIBC_2.12 alarm F
+GLIBC_2.12 alphasort F
+GLIBC_2.12 alphasort64 F
+GLIBC_2.12 argp_err_exit_status D 0x4
+GLIBC_2.12 argp_error F
+GLIBC_2.12 argp_failure F
+GLIBC_2.12 argp_help F
+GLIBC_2.12 argp_parse F
+GLIBC_2.12 argp_program_bug_address D 0x8
+GLIBC_2.12 argp_program_version D 0x8
+GLIBC_2.12 argp_program_version_hook D 0x8
+GLIBC_2.12 argp_state_help F
+GLIBC_2.12 argp_usage F
+GLIBC_2.12 argz_add F
+GLIBC_2.12 argz_add_sep F
+GLIBC_2.12 argz_append F
+GLIBC_2.12 argz_count F
+GLIBC_2.12 argz_create F
+GLIBC_2.12 argz_create_sep F
+GLIBC_2.12 argz_delete F
+GLIBC_2.12 argz_extract F
+GLIBC_2.12 argz_insert F
+GLIBC_2.12 argz_next F
+GLIBC_2.12 argz_replace F
+GLIBC_2.12 argz_stringify F
+GLIBC_2.12 asctime F
+GLIBC_2.12 asctime_r F
+GLIBC_2.12 asprintf F
+GLIBC_2.12 atof F
+GLIBC_2.12 atoi F
+GLIBC_2.12 atol F
+GLIBC_2.12 atoll F
+GLIBC_2.12 authdes_create F
+GLIBC_2.12 authdes_getucred F
+GLIBC_2.12 authdes_pk_create F
+GLIBC_2.12 authnone_create F
+GLIBC_2.12 authunix_create F
+GLIBC_2.12 authunix_create_default F
+GLIBC_2.12 backtrace F
+GLIBC_2.12 backtrace_symbols F
+GLIBC_2.12 backtrace_symbols_fd F
+GLIBC_2.12 basename F
+GLIBC_2.12 bcmp F
+GLIBC_2.12 bcopy F
+GLIBC_2.12 bdflush F
+GLIBC_2.12 bind F
+GLIBC_2.12 bind_textdomain_codeset F
+GLIBC_2.12 bindresvport F
+GLIBC_2.12 bindtextdomain F
+GLIBC_2.12 brk F
+GLIBC_2.12 bsd_signal F
+GLIBC_2.12 bsearch F
+GLIBC_2.12 btowc F
+GLIBC_2.12 bzero F
+GLIBC_2.12 cacheflush F
+GLIBC_2.12 calloc F
+GLIBC_2.12 callrpc F
+GLIBC_2.12 canonicalize_file_name F
+GLIBC_2.12 capget F
+GLIBC_2.12 capset F
+GLIBC_2.12 catclose F
+GLIBC_2.12 catgets F
+GLIBC_2.12 catopen F
+GLIBC_2.12 cbc_crypt F
+GLIBC_2.12 cfgetispeed F
+GLIBC_2.12 cfgetospeed F
+GLIBC_2.12 cfmakeraw F
+GLIBC_2.12 cfree F
+GLIBC_2.12 cfsetispeed F
+GLIBC_2.12 cfsetospeed F
+GLIBC_2.12 cfsetspeed F
+GLIBC_2.12 chdir F
+GLIBC_2.12 chflags F
+GLIBC_2.12 chmod F
+GLIBC_2.12 chown F
+GLIBC_2.12 chroot F
+GLIBC_2.12 clearenv F
+GLIBC_2.12 clearerr F
+GLIBC_2.12 clearerr_unlocked F
+GLIBC_2.12 clnt_broadcast F
+GLIBC_2.12 clnt_create F
+GLIBC_2.12 clnt_pcreateerror F
+GLIBC_2.12 clnt_perrno F
+GLIBC_2.12 clnt_perror F
+GLIBC_2.12 clnt_spcreateerror F
+GLIBC_2.12 clnt_sperrno F
+GLIBC_2.12 clnt_sperror F
+GLIBC_2.12 clntraw_create F
+GLIBC_2.12 clnttcp_create F
+GLIBC_2.12 clntudp_bufcreate F
+GLIBC_2.12 clntudp_create F
+GLIBC_2.12 clntunix_create F
+GLIBC_2.12 clock F
+GLIBC_2.12 clone F
+GLIBC_2.12 close F
+GLIBC_2.12 closedir F
+GLIBC_2.12 closelog F
+GLIBC_2.12 confstr F
+GLIBC_2.12 connect F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 creat F
+GLIBC_2.12 creat64 F
+GLIBC_2.12 create_module F
+GLIBC_2.12 ctermid F
+GLIBC_2.12 ctime F
+GLIBC_2.12 ctime_r F
+GLIBC_2.12 cuserid F
+GLIBC_2.12 daemon F
+GLIBC_2.12 daylight D 0x4
+GLIBC_2.12 dcgettext F
+GLIBC_2.12 dcngettext F
+GLIBC_2.12 delete_module F
+GLIBC_2.12 des_setparity F
+GLIBC_2.12 dgettext F
+GLIBC_2.12 difftime F
+GLIBC_2.12 dirfd F
+GLIBC_2.12 dirname F
+GLIBC_2.12 div F
+GLIBC_2.12 dl_iterate_phdr F
+GLIBC_2.12 dngettext F
+GLIBC_2.12 dprintf F
+GLIBC_2.12 drand48 F
+GLIBC_2.12 drand48_r F
+GLIBC_2.12 dup F
+GLIBC_2.12 dup2 F
+GLIBC_2.12 dup3 F
+GLIBC_2.12 duplocale F
+GLIBC_2.12 dysize F
+GLIBC_2.12 eaccess F
+GLIBC_2.12 ecb_crypt F
+GLIBC_2.12 ecvt F
+GLIBC_2.12 ecvt_r F
+GLIBC_2.12 endaliasent F
+GLIBC_2.12 endfsent F
+GLIBC_2.12 endgrent F
+GLIBC_2.12 endhostent F
+GLIBC_2.12 endmntent F
+GLIBC_2.12 endnetent F
+GLIBC_2.12 endnetgrent F
+GLIBC_2.12 endprotoent F
+GLIBC_2.12 endpwent F
+GLIBC_2.12 endrpcent F
+GLIBC_2.12 endservent F
+GLIBC_2.12 endsgent F
+GLIBC_2.12 endspent F
+GLIBC_2.12 endttyent F
+GLIBC_2.12 endusershell F
+GLIBC_2.12 endutent F
+GLIBC_2.12 endutxent F
+GLIBC_2.12 environ D 0x8
+GLIBC_2.12 envz_add F
+GLIBC_2.12 envz_entry F
+GLIBC_2.12 envz_get F
+GLIBC_2.12 envz_merge F
+GLIBC_2.12 envz_remove F
+GLIBC_2.12 envz_strip F
+GLIBC_2.12 epoll_create F
+GLIBC_2.12 epoll_create1 F
+GLIBC_2.12 epoll_ctl F
+GLIBC_2.12 epoll_pwait F
+GLIBC_2.12 epoll_wait F
+GLIBC_2.12 erand48 F
+GLIBC_2.12 erand48_r F
+GLIBC_2.12 err F
+GLIBC_2.12 error F
+GLIBC_2.12 error_at_line F
+GLIBC_2.12 error_message_count D 0x4
+GLIBC_2.12 error_one_per_line D 0x4
+GLIBC_2.12 error_print_progname D 0x8
+GLIBC_2.12 errx F
+GLIBC_2.12 ether_aton F
+GLIBC_2.12 ether_aton_r F
+GLIBC_2.12 ether_hostton F
+GLIBC_2.12 ether_line F
+GLIBC_2.12 ether_ntoa F
+GLIBC_2.12 ether_ntoa_r F
+GLIBC_2.12 ether_ntohost F
+GLIBC_2.12 euidaccess F
+GLIBC_2.12 eventfd F
+GLIBC_2.12 eventfd_read F
+GLIBC_2.12 eventfd_write F
+GLIBC_2.12 execl F
+GLIBC_2.12 execle F
+GLIBC_2.12 execlp F
+GLIBC_2.12 execv F
+GLIBC_2.12 execve F
+GLIBC_2.12 execvp F
+GLIBC_2.12 execvpe F
+GLIBC_2.12 exit F
+GLIBC_2.12 faccessat F
+GLIBC_2.12 fallocate F
+GLIBC_2.12 fallocate64 F
+GLIBC_2.12 fattach F
+GLIBC_2.12 fchdir F
+GLIBC_2.12 fchflags F
+GLIBC_2.12 fchmod F
+GLIBC_2.12 fchmodat F
+GLIBC_2.12 fchown F
+GLIBC_2.12 fchownat F
+GLIBC_2.12 fclose F
+GLIBC_2.12 fcloseall F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 fcvt F
+GLIBC_2.12 fcvt_r F
+GLIBC_2.12 fdatasync F
+GLIBC_2.12 fdetach F
+GLIBC_2.12 fdopen F
+GLIBC_2.12 fdopendir F
+GLIBC_2.12 feof F
+GLIBC_2.12 feof_unlocked F
+GLIBC_2.12 ferror F
+GLIBC_2.12 ferror_unlocked F
+GLIBC_2.12 fexecve F
+GLIBC_2.12 fflush F
+GLIBC_2.12 fflush_unlocked F
+GLIBC_2.12 ffs F
+GLIBC_2.12 ffsl F
+GLIBC_2.12 ffsll F
+GLIBC_2.12 fgetc F
+GLIBC_2.12 fgetc_unlocked F
+GLIBC_2.12 fgetgrent F
+GLIBC_2.12 fgetgrent_r F
+GLIBC_2.12 fgetpos F
+GLIBC_2.12 fgetpos64 F
+GLIBC_2.12 fgetpwent F
+GLIBC_2.12 fgetpwent_r F
+GLIBC_2.12 fgets F
+GLIBC_2.12 fgets_unlocked F
+GLIBC_2.12 fgetsgent F
+GLIBC_2.12 fgetsgent_r F
+GLIBC_2.12 fgetspent F
+GLIBC_2.12 fgetspent_r F
+GLIBC_2.12 fgetwc F
+GLIBC_2.12 fgetwc_unlocked F
+GLIBC_2.12 fgetws F
+GLIBC_2.12 fgetws_unlocked F
+GLIBC_2.12 fgetxattr F
+GLIBC_2.12 fileno F
+GLIBC_2.12 fileno_unlocked F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 flistxattr F
+GLIBC_2.12 flock F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fmemopen F
+GLIBC_2.12 fmtmsg F
+GLIBC_2.12 fnmatch F
+GLIBC_2.12 fopen F
+GLIBC_2.12 fopen64 F
+GLIBC_2.12 fopencookie F
+GLIBC_2.12 fork F
+GLIBC_2.12 fpathconf F
+GLIBC_2.12 fprintf F
+GLIBC_2.12 fputc F
+GLIBC_2.12 fputc_unlocked F
+GLIBC_2.12 fputs F
+GLIBC_2.12 fputs_unlocked F
+GLIBC_2.12 fputwc F
+GLIBC_2.12 fputwc_unlocked F
+GLIBC_2.12 fputws F
+GLIBC_2.12 fputws_unlocked F
+GLIBC_2.12 fread F
+GLIBC_2.12 fread_unlocked F
+GLIBC_2.12 free F
+GLIBC_2.12 freeaddrinfo F
+GLIBC_2.12 freeifaddrs F
+GLIBC_2.12 freelocale F
+GLIBC_2.12 fremovexattr F
+GLIBC_2.12 freopen F
+GLIBC_2.12 freopen64 F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 fscanf F
+GLIBC_2.12 fseek F
+GLIBC_2.12 fseeko F
+GLIBC_2.12 fseeko64 F
+GLIBC_2.12 fsetpos F
+GLIBC_2.12 fsetpos64 F
+GLIBC_2.12 fsetxattr F
+GLIBC_2.12 fstatfs F
+GLIBC_2.12 fstatfs64 F
+GLIBC_2.12 fstatvfs F
+GLIBC_2.12 fstatvfs64 F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftell F
+GLIBC_2.12 ftello F
+GLIBC_2.12 ftello64 F
+GLIBC_2.12 ftime F
+GLIBC_2.12 ftok F
+GLIBC_2.12 ftruncate F
+GLIBC_2.12 ftruncate64 F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 fts_children F
+GLIBC_2.12 fts_close F
+GLIBC_2.12 fts_open F
+GLIBC_2.12 fts_read F
+GLIBC_2.12 fts_set F
+GLIBC_2.12 ftw F
+GLIBC_2.12 ftw64 F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 futimens F
+GLIBC_2.12 futimes F
+GLIBC_2.12 futimesat F
+GLIBC_2.12 fwide F
+GLIBC_2.12 fwprintf F
+GLIBC_2.12 fwrite F
+GLIBC_2.12 fwrite_unlocked F
+GLIBC_2.12 fwscanf F
+GLIBC_2.12 gai_strerror F
+GLIBC_2.12 gcvt F
+GLIBC_2.12 get_avphys_pages F
+GLIBC_2.12 get_current_dir_name F
+GLIBC_2.12 get_kernel_syms F
+GLIBC_2.12 get_myaddress F
+GLIBC_2.12 get_nprocs F
+GLIBC_2.12 get_nprocs_conf F
+GLIBC_2.12 get_phys_pages F
+GLIBC_2.12 getaddrinfo F
+GLIBC_2.12 getaliasbyname F
+GLIBC_2.12 getaliasbyname_r F
+GLIBC_2.12 getaliasent F
+GLIBC_2.12 getaliasent_r F
+GLIBC_2.12 getc F
+GLIBC_2.12 getc_unlocked F
+GLIBC_2.12 getchar F
+GLIBC_2.12 getchar_unlocked F
+GLIBC_2.12 getcontext F
+GLIBC_2.12 getcwd F
+GLIBC_2.12 getdate F
+GLIBC_2.12 getdate_err D 0x4
+GLIBC_2.12 getdate_r F
+GLIBC_2.12 getdelim F
+GLIBC_2.12 getdirentries F
+GLIBC_2.12 getdirentries64 F
+GLIBC_2.12 getdomainname F
+GLIBC_2.12 getdtablesize F
+GLIBC_2.12 getegid F
+GLIBC_2.12 getenv F
+GLIBC_2.12 geteuid F
+GLIBC_2.12 getfsent F
+GLIBC_2.12 getfsfile F
+GLIBC_2.12 getfsspec F
+GLIBC_2.12 getgid F
+GLIBC_2.12 getgrent F
+GLIBC_2.12 getgrent_r F
+GLIBC_2.12 getgrgid F
+GLIBC_2.12 getgrgid_r F
+GLIBC_2.12 getgrnam F
+GLIBC_2.12 getgrnam_r F
+GLIBC_2.12 getgrouplist F
+GLIBC_2.12 getgroups F
+GLIBC_2.12 gethostbyaddr F
+GLIBC_2.12 gethostbyaddr_r F
+GLIBC_2.12 gethostbyname F
+GLIBC_2.12 gethostbyname2 F
+GLIBC_2.12 gethostbyname2_r F
+GLIBC_2.12 gethostbyname_r F
+GLIBC_2.12 gethostent F
+GLIBC_2.12 gethostent_r F
+GLIBC_2.12 gethostid F
+GLIBC_2.12 gethostname F
+GLIBC_2.12 getifaddrs F
+GLIBC_2.12 getipv4sourcefilter F
+GLIBC_2.12 getitimer F
+GLIBC_2.12 getline F
+GLIBC_2.12 getloadavg F
+GLIBC_2.12 getlogin F
+GLIBC_2.12 getlogin_r F
+GLIBC_2.12 getmntent F
+GLIBC_2.12 getmntent_r F
+GLIBC_2.12 getmsg F
+GLIBC_2.12 getnameinfo F
+GLIBC_2.12 getnetbyaddr F
+GLIBC_2.12 getnetbyaddr_r F
+GLIBC_2.12 getnetbyname F
+GLIBC_2.12 getnetbyname_r F
+GLIBC_2.12 getnetent F
+GLIBC_2.12 getnetent_r F
+GLIBC_2.12 getnetgrent F
+GLIBC_2.12 getnetgrent_r F
+GLIBC_2.12 getnetname F
+GLIBC_2.12 getopt F
+GLIBC_2.12 getopt_long F
+GLIBC_2.12 getopt_long_only F
+GLIBC_2.12 getpagesize F
+GLIBC_2.12 getpass F
+GLIBC_2.12 getpeername F
+GLIBC_2.12 getpgid F
+GLIBC_2.12 getpgrp F
+GLIBC_2.12 getpid F
+GLIBC_2.12 getpmsg F
+GLIBC_2.12 getppid F
+GLIBC_2.12 getpriority F
+GLIBC_2.12 getprotobyname F
+GLIBC_2.12 getprotobyname_r F
+GLIBC_2.12 getprotobynumber F
+GLIBC_2.12 getprotobynumber_r F
+GLIBC_2.12 getprotoent F
+GLIBC_2.12 getprotoent_r F
+GLIBC_2.12 getpt F
+GLIBC_2.12 getpublickey F
+GLIBC_2.12 getpw F
+GLIBC_2.12 getpwent F
+GLIBC_2.12 getpwent_r F
+GLIBC_2.12 getpwnam F
+GLIBC_2.12 getpwnam_r F
+GLIBC_2.12 getpwuid F
+GLIBC_2.12 getpwuid_r F
+GLIBC_2.12 getresgid F
+GLIBC_2.12 getresuid F
+GLIBC_2.12 getrlimit F
+GLIBC_2.12 getrlimit64 F
+GLIBC_2.12 getrpcbyname F
+GLIBC_2.12 getrpcbyname_r F
+GLIBC_2.12 getrpcbynumber F
+GLIBC_2.12 getrpcbynumber_r F
+GLIBC_2.12 getrpcent F
+GLIBC_2.12 getrpcent_r F
+GLIBC_2.12 getrpcport F
+GLIBC_2.12 getrusage F
+GLIBC_2.12 gets F
+GLIBC_2.12 getsecretkey F
+GLIBC_2.12 getservbyname F
+GLIBC_2.12 getservbyname_r F
+GLIBC_2.12 getservbyport F
+GLIBC_2.12 getservbyport_r F
+GLIBC_2.12 getservent F
+GLIBC_2.12 getservent_r F
+GLIBC_2.12 getsgent F
+GLIBC_2.12 getsgent_r F
+GLIBC_2.12 getsgnam F
+GLIBC_2.12 getsgnam_r F
+GLIBC_2.12 getsid F
+GLIBC_2.12 getsockname F
+GLIBC_2.12 getsockopt F
+GLIBC_2.12 getsourcefilter F
+GLIBC_2.12 getspent F
+GLIBC_2.12 getspent_r F
+GLIBC_2.12 getspnam F
+GLIBC_2.12 getspnam_r F
+GLIBC_2.12 getsubopt F
+GLIBC_2.12 gettext F
+GLIBC_2.12 gettimeofday F
+GLIBC_2.12 getttyent F
+GLIBC_2.12 getttynam F
+GLIBC_2.12 getuid F
+GLIBC_2.12 getusershell F
+GLIBC_2.12 getutent F
+GLIBC_2.12 getutent_r F
+GLIBC_2.12 getutid F
+GLIBC_2.12 getutid_r F
+GLIBC_2.12 getutline F
+GLIBC_2.12 getutline_r F
+GLIBC_2.12 getutmp F
+GLIBC_2.12 getutmpx F
+GLIBC_2.12 getutxent F
+GLIBC_2.12 getutxid F
+GLIBC_2.12 getutxline F
+GLIBC_2.12 getw F
+GLIBC_2.12 getwc F
+GLIBC_2.12 getwc_unlocked F
+GLIBC_2.12 getwchar F
+GLIBC_2.12 getwchar_unlocked F
+GLIBC_2.12 getwd F
+GLIBC_2.12 getxattr F
+GLIBC_2.12 glob F
+GLIBC_2.12 glob64 F
+GLIBC_2.12 glob_pattern_p F
+GLIBC_2.12 globfree F
+GLIBC_2.12 globfree64 F
+GLIBC_2.12 gmtime F
+GLIBC_2.12 gmtime_r F
+GLIBC_2.12 gnu_dev_major F
+GLIBC_2.12 gnu_dev_makedev F
+GLIBC_2.12 gnu_dev_minor F
+GLIBC_2.12 gnu_get_libc_release F
+GLIBC_2.12 gnu_get_libc_version F
+GLIBC_2.12 grantpt F
+GLIBC_2.12 group_member F
+GLIBC_2.12 gsignal F
+GLIBC_2.12 gtty F
+GLIBC_2.12 h_errlist D 0x28
+GLIBC_2.12 h_nerr D 0x4
+GLIBC_2.12 hasmntopt F
+GLIBC_2.12 hcreate F
+GLIBC_2.12 hcreate_r F
+GLIBC_2.12 hdestroy F
+GLIBC_2.12 hdestroy_r F
+GLIBC_2.12 herror F
+GLIBC_2.12 host2netname F
+GLIBC_2.12 hsearch F
+GLIBC_2.12 hsearch_r F
+GLIBC_2.12 hstrerror F
+GLIBC_2.12 htonl F
+GLIBC_2.12 htons F
+GLIBC_2.12 iconv F
+GLIBC_2.12 iconv_close F
+GLIBC_2.12 iconv_open F
+GLIBC_2.12 if_freenameindex F
+GLIBC_2.12 if_indextoname F
+GLIBC_2.12 if_nameindex F
+GLIBC_2.12 if_nametoindex F
+GLIBC_2.12 imaxabs F
+GLIBC_2.12 imaxdiv F
+GLIBC_2.12 in6addr_any D 0x10
+GLIBC_2.12 in6addr_loopback D 0x10
+GLIBC_2.12 index F
+GLIBC_2.12 inet6_opt_append F
+GLIBC_2.12 inet6_opt_find F
+GLIBC_2.12 inet6_opt_finish F
+GLIBC_2.12 inet6_opt_get_val F
+GLIBC_2.12 inet6_opt_init F
+GLIBC_2.12 inet6_opt_next F
+GLIBC_2.12 inet6_opt_set_val F
+GLIBC_2.12 inet6_option_alloc F
+GLIBC_2.12 inet6_option_append F
+GLIBC_2.12 inet6_option_find F
+GLIBC_2.12 inet6_option_init F
+GLIBC_2.12 inet6_option_next F
+GLIBC_2.12 inet6_option_space F
+GLIBC_2.12 inet6_rth_add F
+GLIBC_2.12 inet6_rth_getaddr F
+GLIBC_2.12 inet6_rth_init F
+GLIBC_2.12 inet6_rth_reverse F
+GLIBC_2.12 inet6_rth_segments F
+GLIBC_2.12 inet6_rth_space F
+GLIBC_2.12 inet_addr F
+GLIBC_2.12 inet_aton F
+GLIBC_2.12 inet_lnaof F
+GLIBC_2.12 inet_makeaddr F
+GLIBC_2.12 inet_netof F
+GLIBC_2.12 inet_network F
+GLIBC_2.12 inet_nsap_addr F
+GLIBC_2.12 inet_nsap_ntoa F
+GLIBC_2.12 inet_ntoa F
+GLIBC_2.12 inet_ntop F
+GLIBC_2.12 inet_pton F
+GLIBC_2.12 init_module F
+GLIBC_2.12 initgroups F
+GLIBC_2.12 initstate F
+GLIBC_2.12 initstate_r F
+GLIBC_2.12 innetgr F
+GLIBC_2.12 inotify_add_watch F
+GLIBC_2.12 inotify_init F
+GLIBC_2.12 inotify_init1 F
+GLIBC_2.12 inotify_rm_watch F
+GLIBC_2.12 insque F
+GLIBC_2.12 ioctl F
+GLIBC_2.12 iruserok F
+GLIBC_2.12 iruserok_af F
+GLIBC_2.12 isalnum F
+GLIBC_2.12 isalnum_l F
+GLIBC_2.12 isalpha F
+GLIBC_2.12 isalpha_l F
+GLIBC_2.12 isascii F
+GLIBC_2.12 isastream F
+GLIBC_2.12 isatty F
+GLIBC_2.12 isblank F
+GLIBC_2.12 isblank_l F
+GLIBC_2.12 iscntrl F
+GLIBC_2.12 iscntrl_l F
+GLIBC_2.12 isctype F
+GLIBC_2.12 isdigit F
+GLIBC_2.12 isdigit_l F
+GLIBC_2.12 isfdtype F
+GLIBC_2.12 isgraph F
+GLIBC_2.12 isgraph_l F
+GLIBC_2.12 isinf F
+GLIBC_2.12 isinff F
+GLIBC_2.12 isinfl F
+GLIBC_2.12 islower F
+GLIBC_2.12 islower_l F
+GLIBC_2.12 isnan F
+GLIBC_2.12 isnanf F
+GLIBC_2.12 isnanl F
+GLIBC_2.12 isprint F
+GLIBC_2.12 isprint_l F
+GLIBC_2.12 ispunct F
+GLIBC_2.12 ispunct_l F
+GLIBC_2.12 isspace F
+GLIBC_2.12 isspace_l F
+GLIBC_2.12 isupper F
+GLIBC_2.12 isupper_l F
+GLIBC_2.12 iswalnum F
+GLIBC_2.12 iswalnum_l F
+GLIBC_2.12 iswalpha F
+GLIBC_2.12 iswalpha_l F
+GLIBC_2.12 iswblank F
+GLIBC_2.12 iswblank_l F
+GLIBC_2.12 iswcntrl F
+GLIBC_2.12 iswcntrl_l F
+GLIBC_2.12 iswctype F
+GLIBC_2.12 iswctype_l F
+GLIBC_2.12 iswdigit F
+GLIBC_2.12 iswdigit_l F
+GLIBC_2.12 iswgraph F
+GLIBC_2.12 iswgraph_l F
+GLIBC_2.12 iswlower F
+GLIBC_2.12 iswlower_l F
+GLIBC_2.12 iswprint F
+GLIBC_2.12 iswprint_l F
+GLIBC_2.12 iswpunct F
+GLIBC_2.12 iswpunct_l F
+GLIBC_2.12 iswspace F
+GLIBC_2.12 iswspace_l F
+GLIBC_2.12 iswupper F
+GLIBC_2.12 iswupper_l F
+GLIBC_2.12 iswxdigit F
+GLIBC_2.12 iswxdigit_l F
+GLIBC_2.12 isxdigit F
+GLIBC_2.12 isxdigit_l F
+GLIBC_2.12 jrand48 F
+GLIBC_2.12 jrand48_r F
+GLIBC_2.12 key_decryptsession F
+GLIBC_2.12 key_decryptsession_pk F
+GLIBC_2.12 key_encryptsession F
+GLIBC_2.12 key_encryptsession_pk F
+GLIBC_2.12 key_gendes F
+GLIBC_2.12 key_get_conv F
+GLIBC_2.12 key_secretkey_is_set F
+GLIBC_2.12 key_setnet F
+GLIBC_2.12 key_setsecret F
+GLIBC_2.12 kill F
+GLIBC_2.12 killpg F
+GLIBC_2.12 klogctl F
+GLIBC_2.12 l64a F
+GLIBC_2.12 labs F
+GLIBC_2.12 lchmod F
+GLIBC_2.12 lchown F
+GLIBC_2.12 lckpwdf F
+GLIBC_2.12 lcong48 F
+GLIBC_2.12 lcong48_r F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 ldiv F
+GLIBC_2.12 lfind F
+GLIBC_2.12 lgetxattr F
+GLIBC_2.12 link F
+GLIBC_2.12 linkat F
+GLIBC_2.12 listen F
+GLIBC_2.12 listxattr F
+GLIBC_2.12 llabs F
+GLIBC_2.12 lldiv F
+GLIBC_2.12 llistxattr F
+GLIBC_2.12 llseek F
+GLIBC_2.12 loc1 D 0x8
+GLIBC_2.12 loc2 D 0x8
+GLIBC_2.12 localeconv F
+GLIBC_2.12 localtime F
+GLIBC_2.12 localtime_r F
+GLIBC_2.12 lockf F
+GLIBC_2.12 lockf64 F
+GLIBC_2.12 locs D 0x8
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lrand48 F
+GLIBC_2.12 lrand48_r F
+GLIBC_2.12 lremovexattr F
+GLIBC_2.12 lsearch F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 lsetxattr F
+GLIBC_2.12 lutimes F
+GLIBC_2.12 madvise F
+GLIBC_2.12 makecontext F
+GLIBC_2.12 mallinfo F
+GLIBC_2.12 malloc F
+GLIBC_2.12 malloc_get_state F
+GLIBC_2.12 malloc_info F
+GLIBC_2.12 malloc_set_state F
+GLIBC_2.12 malloc_stats F
+GLIBC_2.12 malloc_trim F
+GLIBC_2.12 malloc_usable_size F
+GLIBC_2.12 mallopt F
+GLIBC_2.12 mallwatch D 0x8
+GLIBC_2.12 mblen F
+GLIBC_2.12 mbrlen F
+GLIBC_2.12 mbrtowc F
+GLIBC_2.12 mbsinit F
+GLIBC_2.12 mbsnrtowcs F
+GLIBC_2.12 mbsrtowcs F
+GLIBC_2.12 mbstowcs F
+GLIBC_2.12 mbtowc F
+GLIBC_2.12 mcheck F
+GLIBC_2.12 mcheck_check_all F
+GLIBC_2.12 mcheck_pedantic F
+GLIBC_2.12 mcount F
+GLIBC_2.12 memalign F
+GLIBC_2.12 memccpy F
+GLIBC_2.12 memchr F
+GLIBC_2.12 memcmp F
+GLIBC_2.12 memcpy F
+GLIBC_2.12 memfrob F
+GLIBC_2.12 memmem F
+GLIBC_2.12 memmove F
+GLIBC_2.12 mempcpy F
+GLIBC_2.12 memrchr F
+GLIBC_2.12 memset F
+GLIBC_2.12 mincore F
+GLIBC_2.12 mkdir F
+GLIBC_2.12 mkdirat F
+GLIBC_2.12 mkdtemp F
+GLIBC_2.12 mkfifo F
+GLIBC_2.12 mkfifoat F
+GLIBC_2.12 mkostemp F
+GLIBC_2.12 mkostemp64 F
+GLIBC_2.12 mkostemps F
+GLIBC_2.12 mkostemps64 F
+GLIBC_2.12 mkstemp F
+GLIBC_2.12 mkstemp64 F
+GLIBC_2.12 mkstemps F
+GLIBC_2.12 mkstemps64 F
+GLIBC_2.12 mktemp F
+GLIBC_2.12 mktime F
+GLIBC_2.12 mlock F
+GLIBC_2.12 mlockall F
+GLIBC_2.12 mmap F
+GLIBC_2.12 mmap64 F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 moncontrol F
+GLIBC_2.12 monstartup F
+GLIBC_2.12 mount F
+GLIBC_2.12 mprobe F
+GLIBC_2.12 mprotect F
+GLIBC_2.12 mrand48 F
+GLIBC_2.12 mrand48_r F
+GLIBC_2.12 mremap F
+GLIBC_2.12 msgctl F
+GLIBC_2.12 msgget F
+GLIBC_2.12 msgrcv F
+GLIBC_2.12 msgsnd F
+GLIBC_2.12 msync F
+GLIBC_2.12 mtrace F
+GLIBC_2.12 munlock F
+GLIBC_2.12 munlockall F
+GLIBC_2.12 munmap F
+GLIBC_2.12 muntrace F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 netname2host F
+GLIBC_2.12 netname2user F
+GLIBC_2.12 newlocale F
+GLIBC_2.12 nfsservctl F
+GLIBC_2.12 nftw F
+GLIBC_2.12 nftw64 F
+GLIBC_2.12 ngettext F
+GLIBC_2.12 nice F
+GLIBC_2.12 nl_langinfo F
+GLIBC_2.12 nl_langinfo_l F
+GLIBC_2.12 nrand48 F
+GLIBC_2.12 nrand48_r F
+GLIBC_2.12 ntohl F
+GLIBC_2.12 ntohs F
+GLIBC_2.12 ntp_adjtime F
+GLIBC_2.12 ntp_gettime F
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 obstack_alloc_failed_handler D 0x8
+GLIBC_2.12 obstack_exit_failure D 0x4
+GLIBC_2.12 obstack_free F
+GLIBC_2.12 obstack_printf F
+GLIBC_2.12 obstack_vprintf F
+GLIBC_2.12 on_exit F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 open_memstream F
+GLIBC_2.12 open_wmemstream F
+GLIBC_2.12 openat F
+GLIBC_2.12 openat64 F
+GLIBC_2.12 opendir F
+GLIBC_2.12 openlog F
+GLIBC_2.12 optarg D 0x8
+GLIBC_2.12 opterr D 0x4
+GLIBC_2.12 optind D 0x4
+GLIBC_2.12 optopt D 0x4
+GLIBC_2.12 parse_printf_format F
+GLIBC_2.12 passwd2des F
+GLIBC_2.12 pathconf F
+GLIBC_2.12 pause F
+GLIBC_2.12 pclose F
+GLIBC_2.12 perror F
+GLIBC_2.12 personality F
+GLIBC_2.12 pipe F
+GLIBC_2.12 pipe2 F
+GLIBC_2.12 pivot_root F
+GLIBC_2.12 pmap_getmaps F
+GLIBC_2.12 pmap_getport F
+GLIBC_2.12 pmap_rmtcall F
+GLIBC_2.12 pmap_set F
+GLIBC_2.12 pmap_unset F
+GLIBC_2.12 poll F
+GLIBC_2.12 popen F
+GLIBC_2.12 posix_fadvise F
+GLIBC_2.12 posix_fadvise64 F
+GLIBC_2.12 posix_fallocate F
+GLIBC_2.12 posix_fallocate64 F
+GLIBC_2.12 posix_madvise F
+GLIBC_2.12 posix_memalign F
+GLIBC_2.12 posix_openpt F
+GLIBC_2.12 posix_spawn F
+GLIBC_2.12 posix_spawn_file_actions_addclose F
+GLIBC_2.12 posix_spawn_file_actions_adddup2 F
+GLIBC_2.12 posix_spawn_file_actions_addopen F
+GLIBC_2.12 posix_spawn_file_actions_destroy F
+GLIBC_2.12 posix_spawn_file_actions_init F
+GLIBC_2.12 posix_spawnattr_destroy F
+GLIBC_2.12 posix_spawnattr_getflags F
+GLIBC_2.12 posix_spawnattr_getpgroup F
+GLIBC_2.12 posix_spawnattr_getschedparam F
+GLIBC_2.12 posix_spawnattr_getschedpolicy F
+GLIBC_2.12 posix_spawnattr_getsigdefault F
+GLIBC_2.12 posix_spawnattr_getsigmask F
+GLIBC_2.12 posix_spawnattr_init F
+GLIBC_2.12 posix_spawnattr_setflags F
+GLIBC_2.12 posix_spawnattr_setpgroup F
+GLIBC_2.12 posix_spawnattr_setschedparam F
+GLIBC_2.12 posix_spawnattr_setschedpolicy F
+GLIBC_2.12 posix_spawnattr_setsigdefault F
+GLIBC_2.12 posix_spawnattr_setsigmask F
+GLIBC_2.12 posix_spawnp F
+GLIBC_2.12 ppoll F
+GLIBC_2.12 prctl F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 preadv F
+GLIBC_2.12 preadv64 F
+GLIBC_2.12 printf F
+GLIBC_2.12 printf_size F
+GLIBC_2.12 printf_size_info F
+GLIBC_2.12 profil F
+GLIBC_2.12 program_invocation_name D 0x8
+GLIBC_2.12 program_invocation_short_name D 0x8
+GLIBC_2.12 pselect F
+GLIBC_2.12 psiginfo F
+GLIBC_2.12 psignal F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 ptrace F
+GLIBC_2.12 ptsname F
+GLIBC_2.12 ptsname_r F
+GLIBC_2.12 putc F
+GLIBC_2.12 putc_unlocked F
+GLIBC_2.12 putchar F
+GLIBC_2.12 putchar_unlocked F
+GLIBC_2.12 putenv F
+GLIBC_2.12 putgrent F
+GLIBC_2.12 putmsg F
+GLIBC_2.12 putpmsg F
+GLIBC_2.12 putpwent F
+GLIBC_2.12 puts F
+GLIBC_2.12 putsgent F
+GLIBC_2.12 putspent F
+GLIBC_2.12 pututline F
+GLIBC_2.12 pututxline F
+GLIBC_2.12 putw F
+GLIBC_2.12 putwc F
+GLIBC_2.12 putwc_unlocked F
+GLIBC_2.12 putwchar F
+GLIBC_2.12 putwchar_unlocked F
+GLIBC_2.12 pvalloc F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 pwritev F
+GLIBC_2.12 pwritev64 F
+GLIBC_2.12 qecvt F
+GLIBC_2.12 qecvt_r F
+GLIBC_2.12 qfcvt F
+GLIBC_2.12 qfcvt_r F
+GLIBC_2.12 qgcvt F
+GLIBC_2.12 qsort F
+GLIBC_2.12 qsort_r F
+GLIBC_2.12 query_module F
+GLIBC_2.12 quick_exit F
+GLIBC_2.12 quotactl F
+GLIBC_2.12 raise F
+GLIBC_2.12 rand F
+GLIBC_2.12 rand_r F
+GLIBC_2.12 random F
+GLIBC_2.12 random_r F
+GLIBC_2.12 rawmemchr F
+GLIBC_2.12 rcmd F
+GLIBC_2.12 rcmd_af F
+GLIBC_2.12 re_comp F
+GLIBC_2.12 re_compile_fastmap F
+GLIBC_2.12 re_compile_pattern F
+GLIBC_2.12 re_exec F
+GLIBC_2.12 re_match F
+GLIBC_2.12 re_match_2 F
+GLIBC_2.12 re_search F
+GLIBC_2.12 re_search_2 F
+GLIBC_2.12 re_set_registers F
+GLIBC_2.12 re_set_syntax F
+GLIBC_2.12 re_syntax_options D 0x8
+GLIBC_2.12 read F
+GLIBC_2.12 readahead F
+GLIBC_2.12 readdir F
+GLIBC_2.12 readdir64 F
+GLIBC_2.12 readdir64_r F
+GLIBC_2.12 readdir_r F
+GLIBC_2.12 readlink F
+GLIBC_2.12 readlinkat F
+GLIBC_2.12 readv F
+GLIBC_2.12 realloc F
+GLIBC_2.12 realpath F
+GLIBC_2.12 reboot F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 regcomp F
+GLIBC_2.12 regerror F
+GLIBC_2.12 regexec F
+GLIBC_2.12 regfree F
+GLIBC_2.12 register_printf_function F
+GLIBC_2.12 register_printf_modifier F
+GLIBC_2.12 register_printf_specifier F
+GLIBC_2.12 register_printf_type F
+GLIBC_2.12 registerrpc F
+GLIBC_2.12 remap_file_pages F
+GLIBC_2.12 remove F
+GLIBC_2.12 removexattr F
+GLIBC_2.12 remque F
+GLIBC_2.12 rename F
+GLIBC_2.12 renameat F
+GLIBC_2.12 revoke F
+GLIBC_2.12 rewind F
+GLIBC_2.12 rewinddir F
+GLIBC_2.12 rexec F
+GLIBC_2.12 rexec_af F
+GLIBC_2.12 rexecoptions D 0x4
+GLIBC_2.12 rindex F
+GLIBC_2.12 rmdir F
+GLIBC_2.12 rpc_createerr D 0x20
+GLIBC_2.12 rpmatch F
+GLIBC_2.12 rresvport F
+GLIBC_2.12 rresvport_af F
+GLIBC_2.12 rtime F
+GLIBC_2.12 ruserok F
+GLIBC_2.12 ruserok_af F
+GLIBC_2.12 ruserpass F
+GLIBC_2.12 sbrk F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 scandir F
+GLIBC_2.12 scandir64 F
+GLIBC_2.12 scanf F
+GLIBC_2.12 sched_get_priority_max F
+GLIBC_2.12 sched_get_priority_min F
+GLIBC_2.12 sched_getaffinity F
+GLIBC_2.12 sched_getcpu F
+GLIBC_2.12 sched_getparam F
+GLIBC_2.12 sched_getscheduler F
+GLIBC_2.12 sched_rr_get_interval F
+GLIBC_2.12 sched_setaffinity F
+GLIBC_2.12 sched_setparam F
+GLIBC_2.12 sched_setscheduler F
+GLIBC_2.12 sched_yield F
+GLIBC_2.12 seed48 F
+GLIBC_2.12 seed48_r F
+GLIBC_2.12 seekdir F
+GLIBC_2.12 select F
+GLIBC_2.12 semctl F
+GLIBC_2.12 semget F
+GLIBC_2.12 semop F
+GLIBC_2.12 semtimedop F
+GLIBC_2.12 send F
+GLIBC_2.12 sendfile F
+GLIBC_2.12 sendfile64 F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 set_dataplane F
+GLIBC_2.12 setaliasent F
+GLIBC_2.12 setbuf F
+GLIBC_2.12 setbuffer F
+GLIBC_2.12 setcontext F
+GLIBC_2.12 setdomainname F
+GLIBC_2.12 setegid F
+GLIBC_2.12 setenv F
+GLIBC_2.12 seteuid F
+GLIBC_2.12 setfsent F
+GLIBC_2.12 setfsgid F
+GLIBC_2.12 setfsuid F
+GLIBC_2.12 setgid F
+GLIBC_2.12 setgrent F
+GLIBC_2.12 setgroups F
+GLIBC_2.12 sethostent F
+GLIBC_2.12 sethostid F
+GLIBC_2.12 sethostname F
+GLIBC_2.12 setipv4sourcefilter F
+GLIBC_2.12 setitimer F
+GLIBC_2.12 setjmp F
+GLIBC_2.12 setlinebuf F
+GLIBC_2.12 setlocale F
+GLIBC_2.12 setlogin F
+GLIBC_2.12 setlogmask F
+GLIBC_2.12 setmntent F
+GLIBC_2.12 setnetent F
+GLIBC_2.12 setnetgrent F
+GLIBC_2.12 setpgid F
+GLIBC_2.12 setpgrp F
+GLIBC_2.12 setpriority F
+GLIBC_2.12 setprotoent F
+GLIBC_2.12 setpwent F
+GLIBC_2.12 setregid F
+GLIBC_2.12 setresgid F
+GLIBC_2.12 setresuid F
+GLIBC_2.12 setreuid F
+GLIBC_2.12 setrlimit F
+GLIBC_2.12 setrlimit64 F
+GLIBC_2.12 setrpcent F
+GLIBC_2.12 setservent F
+GLIBC_2.12 setsgent F
+GLIBC_2.12 setsid F
+GLIBC_2.12 setsockopt F
+GLIBC_2.12 setsourcefilter F
+GLIBC_2.12 setspent F
+GLIBC_2.12 setstate F
+GLIBC_2.12 setstate_r F
+GLIBC_2.12 settimeofday F
+GLIBC_2.12 setttyent F
+GLIBC_2.12 setuid F
+GLIBC_2.12 setusershell F
+GLIBC_2.12 setutent F
+GLIBC_2.12 setutxent F
+GLIBC_2.12 setvbuf F
+GLIBC_2.12 setxattr F
+GLIBC_2.12 sgetsgent F
+GLIBC_2.12 sgetsgent_r F
+GLIBC_2.12 sgetspent F
+GLIBC_2.12 sgetspent_r F
+GLIBC_2.12 shmat F
+GLIBC_2.12 shmctl F
+GLIBC_2.12 shmdt F
+GLIBC_2.12 shmget F
+GLIBC_2.12 shutdown F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 sigaddset F
+GLIBC_2.12 sigaltstack F
+GLIBC_2.12 sigandset F
+GLIBC_2.12 sigblock F
+GLIBC_2.12 sigdelset F
+GLIBC_2.12 sigemptyset F
+GLIBC_2.12 sigfillset F
+GLIBC_2.12 siggetmask F
+GLIBC_2.12 sighold F
+GLIBC_2.12 sigignore F
+GLIBC_2.12 siginterrupt F
+GLIBC_2.12 sigisemptyset F
+GLIBC_2.12 sigismember F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 signal F
+GLIBC_2.12 signalfd F
+GLIBC_2.12 sigorset F
+GLIBC_2.12 sigpause F
+GLIBC_2.12 sigpending F
+GLIBC_2.12 sigprocmask F
+GLIBC_2.12 sigqueue F
+GLIBC_2.12 sigrelse F
+GLIBC_2.12 sigreturn F
+GLIBC_2.12 sigset F
+GLIBC_2.12 sigsetmask F
+GLIBC_2.12 sigstack F
+GLIBC_2.12 sigsuspend F
+GLIBC_2.12 sigtimedwait F
+GLIBC_2.12 sigvec F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 sigwaitinfo F
+GLIBC_2.12 sleep F
+GLIBC_2.12 snprintf F
+GLIBC_2.12 sockatmark F
+GLIBC_2.12 socket F
+GLIBC_2.12 socketpair F
+GLIBC_2.12 splice F
+GLIBC_2.12 sprintf F
+GLIBC_2.12 sprofil F
+GLIBC_2.12 srand F
+GLIBC_2.12 srand48 F
+GLIBC_2.12 srand48_r F
+GLIBC_2.12 srandom F
+GLIBC_2.12 srandom_r F
+GLIBC_2.12 sscanf F
+GLIBC_2.12 ssignal F
+GLIBC_2.12 sstk F
+GLIBC_2.12 statfs F
+GLIBC_2.12 statfs64 F
+GLIBC_2.12 statvfs F
+GLIBC_2.12 statvfs64 F
+GLIBC_2.12 stderr D 0x8
+GLIBC_2.12 stdin D 0x8
+GLIBC_2.12 stdout D 0x8
+GLIBC_2.12 step F
+GLIBC_2.12 stime F
+GLIBC_2.12 stpcpy F
+GLIBC_2.12 stpncpy F
+GLIBC_2.12 strcasecmp F
+GLIBC_2.12 strcasecmp_l F
+GLIBC_2.12 strcasestr F
+GLIBC_2.12 strcat F
+GLIBC_2.12 strchr F
+GLIBC_2.12 strchrnul F
+GLIBC_2.12 strcmp F
+GLIBC_2.12 strcoll F
+GLIBC_2.12 strcoll_l F
+GLIBC_2.12 strcpy F
+GLIBC_2.12 strcspn F
+GLIBC_2.12 strdup F
+GLIBC_2.12 strerror F
+GLIBC_2.12 strerror_l F
+GLIBC_2.12 strerror_r F
+GLIBC_2.12 strfmon F
+GLIBC_2.12 strfmon_l F
+GLIBC_2.12 strfry F
+GLIBC_2.12 strftime F
+GLIBC_2.12 strftime_l F
+GLIBC_2.12 strlen F
+GLIBC_2.12 strncasecmp F
+GLIBC_2.12 strncasecmp_l F
+GLIBC_2.12 strncat F
+GLIBC_2.12 strncmp F
+GLIBC_2.12 strncpy F
+GLIBC_2.12 strndup F
+GLIBC_2.12 strnlen F
+GLIBC_2.12 strpbrk F
+GLIBC_2.12 strptime F
+GLIBC_2.12 strptime_l F
+GLIBC_2.12 strrchr F
+GLIBC_2.12 strsep F
+GLIBC_2.12 strsignal F
+GLIBC_2.12 strspn F
+GLIBC_2.12 strstr F
+GLIBC_2.12 strtod F
+GLIBC_2.12 strtod_l F
+GLIBC_2.12 strtof F
+GLIBC_2.12 strtof_l F
+GLIBC_2.12 strtoimax F
+GLIBC_2.12 strtok F
+GLIBC_2.12 strtok_r F
+GLIBC_2.12 strtol F
+GLIBC_2.12 strtol_l F
+GLIBC_2.12 strtold F
+GLIBC_2.12 strtold_l F
+GLIBC_2.12 strtoll F
+GLIBC_2.12 strtoll_l F
+GLIBC_2.12 strtoq F
+GLIBC_2.12 strtoul F
+GLIBC_2.12 strtoul_l F
+GLIBC_2.12 strtoull F
+GLIBC_2.12 strtoull_l F
+GLIBC_2.12 strtoumax F
+GLIBC_2.12 strtouq F
+GLIBC_2.12 strverscmp F
+GLIBC_2.12 strxfrm F
+GLIBC_2.12 strxfrm_l F
+GLIBC_2.12 stty F
+GLIBC_2.12 svc_exit F
+GLIBC_2.12 svc_fdset D 0x80
+GLIBC_2.12 svc_getreq F
+GLIBC_2.12 svc_getreq_common F
+GLIBC_2.12 svc_getreq_poll F
+GLIBC_2.12 svc_getreqset F
+GLIBC_2.12 svc_max_pollfd D 0x4
+GLIBC_2.12 svc_pollfd D 0x8
+GLIBC_2.12 svc_register F
+GLIBC_2.12 svc_run F
+GLIBC_2.12 svc_sendreply F
+GLIBC_2.12 svc_unregister F
+GLIBC_2.12 svcauthdes_stats D 0x18
+GLIBC_2.12 svcerr_auth F
+GLIBC_2.12 svcerr_decode F
+GLIBC_2.12 svcerr_noproc F
+GLIBC_2.12 svcerr_noprog F
+GLIBC_2.12 svcerr_progvers F
+GLIBC_2.12 svcerr_systemerr F
+GLIBC_2.12 svcerr_weakauth F
+GLIBC_2.12 svcfd_create F
+GLIBC_2.12 svcraw_create F
+GLIBC_2.12 svctcp_create F
+GLIBC_2.12 svcudp_bufcreate F
+GLIBC_2.12 svcudp_create F
+GLIBC_2.12 svcudp_enablecache F
+GLIBC_2.12 svcunix_create F
+GLIBC_2.12 svcunixfd_create F
+GLIBC_2.12 swab F
+GLIBC_2.12 swapcontext F
+GLIBC_2.12 swapoff F
+GLIBC_2.12 swapon F
+GLIBC_2.12 swprintf F
+GLIBC_2.12 swscanf F
+GLIBC_2.12 symlink F
+GLIBC_2.12 symlinkat F
+GLIBC_2.12 sync F
+GLIBC_2.12 sync_file_range F
+GLIBC_2.12 sys_errlist D 0x438
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.12 sys_sigabbrev D 0x208
+GLIBC_2.12 sys_siglist D 0x208
+GLIBC_2.12 syscall F
+GLIBC_2.12 sysconf F
+GLIBC_2.12 sysctl F
+GLIBC_2.12 sysinfo F
+GLIBC_2.12 syslog F
+GLIBC_2.12 system F
+GLIBC_2.12 sysv_signal F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 tcflow F
+GLIBC_2.12 tcflush F
+GLIBC_2.12 tcgetattr F
+GLIBC_2.12 tcgetpgrp F
+GLIBC_2.12 tcgetsid F
+GLIBC_2.12 tcsendbreak F
+GLIBC_2.12 tcsetattr F
+GLIBC_2.12 tcsetpgrp F
+GLIBC_2.12 tdelete F
+GLIBC_2.12 tdestroy F
+GLIBC_2.12 tee F
+GLIBC_2.12 telldir F
+GLIBC_2.12 tempnam F
+GLIBC_2.12 textdomain F
+GLIBC_2.12 tfind F
+GLIBC_2.12 time F
+GLIBC_2.12 timegm F
+GLIBC_2.12 timelocal F
+GLIBC_2.12 timerfd_create F
+GLIBC_2.12 timerfd_gettime F
+GLIBC_2.12 timerfd_settime F
+GLIBC_2.12 times F
+GLIBC_2.12 timezone D 0x8
+GLIBC_2.12 tmpfile F
+GLIBC_2.12 tmpfile64 F
+GLIBC_2.12 tmpnam F
+GLIBC_2.12 tmpnam_r F
+GLIBC_2.12 toascii F
+GLIBC_2.12 tolower F
+GLIBC_2.12 tolower_l F
+GLIBC_2.12 toupper F
+GLIBC_2.12 toupper_l F
+GLIBC_2.12 towctrans F
+GLIBC_2.12 towctrans_l F
+GLIBC_2.12 towlower F
+GLIBC_2.12 towlower_l F
+GLIBC_2.12 towupper F
+GLIBC_2.12 towupper_l F
+GLIBC_2.12 tr_break F
+GLIBC_2.12 truncate F
+GLIBC_2.12 truncate64 F
+GLIBC_2.12 tsearch F
+GLIBC_2.12 ttyname F
+GLIBC_2.12 ttyname_r F
+GLIBC_2.12 ttyslot F
+GLIBC_2.12 twalk F
+GLIBC_2.12 tzname D 0x10
+GLIBC_2.12 tzset F
+GLIBC_2.12 ualarm F
+GLIBC_2.12 ulckpwdf F
+GLIBC_2.12 ulimit F
+GLIBC_2.12 umask F
+GLIBC_2.12 umount F
+GLIBC_2.12 umount2 F
+GLIBC_2.12 uname F
+GLIBC_2.12 ungetc F
+GLIBC_2.12 ungetwc F
+GLIBC_2.12 unlink F
+GLIBC_2.12 unlinkat F
+GLIBC_2.12 unlockpt F
+GLIBC_2.12 unsetenv F
+GLIBC_2.12 unshare F
+GLIBC_2.12 updwtmp F
+GLIBC_2.12 updwtmpx F
+GLIBC_2.12 uselib F
+GLIBC_2.12 uselocale F
+GLIBC_2.12 user2netname F
+GLIBC_2.12 usleep F
+GLIBC_2.12 ustat F
+GLIBC_2.12 utime F
+GLIBC_2.12 utimensat F
+GLIBC_2.12 utimes F
+GLIBC_2.12 utmpname F
+GLIBC_2.12 utmpxname F
+GLIBC_2.12 valloc F
+GLIBC_2.12 vasprintf F
+GLIBC_2.12 vdprintf F
+GLIBC_2.12 verr F
+GLIBC_2.12 verrx F
+GLIBC_2.12 versionsort F
+GLIBC_2.12 versionsort64 F
+GLIBC_2.12 vfork F
+GLIBC_2.12 vfprintf F
+GLIBC_2.12 vfscanf F
+GLIBC_2.12 vfwprintf F
+GLIBC_2.12 vfwscanf F
+GLIBC_2.12 vhangup F
+GLIBC_2.12 vlimit F
+GLIBC_2.12 vmsplice F
+GLIBC_2.12 vprintf F
+GLIBC_2.12 vscanf F
+GLIBC_2.12 vsnprintf F
+GLIBC_2.12 vsprintf F
+GLIBC_2.12 vsscanf F
+GLIBC_2.12 vswprintf F
+GLIBC_2.12 vswscanf F
+GLIBC_2.12 vsyslog F
+GLIBC_2.12 vtimes F
+GLIBC_2.12 vwarn F
+GLIBC_2.12 vwarnx F
+GLIBC_2.12 vwprintf F
+GLIBC_2.12 vwscanf F
+GLIBC_2.12 wait F
+GLIBC_2.12 wait3 F
+GLIBC_2.12 wait4 F
+GLIBC_2.12 waitid F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 warn F
+GLIBC_2.12 warnx F
+GLIBC_2.12 wcpcpy F
+GLIBC_2.12 wcpncpy F
+GLIBC_2.12 wcrtomb F
+GLIBC_2.12 wcscasecmp F
+GLIBC_2.12 wcscasecmp_l F
+GLIBC_2.12 wcscat F
+GLIBC_2.12 wcschr F
+GLIBC_2.12 wcschrnul F
+GLIBC_2.12 wcscmp F
+GLIBC_2.12 wcscoll F
+GLIBC_2.12 wcscoll_l F
+GLIBC_2.12 wcscpy F
+GLIBC_2.12 wcscspn F
+GLIBC_2.12 wcsdup F
+GLIBC_2.12 wcsftime F
+GLIBC_2.12 wcsftime_l F
+GLIBC_2.12 wcslen F
+GLIBC_2.12 wcsncasecmp F
+GLIBC_2.12 wcsncasecmp_l F
+GLIBC_2.12 wcsncat F
+GLIBC_2.12 wcsncmp F
+GLIBC_2.12 wcsncpy F
+GLIBC_2.12 wcsnlen F
+GLIBC_2.12 wcsnrtombs F
+GLIBC_2.12 wcspbrk F
+GLIBC_2.12 wcsrchr F
+GLIBC_2.12 wcsrtombs F
+GLIBC_2.12 wcsspn F
+GLIBC_2.12 wcsstr F
+GLIBC_2.12 wcstod F
+GLIBC_2.12 wcstod_l F
+GLIBC_2.12 wcstof F
+GLIBC_2.12 wcstof_l F
+GLIBC_2.12 wcstoimax F
+GLIBC_2.12 wcstok F
+GLIBC_2.12 wcstol F
+GLIBC_2.12 wcstol_l F
+GLIBC_2.12 wcstold F
+GLIBC_2.12 wcstold_l F
+GLIBC_2.12 wcstoll F
+GLIBC_2.12 wcstoll_l F
+GLIBC_2.12 wcstombs F
+GLIBC_2.12 wcstoq F
+GLIBC_2.12 wcstoul F
+GLIBC_2.12 wcstoul_l F
+GLIBC_2.12 wcstoull F
+GLIBC_2.12 wcstoull_l F
+GLIBC_2.12 wcstoumax F
+GLIBC_2.12 wcstouq F
+GLIBC_2.12 wcswcs F
+GLIBC_2.12 wcswidth F
+GLIBC_2.12 wcsxfrm F
+GLIBC_2.12 wcsxfrm_l F
+GLIBC_2.12 wctob F
+GLIBC_2.12 wctomb F
+GLIBC_2.12 wctrans F
+GLIBC_2.12 wctrans_l F
+GLIBC_2.12 wctype F
+GLIBC_2.12 wctype_l F
+GLIBC_2.12 wcwidth F
+GLIBC_2.12 wmemchr F
+GLIBC_2.12 wmemcmp F
+GLIBC_2.12 wmemcpy F
+GLIBC_2.12 wmemmove F
+GLIBC_2.12 wmempcpy F
+GLIBC_2.12 wmemset F
+GLIBC_2.12 wordexp F
+GLIBC_2.12 wordfree F
+GLIBC_2.12 wprintf F
+GLIBC_2.12 write F
+GLIBC_2.12 writev F
+GLIBC_2.12 wscanf F
+GLIBC_2.12 xdecrypt F
+GLIBC_2.12 xdr_accepted_reply F
+GLIBC_2.12 xdr_array F
+GLIBC_2.12 xdr_authdes_cred F
+GLIBC_2.12 xdr_authdes_verf F
+GLIBC_2.12 xdr_authunix_parms F
+GLIBC_2.12 xdr_bool F
+GLIBC_2.12 xdr_bytes F
+GLIBC_2.12 xdr_callhdr F
+GLIBC_2.12 xdr_callmsg F
+GLIBC_2.12 xdr_char F
+GLIBC_2.12 xdr_cryptkeyarg F
+GLIBC_2.12 xdr_cryptkeyarg2 F
+GLIBC_2.12 xdr_cryptkeyres F
+GLIBC_2.12 xdr_des_block F
+GLIBC_2.12 xdr_double F
+GLIBC_2.12 xdr_enum F
+GLIBC_2.12 xdr_float F
+GLIBC_2.12 xdr_free F
+GLIBC_2.12 xdr_getcredres F
+GLIBC_2.12 xdr_hyper F
+GLIBC_2.12 xdr_int F
+GLIBC_2.12 xdr_int16_t F
+GLIBC_2.12 xdr_int32_t F
+GLIBC_2.12 xdr_int64_t F
+GLIBC_2.12 xdr_int8_t F
+GLIBC_2.12 xdr_key_netstarg F
+GLIBC_2.12 xdr_key_netstres F
+GLIBC_2.12 xdr_keybuf F
+GLIBC_2.12 xdr_keystatus F
+GLIBC_2.12 xdr_long F
+GLIBC_2.12 xdr_longlong_t F
+GLIBC_2.12 xdr_netnamestr F
+GLIBC_2.12 xdr_netobj F
+GLIBC_2.12 xdr_opaque F
+GLIBC_2.12 xdr_opaque_auth F
+GLIBC_2.12 xdr_pmap F
+GLIBC_2.12 xdr_pmaplist F
+GLIBC_2.12 xdr_pointer F
+GLIBC_2.12 xdr_quad_t F
+GLIBC_2.12 xdr_reference F
+GLIBC_2.12 xdr_rejected_reply F
+GLIBC_2.12 xdr_replymsg F
+GLIBC_2.12 xdr_rmtcall_args F
+GLIBC_2.12 xdr_rmtcallres F
+GLIBC_2.12 xdr_short F
+GLIBC_2.12 xdr_sizeof F
+GLIBC_2.12 xdr_string F
+GLIBC_2.12 xdr_u_char F
+GLIBC_2.12 xdr_u_hyper F
+GLIBC_2.12 xdr_u_int F
+GLIBC_2.12 xdr_u_long F
+GLIBC_2.12 xdr_u_longlong_t F
+GLIBC_2.12 xdr_u_quad_t F
+GLIBC_2.12 xdr_u_short F
+GLIBC_2.12 xdr_uint16_t F
+GLIBC_2.12 xdr_uint32_t F
+GLIBC_2.12 xdr_uint64_t F
+GLIBC_2.12 xdr_uint8_t F
+GLIBC_2.12 xdr_union F
+GLIBC_2.12 xdr_unixcred F
+GLIBC_2.12 xdr_vector F
+GLIBC_2.12 xdr_void F
+GLIBC_2.12 xdr_wrapstring F
+GLIBC_2.12 xdrmem_create F
+GLIBC_2.12 xdrrec_create F
+GLIBC_2.12 xdrrec_endofrecord F
+GLIBC_2.12 xdrrec_eof F
+GLIBC_2.12 xdrrec_skiprecord F
+GLIBC_2.12 xdrstdio_create F
+GLIBC_2.12 xencrypt F
+GLIBC_2.12 xprt_register F
+GLIBC_2.12 xprt_unregister F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 clock_adjtime F
+GLIBC_2.15 fanotify_init F
+GLIBC_2.15 fanotify_mark F
+GLIBC_2.15 name_to_handle_at F
+GLIBC_2.15 open_by_handle_at F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 prlimit F
+GLIBC_2.15 prlimit64 F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.15 sendmmsg F
+GLIBC_2.15 setns F
+GLIBC_2.15 syncfs F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist
new file mode 100644
index 0000000000..d5643802b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 crypt F
+GLIBC_2.12 crypt_r F
+GLIBC_2.12 encrypt F
+GLIBC_2.12 encrypt_r F
+GLIBC_2.12 fcrypt F
+GLIBC_2.12 setkey F
+GLIBC_2.12 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist
new file mode 100644
index 0000000000..cabc30c239
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 dladdr F
+GLIBC_2.12 dladdr1 F
+GLIBC_2.12 dlclose F
+GLIBC_2.12 dlerror F
+GLIBC_2.12 dlinfo F
+GLIBC_2.12 dlmopen F
+GLIBC_2.12 dlopen F
+GLIBC_2.12 dlsym F
+GLIBC_2.12 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
new file mode 100644
index 0000000000..0059c27fa2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
@@ -0,0 +1,431 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _LIB_VERSION D 0x4
+GLIBC_2.12 __clog10 F
+GLIBC_2.12 __clog10f F
+GLIBC_2.12 __clog10l F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __fpclassify F
+GLIBC_2.12 __fpclassifyf F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 acos F
+GLIBC_2.12 acosf F
+GLIBC_2.12 acosh F
+GLIBC_2.12 acoshf F
+GLIBC_2.12 acoshl F
+GLIBC_2.12 acosl F
+GLIBC_2.12 asin F
+GLIBC_2.12 asinf F
+GLIBC_2.12 asinh F
+GLIBC_2.12 asinhf F
+GLIBC_2.12 asinhl F
+GLIBC_2.12 asinl F
+GLIBC_2.12 atan F
+GLIBC_2.12 atan2 F
+GLIBC_2.12 atan2f F
+GLIBC_2.12 atan2l F
+GLIBC_2.12 atanf F
+GLIBC_2.12 atanh F
+GLIBC_2.12 atanhf F
+GLIBC_2.12 atanhl F
+GLIBC_2.12 atanl F
+GLIBC_2.12 cabs F
+GLIBC_2.12 cabsf F
+GLIBC_2.12 cabsl F
+GLIBC_2.12 cacos F
+GLIBC_2.12 cacosf F
+GLIBC_2.12 cacosh F
+GLIBC_2.12 cacoshf F
+GLIBC_2.12 cacoshl F
+GLIBC_2.12 cacosl F
+GLIBC_2.12 carg F
+GLIBC_2.12 cargf F
+GLIBC_2.12 cargl F
+GLIBC_2.12 casin F
+GLIBC_2.12 casinf F
+GLIBC_2.12 casinh F
+GLIBC_2.12 casinhf F
+GLIBC_2.12 casinhl F
+GLIBC_2.12 casinl F
+GLIBC_2.12 catan F
+GLIBC_2.12 catanf F
+GLIBC_2.12 catanh F
+GLIBC_2.12 catanhf F
+GLIBC_2.12 catanhl F
+GLIBC_2.12 catanl F
+GLIBC_2.12 cbrt F
+GLIBC_2.12 cbrtf F
+GLIBC_2.12 cbrtl F
+GLIBC_2.12 ccos F
+GLIBC_2.12 ccosf F
+GLIBC_2.12 ccosh F
+GLIBC_2.12 ccoshf F
+GLIBC_2.12 ccoshl F
+GLIBC_2.12 ccosl F
+GLIBC_2.12 ceil F
+GLIBC_2.12 ceilf F
+GLIBC_2.12 ceill F
+GLIBC_2.12 cexp F
+GLIBC_2.12 cexpf F
+GLIBC_2.12 cexpl F
+GLIBC_2.12 cimag F
+GLIBC_2.12 cimagf F
+GLIBC_2.12 cimagl F
+GLIBC_2.12 clog F
+GLIBC_2.12 clog10 F
+GLIBC_2.12 clog10f F
+GLIBC_2.12 clog10l F
+GLIBC_2.12 clogf F
+GLIBC_2.12 clogl F
+GLIBC_2.12 conj F
+GLIBC_2.12 conjf F
+GLIBC_2.12 conjl F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 cos F
+GLIBC_2.12 cosf F
+GLIBC_2.12 cosh F
+GLIBC_2.12 coshf F
+GLIBC_2.12 coshl F
+GLIBC_2.12 cosl F
+GLIBC_2.12 cpow F
+GLIBC_2.12 cpowf F
+GLIBC_2.12 cpowl F
+GLIBC_2.12 cproj F
+GLIBC_2.12 cprojf F
+GLIBC_2.12 cprojl F
+GLIBC_2.12 creal F
+GLIBC_2.12 crealf F
+GLIBC_2.12 creall F
+GLIBC_2.12 csin F
+GLIBC_2.12 csinf F
+GLIBC_2.12 csinh F
+GLIBC_2.12 csinhf F
+GLIBC_2.12 csinhl F
+GLIBC_2.12 csinl F
+GLIBC_2.12 csqrt F
+GLIBC_2.12 csqrtf F
+GLIBC_2.12 csqrtl F
+GLIBC_2.12 ctan F
+GLIBC_2.12 ctanf F
+GLIBC_2.12 ctanh F
+GLIBC_2.12 ctanhf F
+GLIBC_2.12 ctanhl F
+GLIBC_2.12 ctanl F
+GLIBC_2.12 drem F
+GLIBC_2.12 dremf F
+GLIBC_2.12 dreml F
+GLIBC_2.12 erf F
+GLIBC_2.12 erfc F
+GLIBC_2.12 erfcf F
+GLIBC_2.12 erfcl F
+GLIBC_2.12 erff F
+GLIBC_2.12 erfl F
+GLIBC_2.12 exp F
+GLIBC_2.12 exp10 F
+GLIBC_2.12 exp10f F
+GLIBC_2.12 exp10l F
+GLIBC_2.12 exp2 F
+GLIBC_2.12 exp2f F
+GLIBC_2.12 exp2l F
+GLIBC_2.12 expf F
+GLIBC_2.12 expl F
+GLIBC_2.12 expm1 F
+GLIBC_2.12 expm1f F
+GLIBC_2.12 expm1l F
+GLIBC_2.12 fabs F
+GLIBC_2.12 fabsf F
+GLIBC_2.12 fabsl F
+GLIBC_2.12 fdim F
+GLIBC_2.12 fdimf F
+GLIBC_2.12 fdiml F
+GLIBC_2.12 feclearexcept F
+GLIBC_2.12 fedisableexcept F
+GLIBC_2.12 feenableexcept F
+GLIBC_2.12 fegetenv F
+GLIBC_2.12 fegetexcept F
+GLIBC_2.12 fegetexceptflag F
+GLIBC_2.12 fegetround F
+GLIBC_2.12 feholdexcept F
+GLIBC_2.12 feraiseexcept F
+GLIBC_2.12 fesetenv F
+GLIBC_2.12 fesetexceptflag F
+GLIBC_2.12 fesetround F
+GLIBC_2.12 fetestexcept F
+GLIBC_2.12 feupdateenv F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 floor F
+GLIBC_2.12 floorf F
+GLIBC_2.12 floorl F
+GLIBC_2.12 fma F
+GLIBC_2.12 fmaf F
+GLIBC_2.12 fmal F
+GLIBC_2.12 fmax F
+GLIBC_2.12 fmaxf F
+GLIBC_2.12 fmaxl F
+GLIBC_2.12 fmin F
+GLIBC_2.12 fminf F
+GLIBC_2.12 fminl F
+GLIBC_2.12 fmod F
+GLIBC_2.12 fmodf F
+GLIBC_2.12 fmodl F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 gamma F
+GLIBC_2.12 gammaf F
+GLIBC_2.12 gammal F
+GLIBC_2.12 hypot F
+GLIBC_2.12 hypotf F
+GLIBC_2.12 hypotl F
+GLIBC_2.12 ilogb F
+GLIBC_2.12 ilogbf F
+GLIBC_2.12 ilogbl F
+GLIBC_2.12 j0 F
+GLIBC_2.12 j0f F
+GLIBC_2.12 j0l F
+GLIBC_2.12 j1 F
+GLIBC_2.12 j1f F
+GLIBC_2.12 j1l F
+GLIBC_2.12 jn F
+GLIBC_2.12 jnf F
+GLIBC_2.12 jnl F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 lgamma F
+GLIBC_2.12 lgamma_r F
+GLIBC_2.12 lgammaf F
+GLIBC_2.12 lgammaf_r F
+GLIBC_2.12 lgammal F
+GLIBC_2.12 lgammal_r F
+GLIBC_2.12 llrint F
+GLIBC_2.12 llrintf F
+GLIBC_2.12 llrintl F
+GLIBC_2.12 llround F
+GLIBC_2.12 llroundf F
+GLIBC_2.12 llroundl F
+GLIBC_2.12 log F
+GLIBC_2.12 log10 F
+GLIBC_2.12 log10f F
+GLIBC_2.12 log10l F
+GLIBC_2.12 log1p F
+GLIBC_2.12 log1pf F
+GLIBC_2.12 log1pl F
+GLIBC_2.12 log2 F
+GLIBC_2.12 log2f F
+GLIBC_2.12 log2l F
+GLIBC_2.12 logb F
+GLIBC_2.12 logbf F
+GLIBC_2.12 logbl F
+GLIBC_2.12 logf F
+GLIBC_2.12 logl F
+GLIBC_2.12 lrint F
+GLIBC_2.12 lrintf F
+GLIBC_2.12 lrintl F
+GLIBC_2.12 lround F
+GLIBC_2.12 lroundf F
+GLIBC_2.12 lroundl F
+GLIBC_2.12 matherr F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 nan F
+GLIBC_2.12 nanf F
+GLIBC_2.12 nanl F
+GLIBC_2.12 nearbyint F
+GLIBC_2.12 nearbyintf F
+GLIBC_2.12 nearbyintl F
+GLIBC_2.12 nextafter F
+GLIBC_2.12 nextafterf F
+GLIBC_2.12 nextafterl F
+GLIBC_2.12 nexttoward F
+GLIBC_2.12 nexttowardf F
+GLIBC_2.12 nexttowardl F
+GLIBC_2.12 pow F
+GLIBC_2.12 pow10 F
+GLIBC_2.12 pow10f F
+GLIBC_2.12 pow10l F
+GLIBC_2.12 powf F
+GLIBC_2.12 powl F
+GLIBC_2.12 remainder F
+GLIBC_2.12 remainderf F
+GLIBC_2.12 remainderl F
+GLIBC_2.12 remquo F
+GLIBC_2.12 remquof F
+GLIBC_2.12 remquol F
+GLIBC_2.12 rint F
+GLIBC_2.12 rintf F
+GLIBC_2.12 rintl F
+GLIBC_2.12 round F
+GLIBC_2.12 roundf F
+GLIBC_2.12 roundl F
+GLIBC_2.12 scalb F
+GLIBC_2.12 scalbf F
+GLIBC_2.12 scalbl F
+GLIBC_2.12 scalbln F
+GLIBC_2.12 scalblnf F
+GLIBC_2.12 scalblnl F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 signgam D 0x4
+GLIBC_2.12 significand F
+GLIBC_2.12 significandf F
+GLIBC_2.12 significandl F
+GLIBC_2.12 sin F
+GLIBC_2.12 sincos F
+GLIBC_2.12 sincosf F
+GLIBC_2.12 sincosl F
+GLIBC_2.12 sinf F
+GLIBC_2.12 sinh F
+GLIBC_2.12 sinhf F
+GLIBC_2.12 sinhl F
+GLIBC_2.12 sinl F
+GLIBC_2.12 sqrt F
+GLIBC_2.12 sqrtf F
+GLIBC_2.12 sqrtl F
+GLIBC_2.12 tan F
+GLIBC_2.12 tanf F
+GLIBC_2.12 tanh F
+GLIBC_2.12 tanhf F
+GLIBC_2.12 tanhl F
+GLIBC_2.12 tanl F
+GLIBC_2.12 tgamma F
+GLIBC_2.12 tgammaf F
+GLIBC_2.12 tgammal F
+GLIBC_2.12 trunc F
+GLIBC_2.12 truncf F
+GLIBC_2.12 truncl F
+GLIBC_2.12 y0 F
+GLIBC_2.12 y0f F
+GLIBC_2.12 y0l F
+GLIBC_2.12 y1 F
+GLIBC_2.12 y1f F
+GLIBC_2.12 y1l F
+GLIBC_2.12 yn F
+GLIBC_2.12 ynf F
+GLIBC_2.12 ynl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist
new file mode 100644
index 0000000000..0277e5c1a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __free_fdresult F
+GLIBC_2.12 __nis_default_access F
+GLIBC_2.12 __nis_default_group F
+GLIBC_2.12 __nis_default_owner F
+GLIBC_2.12 __nis_default_ttl F
+GLIBC_2.12 __nis_finddirectory F
+GLIBC_2.12 __nis_hash F
+GLIBC_2.12 __nisbind_connect F
+GLIBC_2.12 __nisbind_create F
+GLIBC_2.12 __nisbind_destroy F
+GLIBC_2.12 __nisbind_next F
+GLIBC_2.12 __yp_check F
+GLIBC_2.12 nis_add F
+GLIBC_2.12 nis_add_entry F
+GLIBC_2.12 nis_addmember F
+GLIBC_2.12 nis_checkpoint F
+GLIBC_2.12 nis_clone_directory F
+GLIBC_2.12 nis_clone_object F
+GLIBC_2.12 nis_clone_result F
+GLIBC_2.12 nis_creategroup F
+GLIBC_2.12 nis_destroy_object F
+GLIBC_2.12 nis_destroygroup F
+GLIBC_2.12 nis_dir_cmp F
+GLIBC_2.12 nis_domain_of F
+GLIBC_2.12 nis_domain_of_r F
+GLIBC_2.12 nis_first_entry F
+GLIBC_2.12 nis_free_directory F
+GLIBC_2.12 nis_free_object F
+GLIBC_2.12 nis_free_request F
+GLIBC_2.12 nis_freenames F
+GLIBC_2.12 nis_freeresult F
+GLIBC_2.12 nis_freeservlist F
+GLIBC_2.12 nis_freetags F
+GLIBC_2.12 nis_getnames F
+GLIBC_2.12 nis_getservlist F
+GLIBC_2.12 nis_ismember F
+GLIBC_2.12 nis_leaf_of F
+GLIBC_2.12 nis_leaf_of_r F
+GLIBC_2.12 nis_lerror F
+GLIBC_2.12 nis_list F
+GLIBC_2.12 nis_local_directory F
+GLIBC_2.12 nis_local_group F
+GLIBC_2.12 nis_local_host F
+GLIBC_2.12 nis_local_principal F
+GLIBC_2.12 nis_lookup F
+GLIBC_2.12 nis_mkdir F
+GLIBC_2.12 nis_modify F
+GLIBC_2.12 nis_modify_entry F
+GLIBC_2.12 nis_name_of F
+GLIBC_2.12 nis_name_of_r F
+GLIBC_2.12 nis_next_entry F
+GLIBC_2.12 nis_perror F
+GLIBC_2.12 nis_ping F
+GLIBC_2.12 nis_print_directory F
+GLIBC_2.12 nis_print_entry F
+GLIBC_2.12 nis_print_group F
+GLIBC_2.12 nis_print_group_entry F
+GLIBC_2.12 nis_print_link F
+GLIBC_2.12 nis_print_object F
+GLIBC_2.12 nis_print_result F
+GLIBC_2.12 nis_print_rights F
+GLIBC_2.12 nis_print_table F
+GLIBC_2.12 nis_read_obj F
+GLIBC_2.12 nis_remove F
+GLIBC_2.12 nis_remove_entry F
+GLIBC_2.12 nis_removemember F
+GLIBC_2.12 nis_rmdir F
+GLIBC_2.12 nis_servstate F
+GLIBC_2.12 nis_sperrno F
+GLIBC_2.12 nis_sperror F
+GLIBC_2.12 nis_sperror_r F
+GLIBC_2.12 nis_stats F
+GLIBC_2.12 nis_verifygroup F
+GLIBC_2.12 nis_write_obj F
+GLIBC_2.12 readColdStartFile F
+GLIBC_2.12 writeColdStartFile F
+GLIBC_2.12 xdr_cback_data F
+GLIBC_2.12 xdr_domainname F
+GLIBC_2.12 xdr_keydat F
+GLIBC_2.12 xdr_mapname F
+GLIBC_2.12 xdr_obj_p F
+GLIBC_2.12 xdr_peername F
+GLIBC_2.12 xdr_valdat F
+GLIBC_2.12 xdr_yp_buf F
+GLIBC_2.12 xdr_ypall F
+GLIBC_2.12 xdr_ypbind_binding F
+GLIBC_2.12 xdr_ypbind_resp F
+GLIBC_2.12 xdr_ypbind_resptype F
+GLIBC_2.12 xdr_ypbind_setdom F
+GLIBC_2.12 xdr_ypdelete_args F
+GLIBC_2.12 xdr_ypmap_parms F
+GLIBC_2.12 xdr_ypmaplist F
+GLIBC_2.12 xdr_yppush_status F
+GLIBC_2.12 xdr_yppushresp_xfr F
+GLIBC_2.12 xdr_ypreq_key F
+GLIBC_2.12 xdr_ypreq_nokey F
+GLIBC_2.12 xdr_ypreq_xfr F
+GLIBC_2.12 xdr_ypresp_all F
+GLIBC_2.12 xdr_ypresp_key_val F
+GLIBC_2.12 xdr_ypresp_maplist F
+GLIBC_2.12 xdr_ypresp_master F
+GLIBC_2.12 xdr_ypresp_order F
+GLIBC_2.12 xdr_ypresp_val F
+GLIBC_2.12 xdr_ypresp_xfr F
+GLIBC_2.12 xdr_ypstat F
+GLIBC_2.12 xdr_ypupdate_args F
+GLIBC_2.12 xdr_ypxfrstat F
+GLIBC_2.12 yp_all F
+GLIBC_2.12 yp_bind F
+GLIBC_2.12 yp_first F
+GLIBC_2.12 yp_get_default_domain F
+GLIBC_2.12 yp_maplist F
+GLIBC_2.12 yp_master F
+GLIBC_2.12 yp_match F
+GLIBC_2.12 yp_next F
+GLIBC_2.12 yp_order F
+GLIBC_2.12 yp_unbind F
+GLIBC_2.12 yp_update F
+GLIBC_2.12 ypbinderr_string F
+GLIBC_2.12 yperr_string F
+GLIBC_2.12 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist
new file mode 100644
index 0000000000..d16158f938
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 __close F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pthread_cleanup_routine F
+GLIBC_2.12 __pthread_getspecific F
+GLIBC_2.12 __pthread_key_create F
+GLIBC_2.12 __pthread_mutex_destroy F
+GLIBC_2.12 __pthread_mutex_init F
+GLIBC_2.12 __pthread_mutex_lock F
+GLIBC_2.12 __pthread_mutex_trylock F
+GLIBC_2.12 __pthread_mutex_unlock F
+GLIBC_2.12 __pthread_mutexattr_destroy F
+GLIBC_2.12 __pthread_mutexattr_init F
+GLIBC_2.12 __pthread_mutexattr_settype F
+GLIBC_2.12 __pthread_once F
+GLIBC_2.12 __pthread_register_cancel F
+GLIBC_2.12 __pthread_register_cancel_defer F
+GLIBC_2.12 __pthread_rwlock_destroy F
+GLIBC_2.12 __pthread_rwlock_init F
+GLIBC_2.12 __pthread_rwlock_rdlock F
+GLIBC_2.12 __pthread_rwlock_tryrdlock F
+GLIBC_2.12 __pthread_rwlock_trywrlock F
+GLIBC_2.12 __pthread_rwlock_unlock F
+GLIBC_2.12 __pthread_rwlock_wrlock F
+GLIBC_2.12 __pthread_setspecific F
+GLIBC_2.12 __pthread_unregister_cancel F
+GLIBC_2.12 __pthread_unregister_cancel_restore F
+GLIBC_2.12 __pthread_unwind_next F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __read F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __send F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __write F
+GLIBC_2.12 _pthread_cleanup_pop F
+GLIBC_2.12 _pthread_cleanup_pop_restore F
+GLIBC_2.12 _pthread_cleanup_push F
+GLIBC_2.12 _pthread_cleanup_push_defer F
+GLIBC_2.12 accept F
+GLIBC_2.12 close F
+GLIBC_2.12 connect F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fork F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 msync F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 pause F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getaffinity_np F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getguardsize F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_getstack F
+GLIBC_2.12 pthread_attr_getstackaddr F
+GLIBC_2.12 pthread_attr_getstacksize F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setaffinity_np F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setguardsize F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_attr_setstack F
+GLIBC_2.12 pthread_attr_setstackaddr F
+GLIBC_2.12 pthread_attr_setstacksize F
+GLIBC_2.12 pthread_barrier_destroy F
+GLIBC_2.12 pthread_barrier_init F
+GLIBC_2.12 pthread_barrier_wait F
+GLIBC_2.12 pthread_barrierattr_destroy F
+GLIBC_2.12 pthread_barrierattr_getpshared F
+GLIBC_2.12 pthread_barrierattr_init F
+GLIBC_2.12 pthread_barrierattr_setpshared F
+GLIBC_2.12 pthread_cancel F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_getclock F
+GLIBC_2.12 pthread_condattr_getpshared F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_condattr_setclock F
+GLIBC_2.12 pthread_condattr_setpshared F
+GLIBC_2.12 pthread_create F
+GLIBC_2.12 pthread_detach F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getaffinity_np F
+GLIBC_2.12 pthread_getattr_np F
+GLIBC_2.12 pthread_getconcurrency F
+GLIBC_2.12 pthread_getcpuclockid F
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_getspecific F
+GLIBC_2.12 pthread_join F
+GLIBC_2.12 pthread_key_create F
+GLIBC_2.12 pthread_key_delete F
+GLIBC_2.12 pthread_kill F
+GLIBC_2.12 pthread_kill_other_threads_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutex_consistent_np F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_getprioceiling F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_setprioceiling F
+GLIBC_2.12 pthread_mutex_timedlock F
+GLIBC_2.12 pthread_mutex_trylock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_mutexattr_destroy F
+GLIBC_2.12 pthread_mutexattr_getkind_np F
+GLIBC_2.12 pthread_mutexattr_getprioceiling F
+GLIBC_2.12 pthread_mutexattr_getprotocol F
+GLIBC_2.12 pthread_mutexattr_getpshared F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_getrobust_np F
+GLIBC_2.12 pthread_mutexattr_gettype F
+GLIBC_2.12 pthread_mutexattr_init F
+GLIBC_2.12 pthread_mutexattr_setkind_np F
+GLIBC_2.12 pthread_mutexattr_setprioceiling F
+GLIBC_2.12 pthread_mutexattr_setprotocol F
+GLIBC_2.12 pthread_mutexattr_setpshared F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust_np F
+GLIBC_2.12 pthread_mutexattr_settype F
+GLIBC_2.12 pthread_once F
+GLIBC_2.12 pthread_rwlock_destroy F
+GLIBC_2.12 pthread_rwlock_init F
+GLIBC_2.12 pthread_rwlock_rdlock F
+GLIBC_2.12 pthread_rwlock_timedrdlock F
+GLIBC_2.12 pthread_rwlock_timedwrlock F
+GLIBC_2.12 pthread_rwlock_tryrdlock F
+GLIBC_2.12 pthread_rwlock_trywrlock F
+GLIBC_2.12 pthread_rwlock_unlock F
+GLIBC_2.12 pthread_rwlock_wrlock F
+GLIBC_2.12 pthread_rwlockattr_destroy F
+GLIBC_2.12 pthread_rwlockattr_getkind_np F
+GLIBC_2.12 pthread_rwlockattr_getpshared F
+GLIBC_2.12 pthread_rwlockattr_init F
+GLIBC_2.12 pthread_rwlockattr_setkind_np F
+GLIBC_2.12 pthread_rwlockattr_setpshared F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setaffinity_np F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setconcurrency F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 pthread_setschedprio F
+GLIBC_2.12 pthread_setspecific F
+GLIBC_2.12 pthread_sigmask F
+GLIBC_2.12 pthread_sigqueue F
+GLIBC_2.12 pthread_spin_destroy F
+GLIBC_2.12 pthread_spin_init F
+GLIBC_2.12 pthread_spin_lock F
+GLIBC_2.12 pthread_spin_trylock F
+GLIBC_2.12 pthread_spin_unlock F
+GLIBC_2.12 pthread_testcancel F
+GLIBC_2.12 pthread_timedjoin_np F
+GLIBC_2.12 pthread_tryjoin_np F
+GLIBC_2.12 pthread_yield F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 raise F
+GLIBC_2.12 read F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 sem_close F
+GLIBC_2.12 sem_destroy F
+GLIBC_2.12 sem_getvalue F
+GLIBC_2.12 sem_init F
+GLIBC_2.12 sem_open F
+GLIBC_2.12 sem_post F
+GLIBC_2.12 sem_timedwait F
+GLIBC_2.12 sem_trywait F
+GLIBC_2.12 sem_unlink F
+GLIBC_2.12 sem_wait F
+GLIBC_2.12 send F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 system F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 vfork F
+GLIBC_2.12 wait F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist
new file mode 100644
index 0000000000..bd81642e3d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __b64_ntop F
+GLIBC_2.12 __b64_pton F
+GLIBC_2.12 __dn_comp F
+GLIBC_2.12 __dn_count_labels F
+GLIBC_2.12 __dn_expand F
+GLIBC_2.12 __dn_skipname F
+GLIBC_2.12 __fp_nquery F
+GLIBC_2.12 __fp_query F
+GLIBC_2.12 __fp_resstat F
+GLIBC_2.12 __hostalias F
+GLIBC_2.12 __loc_aton F
+GLIBC_2.12 __loc_ntoa F
+GLIBC_2.12 __p_cdname F
+GLIBC_2.12 __p_cdnname F
+GLIBC_2.12 __p_class F
+GLIBC_2.12 __p_class_syms D 0xa8
+GLIBC_2.12 __p_fqname F
+GLIBC_2.12 __p_fqnname F
+GLIBC_2.12 __p_option F
+GLIBC_2.12 __p_query F
+GLIBC_2.12 __p_rcode F
+GLIBC_2.12 __p_secstodate F
+GLIBC_2.12 __p_time F
+GLIBC_2.12 __p_type F
+GLIBC_2.12 __p_type_syms D 0x450
+GLIBC_2.12 __putlong F
+GLIBC_2.12 __putshort F
+GLIBC_2.12 __res_close F
+GLIBC_2.12 __res_dnok F
+GLIBC_2.12 __res_hnok F
+GLIBC_2.12 __res_hostalias F
+GLIBC_2.12 __res_isourserver F
+GLIBC_2.12 __res_mailok F
+GLIBC_2.12 __res_mkquery F
+GLIBC_2.12 __res_nameinquery F
+GLIBC_2.12 __res_nmkquery F
+GLIBC_2.12 __res_nquery F
+GLIBC_2.12 __res_nquerydomain F
+GLIBC_2.12 __res_nsearch F
+GLIBC_2.12 __res_nsend F
+GLIBC_2.12 __res_ownok F
+GLIBC_2.12 __res_queriesmatch F
+GLIBC_2.12 __res_query F
+GLIBC_2.12 __res_querydomain F
+GLIBC_2.12 __res_search F
+GLIBC_2.12 __res_send F
+GLIBC_2.12 __sym_ntop F
+GLIBC_2.12 __sym_ntos F
+GLIBC_2.12 __sym_ston F
+GLIBC_2.12 _gethtbyaddr F
+GLIBC_2.12 _gethtbyname F
+GLIBC_2.12 _gethtbyname2 F
+GLIBC_2.12 _gethtent F
+GLIBC_2.12 _getlong F
+GLIBC_2.12 _getshort F
+GLIBC_2.12 _res_opcodes D 0x80
+GLIBC_2.12 _sethtent F
+GLIBC_2.12 inet_net_ntop F
+GLIBC_2.12 inet_net_pton F
+GLIBC_2.12 inet_neta F
+GLIBC_2.12 ns_datetosecs F
+GLIBC_2.12 ns_format_ttl F
+GLIBC_2.12 ns_get16 F
+GLIBC_2.12 ns_get32 F
+GLIBC_2.12 ns_initparse F
+GLIBC_2.12 ns_makecanon F
+GLIBC_2.12 ns_msg_getflag F
+GLIBC_2.12 ns_name_compress F
+GLIBC_2.12 ns_name_ntol F
+GLIBC_2.12 ns_name_ntop F
+GLIBC_2.12 ns_name_pack F
+GLIBC_2.12 ns_name_pton F
+GLIBC_2.12 ns_name_rollback F
+GLIBC_2.12 ns_name_skip F
+GLIBC_2.12 ns_name_uncompress F
+GLIBC_2.12 ns_name_unpack F
+GLIBC_2.12 ns_parse_ttl F
+GLIBC_2.12 ns_parserr F
+GLIBC_2.12 ns_put16 F
+GLIBC_2.12 ns_put32 F
+GLIBC_2.12 ns_samedomain F
+GLIBC_2.12 ns_samename F
+GLIBC_2.12 ns_skiprr F
+GLIBC_2.12 ns_sprintrr F
+GLIBC_2.12 ns_sprintrrf F
+GLIBC_2.12 ns_subdomain F
+GLIBC_2.12 res_gethostbyaddr F
+GLIBC_2.12 res_gethostbyname F
+GLIBC_2.12 res_gethostbyname2 F
+GLIBC_2.12 res_send_setqhook F
+GLIBC_2.12 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist
new file mode 100644
index 0000000000..14f5c8245d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/librt.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __mq_open_2 F
+GLIBC_2.12 aio_cancel F
+GLIBC_2.12 aio_cancel64 F
+GLIBC_2.12 aio_error F
+GLIBC_2.12 aio_error64 F
+GLIBC_2.12 aio_fsync F
+GLIBC_2.12 aio_fsync64 F
+GLIBC_2.12 aio_init F
+GLIBC_2.12 aio_read F
+GLIBC_2.12 aio_read64 F
+GLIBC_2.12 aio_return F
+GLIBC_2.12 aio_return64 F
+GLIBC_2.12 aio_suspend F
+GLIBC_2.12 aio_suspend64 F
+GLIBC_2.12 aio_write F
+GLIBC_2.12 aio_write64 F
+GLIBC_2.12 clock_getcpuclockid F
+GLIBC_2.12 clock_getres F
+GLIBC_2.12 clock_gettime F
+GLIBC_2.12 clock_nanosleep F
+GLIBC_2.12 clock_settime F
+GLIBC_2.12 lio_listio F
+GLIBC_2.12 lio_listio64 F
+GLIBC_2.12 mq_close F
+GLIBC_2.12 mq_getattr F
+GLIBC_2.12 mq_notify F
+GLIBC_2.12 mq_open F
+GLIBC_2.12 mq_receive F
+GLIBC_2.12 mq_send F
+GLIBC_2.12 mq_setattr F
+GLIBC_2.12 mq_timedreceive F
+GLIBC_2.12 mq_timedsend F
+GLIBC_2.12 mq_unlink F
+GLIBC_2.12 shm_open F
+GLIBC_2.12 shm_unlink F
+GLIBC_2.12 timer_create F
+GLIBC_2.12 timer_delete F
+GLIBC_2.12 timer_getoverrun F
+GLIBC_2.12 timer_gettime F
+GLIBC_2.12 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist
new file mode 100644
index 0000000000..4aade0b7e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 td_init F
+GLIBC_2.12 td_log F
+GLIBC_2.12 td_symbol_list F
+GLIBC_2.12 td_ta_clear_event F
+GLIBC_2.12 td_ta_delete F
+GLIBC_2.12 td_ta_enable_stats F
+GLIBC_2.12 td_ta_event_addr F
+GLIBC_2.12 td_ta_event_getmsg F
+GLIBC_2.12 td_ta_get_nthreads F
+GLIBC_2.12 td_ta_get_ph F
+GLIBC_2.12 td_ta_get_stats F
+GLIBC_2.12 td_ta_map_id2thr F
+GLIBC_2.12 td_ta_map_lwp2thr F
+GLIBC_2.12 td_ta_new F
+GLIBC_2.12 td_ta_reset_stats F
+GLIBC_2.12 td_ta_set_event F
+GLIBC_2.12 td_ta_setconcurrency F
+GLIBC_2.12 td_ta_thr_iter F
+GLIBC_2.12 td_ta_tsd_iter F
+GLIBC_2.12 td_thr_clear_event F
+GLIBC_2.12 td_thr_dbresume F
+GLIBC_2.12 td_thr_dbsuspend F
+GLIBC_2.12 td_thr_event_enable F
+GLIBC_2.12 td_thr_event_getmsg F
+GLIBC_2.12 td_thr_get_info F
+GLIBC_2.12 td_thr_getfpregs F
+GLIBC_2.12 td_thr_getgregs F
+GLIBC_2.12 td_thr_getxregs F
+GLIBC_2.12 td_thr_getxregsize F
+GLIBC_2.12 td_thr_set_event F
+GLIBC_2.12 td_thr_setfpregs F
+GLIBC_2.12 td_thr_setgregs F
+GLIBC_2.12 td_thr_setprio F
+GLIBC_2.12 td_thr_setsigpending F
+GLIBC_2.12 td_thr_setxregs F
+GLIBC_2.12 td_thr_sigsetmask F
+GLIBC_2.12 td_thr_tls_get_addr F
+GLIBC_2.12 td_thr_tlsbase F
+GLIBC_2.12 td_thr_tsd F
+GLIBC_2.12 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist
new file mode 100644
index 0000000000..e4d432643c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 forkpty F
+GLIBC_2.12 login F
+GLIBC_2.12 login_tty F
+GLIBC_2.12 logout F
+GLIBC_2.12 logwtmp F
+GLIBC_2.12 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/Implies
new file mode 100644
index 0000000000..0023bb77aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/Implies
@@ -0,0 +1,3 @@
+unix/sysv/linux/tile
+unix/sysv/linux/generic/wordsize-32
+unix/sysv/linux/generic
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data
new file mode 100644
index 0000000000..303f4570c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:i
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist
new file mode 100644
index 0000000000..f166310147
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist
@@ -0,0 +1,9 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __libc_stack_end D 0x4
+GLIBC_2.12 __tls_get_addr F
+GLIBC_2.12 _dl_mcount F
+GLIBC_2.12 _r_debug D 0x14
+GLIBC_2.12 calloc F
+GLIBC_2.12 free F
+GLIBC_2.12 malloc F
+GLIBC_2.12 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h
new file mode 100644
index 0000000000..527825c106
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld.so.1", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist
new file mode 100644
index 0000000000..0d64827515
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist
new file mode 100644
index 0000000000..a3b1cc08bf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 gai_cancel F
+GLIBC_2.12 gai_error F
+GLIBC_2.12 gai_suspend F
+GLIBC_2.12 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
new file mode 100644
index 0000000000..41647d4610
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
@@ -0,0 +1,2112 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _Exit F
+GLIBC_2.12 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.12 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.12 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.12 _IO_adjust_column F
+GLIBC_2.12 _IO_adjust_wcolumn F
+GLIBC_2.12 _IO_default_doallocate F
+GLIBC_2.12 _IO_default_finish F
+GLIBC_2.12 _IO_default_pbackfail F
+GLIBC_2.12 _IO_default_uflow F
+GLIBC_2.12 _IO_default_xsgetn F
+GLIBC_2.12 _IO_default_xsputn F
+GLIBC_2.12 _IO_do_write F
+GLIBC_2.12 _IO_doallocbuf F
+GLIBC_2.12 _IO_fclose F
+GLIBC_2.12 _IO_fdopen F
+GLIBC_2.12 _IO_feof F
+GLIBC_2.12 _IO_ferror F
+GLIBC_2.12 _IO_fflush F
+GLIBC_2.12 _IO_fgetpos F
+GLIBC_2.12 _IO_fgetpos64 F
+GLIBC_2.12 _IO_fgets F
+GLIBC_2.12 _IO_file_attach F
+GLIBC_2.12 _IO_file_close F
+GLIBC_2.12 _IO_file_close_it F
+GLIBC_2.12 _IO_file_doallocate F
+GLIBC_2.12 _IO_file_finish F
+GLIBC_2.12 _IO_file_fopen F
+GLIBC_2.12 _IO_file_init F
+GLIBC_2.12 _IO_file_jumps D 0x54
+GLIBC_2.12 _IO_file_open F
+GLIBC_2.12 _IO_file_overflow F
+GLIBC_2.12 _IO_file_read F
+GLIBC_2.12 _IO_file_seek F
+GLIBC_2.12 _IO_file_seekoff F
+GLIBC_2.12 _IO_file_setbuf F
+GLIBC_2.12 _IO_file_stat F
+GLIBC_2.12 _IO_file_sync F
+GLIBC_2.12 _IO_file_underflow F
+GLIBC_2.12 _IO_file_write F
+GLIBC_2.12 _IO_file_xsputn F
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_flush_all F
+GLIBC_2.12 _IO_flush_all_linebuffered F
+GLIBC_2.12 _IO_fopen F
+GLIBC_2.12 _IO_fprintf F
+GLIBC_2.12 _IO_fputs F
+GLIBC_2.12 _IO_fread F
+GLIBC_2.12 _IO_free_backup_area F
+GLIBC_2.12 _IO_free_wbackup_area F
+GLIBC_2.12 _IO_fsetpos F
+GLIBC_2.12 _IO_fsetpos64 F
+GLIBC_2.12 _IO_ftell F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 _IO_fwrite F
+GLIBC_2.12 _IO_getc F
+GLIBC_2.12 _IO_getline F
+GLIBC_2.12 _IO_getline_info F
+GLIBC_2.12 _IO_gets F
+GLIBC_2.12 _IO_init F
+GLIBC_2.12 _IO_init_marker F
+GLIBC_2.12 _IO_init_wmarker F
+GLIBC_2.12 _IO_iter_begin F
+GLIBC_2.12 _IO_iter_end F
+GLIBC_2.12 _IO_iter_file F
+GLIBC_2.12 _IO_iter_next F
+GLIBC_2.12 _IO_least_wmarker F
+GLIBC_2.12 _IO_link_in F
+GLIBC_2.12 _IO_list_all D 0x4
+GLIBC_2.12 _IO_list_lock F
+GLIBC_2.12 _IO_list_resetlock F
+GLIBC_2.12 _IO_list_unlock F
+GLIBC_2.12 _IO_marker_delta F
+GLIBC_2.12 _IO_marker_difference F
+GLIBC_2.12 _IO_padn F
+GLIBC_2.12 _IO_peekc_locked F
+GLIBC_2.12 _IO_popen F
+GLIBC_2.12 _IO_printf F
+GLIBC_2.12 _IO_proc_close F
+GLIBC_2.12 _IO_proc_open F
+GLIBC_2.12 _IO_putc F
+GLIBC_2.12 _IO_puts F
+GLIBC_2.12 _IO_remove_marker F
+GLIBC_2.12 _IO_seekmark F
+GLIBC_2.12 _IO_seekoff F
+GLIBC_2.12 _IO_seekpos F
+GLIBC_2.12 _IO_seekwmark F
+GLIBC_2.12 _IO_setb F
+GLIBC_2.12 _IO_setbuffer F
+GLIBC_2.12 _IO_setvbuf F
+GLIBC_2.12 _IO_sgetn F
+GLIBC_2.12 _IO_sprintf F
+GLIBC_2.12 _IO_sputbackc F
+GLIBC_2.12 _IO_sputbackwc F
+GLIBC_2.12 _IO_sscanf F
+GLIBC_2.12 _IO_str_init_readonly F
+GLIBC_2.12 _IO_str_init_static F
+GLIBC_2.12 _IO_str_overflow F
+GLIBC_2.12 _IO_str_pbackfail F
+GLIBC_2.12 _IO_str_seekoff F
+GLIBC_2.12 _IO_str_underflow F
+GLIBC_2.12 _IO_sungetc F
+GLIBC_2.12 _IO_sungetwc F
+GLIBC_2.12 _IO_switch_to_get_mode F
+GLIBC_2.12 _IO_switch_to_main_wget_area F
+GLIBC_2.12 _IO_switch_to_wbackup_area F
+GLIBC_2.12 _IO_switch_to_wget_mode F
+GLIBC_2.12 _IO_un_link F
+GLIBC_2.12 _IO_ungetc F
+GLIBC_2.12 _IO_unsave_markers F
+GLIBC_2.12 _IO_unsave_wmarkers F
+GLIBC_2.12 _IO_vfprintf F
+GLIBC_2.12 _IO_vfscanf F
+GLIBC_2.12 _IO_vsprintf F
+GLIBC_2.12 _IO_wdefault_doallocate F
+GLIBC_2.12 _IO_wdefault_finish F
+GLIBC_2.12 _IO_wdefault_pbackfail F
+GLIBC_2.12 _IO_wdefault_uflow F
+GLIBC_2.12 _IO_wdefault_xsgetn F
+GLIBC_2.12 _IO_wdefault_xsputn F
+GLIBC_2.12 _IO_wdo_write F
+GLIBC_2.12 _IO_wdoallocbuf F
+GLIBC_2.12 _IO_wfile_jumps D 0x54
+GLIBC_2.12 _IO_wfile_overflow F
+GLIBC_2.12 _IO_wfile_seekoff F
+GLIBC_2.12 _IO_wfile_sync F
+GLIBC_2.12 _IO_wfile_underflow F
+GLIBC_2.12 _IO_wfile_xsputn F
+GLIBC_2.12 _IO_wmarker_delta F
+GLIBC_2.12 _IO_wsetb F
+GLIBC_2.12 ___brk_addr D 0x4
+GLIBC_2.12 __adjtimex F
+GLIBC_2.12 __after_morecore_hook D 0x4
+GLIBC_2.12 __argz_count F
+GLIBC_2.12 __argz_next F
+GLIBC_2.12 __argz_stringify F
+GLIBC_2.12 __asprintf F
+GLIBC_2.12 __asprintf_chk F
+GLIBC_2.12 __assert F
+GLIBC_2.12 __assert_fail F
+GLIBC_2.12 __assert_perror_fail F
+GLIBC_2.12 __backtrace F
+GLIBC_2.12 __backtrace_symbols F
+GLIBC_2.12 __backtrace_symbols_fd F
+GLIBC_2.12 __bsd_getpgrp F
+GLIBC_2.12 __bzero F
+GLIBC_2.12 __check_rhosts_file D 0x4
+GLIBC_2.12 __chk_fail F
+GLIBC_2.12 __clone F
+GLIBC_2.12 __close F
+GLIBC_2.12 __cmsg_nxthdr F
+GLIBC_2.12 __confstr_chk F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __ctype_b_loc F
+GLIBC_2.12 __ctype_get_mb_cur_max F
+GLIBC_2.12 __ctype_tolower_loc F
+GLIBC_2.12 __ctype_toupper_loc F
+GLIBC_2.12 __curbrk D 0x4
+GLIBC_2.12 __cxa_at_quick_exit F
+GLIBC_2.12 __cxa_atexit F
+GLIBC_2.12 __cxa_finalize F
+GLIBC_2.12 __cyg_profile_func_enter F
+GLIBC_2.12 __cyg_profile_func_exit F
+GLIBC_2.12 __daylight D 0x4
+GLIBC_2.12 __dcgettext F
+GLIBC_2.12 __default_morecore F
+GLIBC_2.12 __dgettext F
+GLIBC_2.12 __dprintf_chk F
+GLIBC_2.12 __dup2 F
+GLIBC_2.12 __duplocale F
+GLIBC_2.12 __endmntent F
+GLIBC_2.12 __environ D 0x4
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fbufsize F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __ffs F
+GLIBC_2.12 __fgets_chk F
+GLIBC_2.12 __fgets_unlocked_chk F
+GLIBC_2.12 __fgetws_chk F
+GLIBC_2.12 __fgetws_unlocked_chk F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __flbf F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __fpending F
+GLIBC_2.12 __fprintf_chk F
+GLIBC_2.12 __fpu_control D 0x4
+GLIBC_2.12 __fpurge F
+GLIBC_2.12 __fread_chk F
+GLIBC_2.12 __fread_unlocked_chk F
+GLIBC_2.12 __freadable F
+GLIBC_2.12 __freading F
+GLIBC_2.12 __free_hook D 0x4
+GLIBC_2.12 __freelocale F
+GLIBC_2.12 __fsetlocking F
+GLIBC_2.12 __fwprintf_chk F
+GLIBC_2.12 __fwritable F
+GLIBC_2.12 __fwriting F
+GLIBC_2.12 __fxstat F
+GLIBC_2.12 __fxstat64 F
+GLIBC_2.12 __fxstatat F
+GLIBC_2.12 __fxstatat64 F
+GLIBC_2.12 __getcwd_chk F
+GLIBC_2.12 __getdelim F
+GLIBC_2.12 __getdomainname_chk F
+GLIBC_2.12 __getgroups_chk F
+GLIBC_2.12 __gethostname_chk F
+GLIBC_2.12 __getlogin_r_chk F
+GLIBC_2.12 __getmntent_r F
+GLIBC_2.12 __getpagesize F
+GLIBC_2.12 __getpgid F
+GLIBC_2.12 __getpid F
+GLIBC_2.12 __gets_chk F
+GLIBC_2.12 __gettimeofday F
+GLIBC_2.12 __getwd_chk F
+GLIBC_2.12 __gmtime_r F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __isalnum_l F
+GLIBC_2.12 __isalpha_l F
+GLIBC_2.12 __isascii_l F
+GLIBC_2.12 __isblank_l F
+GLIBC_2.12 __iscntrl_l F
+GLIBC_2.12 __isctype F
+GLIBC_2.12 __isdigit_l F
+GLIBC_2.12 __isgraph_l F
+GLIBC_2.12 __isinf F
+GLIBC_2.12 __isinff F
+GLIBC_2.12 __islower_l F
+GLIBC_2.12 __isnan F
+GLIBC_2.12 __isnanf F
+GLIBC_2.12 __isoc99_fscanf F
+GLIBC_2.12 __isoc99_fwscanf F
+GLIBC_2.12 __isoc99_scanf F
+GLIBC_2.12 __isoc99_sscanf F
+GLIBC_2.12 __isoc99_swscanf F
+GLIBC_2.12 __isoc99_vfscanf F
+GLIBC_2.12 __isoc99_vfwscanf F
+GLIBC_2.12 __isoc99_vscanf F
+GLIBC_2.12 __isoc99_vsscanf F
+GLIBC_2.12 __isoc99_vswscanf F
+GLIBC_2.12 __isoc99_vwscanf F
+GLIBC_2.12 __isoc99_wscanf F
+GLIBC_2.12 __isprint_l F
+GLIBC_2.12 __ispunct_l F
+GLIBC_2.12 __isspace_l F
+GLIBC_2.12 __isupper_l F
+GLIBC_2.12 __iswalnum_l F
+GLIBC_2.12 __iswalpha_l F
+GLIBC_2.12 __iswblank_l F
+GLIBC_2.12 __iswcntrl_l F
+GLIBC_2.12 __iswctype F
+GLIBC_2.12 __iswctype_l F
+GLIBC_2.12 __iswdigit_l F
+GLIBC_2.12 __iswgraph_l F
+GLIBC_2.12 __iswlower_l F
+GLIBC_2.12 __iswprint_l F
+GLIBC_2.12 __iswpunct_l F
+GLIBC_2.12 __iswspace_l F
+GLIBC_2.12 __iswupper_l F
+GLIBC_2.12 __iswxdigit_l F
+GLIBC_2.12 __isxdigit_l F
+GLIBC_2.12 __ivaliduser F
+GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.12 __key_gendes_LOCAL D 0x4
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_calloc F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __libc_free F
+GLIBC_2.12 __libc_freeres F
+GLIBC_2.12 __libc_init_first F
+GLIBC_2.12 __libc_mallinfo F
+GLIBC_2.12 __libc_malloc F
+GLIBC_2.12 __libc_mallopt F
+GLIBC_2.12 __libc_memalign F
+GLIBC_2.12 __libc_pvalloc F
+GLIBC_2.12 __libc_realloc F
+GLIBC_2.12 __libc_sa_len F
+GLIBC_2.12 __libc_start_main F
+GLIBC_2.12 __libc_valloc F
+GLIBC_2.12 __longjmp_chk F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __lxstat F
+GLIBC_2.12 __lxstat64 F
+GLIBC_2.12 __malloc_hook D 0x4
+GLIBC_2.12 __malloc_initialize_hook D 0x4
+GLIBC_2.12 __mbrlen F
+GLIBC_2.12 __mbrtowc F
+GLIBC_2.12 __mbsnrtowcs_chk F
+GLIBC_2.12 __mbsrtowcs_chk F
+GLIBC_2.12 __mbstowcs_chk F
+GLIBC_2.12 __mcount F
+GLIBC_2.12 __memalign_hook D 0x4
+GLIBC_2.12 __memcpy_chk F
+GLIBC_2.12 __memmove_chk F
+GLIBC_2.12 __mempcpy F
+GLIBC_2.12 __mempcpy_chk F
+GLIBC_2.12 __mempcpy_small F
+GLIBC_2.12 __memset_chk F
+GLIBC_2.12 __monstartup F
+GLIBC_2.12 __morecore D 0x4
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __newlocale F
+GLIBC_2.12 __nl_langinfo_l F
+GLIBC_2.12 __nss_configure_lookup F
+GLIBC_2.12 __nss_database_lookup F
+GLIBC_2.12 __nss_group_lookup F
+GLIBC_2.12 __nss_hostname_digits_dots F
+GLIBC_2.12 __nss_hosts_lookup F
+GLIBC_2.12 __nss_next F
+GLIBC_2.12 __nss_passwd_lookup F
+GLIBC_2.12 __obstack_printf_chk F
+GLIBC_2.12 __obstack_vprintf_chk F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __open64_2 F
+GLIBC_2.12 __open_2 F
+GLIBC_2.12 __openat64_2 F
+GLIBC_2.12 __openat_2 F
+GLIBC_2.12 __overflow F
+GLIBC_2.12 __pipe F
+GLIBC_2.12 __poll F
+GLIBC_2.12 __posix_getopt F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pread64_chk F
+GLIBC_2.12 __pread_chk F
+GLIBC_2.12 __printf_chk F
+GLIBC_2.12 __printf_fp F
+GLIBC_2.12 __profile_frequency F
+GLIBC_2.12 __progname D 0x4
+GLIBC_2.12 __progname_full D 0x4
+GLIBC_2.12 __ptsname_r_chk F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __rawmemchr F
+GLIBC_2.12 __rcmd_errstr D 0x4
+GLIBC_2.12 __read F
+GLIBC_2.12 __read_chk F
+GLIBC_2.12 __readlink_chk F
+GLIBC_2.12 __readlinkat_chk F
+GLIBC_2.12 __realloc_hook D 0x4
+GLIBC_2.12 __realpath_chk F
+GLIBC_2.12 __recv_chk F
+GLIBC_2.12 __recvfrom_chk F
+GLIBC_2.12 __register_atfork F
+GLIBC_2.12 __res_init F
+GLIBC_2.12 __res_nclose F
+GLIBC_2.12 __res_ninit F
+GLIBC_2.12 __res_randomid F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __rpc_thread_createerr F
+GLIBC_2.12 __rpc_thread_svc_fdset F
+GLIBC_2.12 __rpc_thread_svc_max_pollfd F
+GLIBC_2.12 __rpc_thread_svc_pollfd F
+GLIBC_2.12 __sbrk F
+GLIBC_2.12 __sched_cpualloc F
+GLIBC_2.12 __sched_cpucount F
+GLIBC_2.12 __sched_cpufree F
+GLIBC_2.12 __sched_get_priority_max F
+GLIBC_2.12 __sched_get_priority_min F
+GLIBC_2.12 __sched_getparam F
+GLIBC_2.12 __sched_getscheduler F
+GLIBC_2.12 __sched_setscheduler F
+GLIBC_2.12 __sched_yield F
+GLIBC_2.12 __secure_getenv F
+GLIBC_2.12 __select F
+GLIBC_2.12 __setmntent F
+GLIBC_2.12 __setpgid F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __sigaddset F
+GLIBC_2.12 __sigdelset F
+GLIBC_2.12 __sigismember F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 __sigpause F
+GLIBC_2.12 __sigsetjmp F
+GLIBC_2.12 __sigsuspend F
+GLIBC_2.12 __snprintf_chk F
+GLIBC_2.12 __sprintf_chk F
+GLIBC_2.12 __stack_chk_fail F
+GLIBC_2.12 __statfs F
+GLIBC_2.12 __stpcpy F
+GLIBC_2.12 __stpcpy_chk F
+GLIBC_2.12 __stpcpy_small F
+GLIBC_2.12 __stpncpy F
+GLIBC_2.12 __stpncpy_chk F
+GLIBC_2.12 __strcasecmp F
+GLIBC_2.12 __strcasecmp_l F
+GLIBC_2.12 __strcasestr F
+GLIBC_2.12 __strcat_chk F
+GLIBC_2.12 __strcoll_l F
+GLIBC_2.12 __strcpy_chk F
+GLIBC_2.12 __strcpy_small F
+GLIBC_2.12 __strcspn_c1 F
+GLIBC_2.12 __strcspn_c2 F
+GLIBC_2.12 __strcspn_c3 F
+GLIBC_2.12 __strdup F
+GLIBC_2.12 __strerror_r F
+GLIBC_2.12 __strfmon_l F
+GLIBC_2.12 __strftime_l F
+GLIBC_2.12 __strncasecmp_l F
+GLIBC_2.12 __strncat_chk F
+GLIBC_2.12 __strncpy_chk F
+GLIBC_2.12 __strndup F
+GLIBC_2.12 __strpbrk_c2 F
+GLIBC_2.12 __strpbrk_c3 F
+GLIBC_2.12 __strsep_1c F
+GLIBC_2.12 __strsep_2c F
+GLIBC_2.12 __strsep_3c F
+GLIBC_2.12 __strsep_g F
+GLIBC_2.12 __strspn_c1 F
+GLIBC_2.12 __strspn_c2 F
+GLIBC_2.12 __strspn_c3 F
+GLIBC_2.12 __strtod_internal F
+GLIBC_2.12 __strtod_l F
+GLIBC_2.12 __strtof_internal F
+GLIBC_2.12 __strtof_l F
+GLIBC_2.12 __strtok_r F
+GLIBC_2.12 __strtok_r_1c F
+GLIBC_2.12 __strtol_internal F
+GLIBC_2.12 __strtol_l F
+GLIBC_2.12 __strtold_internal F
+GLIBC_2.12 __strtold_l F
+GLIBC_2.12 __strtoll_internal F
+GLIBC_2.12 __strtoll_l F
+GLIBC_2.12 __strtoul_internal F
+GLIBC_2.12 __strtoul_l F
+GLIBC_2.12 __strtoull_internal F
+GLIBC_2.12 __strtoull_l F
+GLIBC_2.12 __strverscmp F
+GLIBC_2.12 __strxfrm_l F
+GLIBC_2.12 __swprintf_chk F
+GLIBC_2.12 __sysconf F
+GLIBC_2.12 __syslog_chk F
+GLIBC_2.12 __sysv_signal F
+GLIBC_2.12 __timezone D 0x4
+GLIBC_2.12 __toascii_l F
+GLIBC_2.12 __tolower_l F
+GLIBC_2.12 __toupper_l F
+GLIBC_2.12 __towctrans F
+GLIBC_2.12 __towctrans_l F
+GLIBC_2.12 __towlower_l F
+GLIBC_2.12 __towupper_l F
+GLIBC_2.12 __ttyname_r_chk F
+GLIBC_2.12 __tzname D 0x8
+GLIBC_2.12 __uflow F
+GLIBC_2.12 __underflow F
+GLIBC_2.12 __uselocale F
+GLIBC_2.12 __vasprintf_chk F
+GLIBC_2.12 __vdprintf_chk F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __vfprintf_chk F
+GLIBC_2.12 __vfscanf F
+GLIBC_2.12 __vfwprintf_chk F
+GLIBC_2.12 __vprintf_chk F
+GLIBC_2.12 __vsnprintf F
+GLIBC_2.12 __vsnprintf_chk F
+GLIBC_2.12 __vsprintf_chk F
+GLIBC_2.12 __vsscanf F
+GLIBC_2.12 __vswprintf_chk F
+GLIBC_2.12 __vsyslog_chk F
+GLIBC_2.12 __vwprintf_chk F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __waitpid F
+GLIBC_2.12 __wcpcpy_chk F
+GLIBC_2.12 __wcpncpy_chk F
+GLIBC_2.12 __wcrtomb_chk F
+GLIBC_2.12 __wcscasecmp_l F
+GLIBC_2.12 __wcscat_chk F
+GLIBC_2.12 __wcscoll_l F
+GLIBC_2.12 __wcscpy_chk F
+GLIBC_2.12 __wcsftime_l F
+GLIBC_2.12 __wcsncasecmp_l F
+GLIBC_2.12 __wcsncat_chk F
+GLIBC_2.12 __wcsncpy_chk F
+GLIBC_2.12 __wcsnrtombs_chk F
+GLIBC_2.12 __wcsrtombs_chk F
+GLIBC_2.12 __wcstod_internal F
+GLIBC_2.12 __wcstod_l F
+GLIBC_2.12 __wcstof_internal F
+GLIBC_2.12 __wcstof_l F
+GLIBC_2.12 __wcstol_internal F
+GLIBC_2.12 __wcstol_l F
+GLIBC_2.12 __wcstold_internal F
+GLIBC_2.12 __wcstold_l F
+GLIBC_2.12 __wcstoll_internal F
+GLIBC_2.12 __wcstoll_l F
+GLIBC_2.12 __wcstombs_chk F
+GLIBC_2.12 __wcstoul_internal F
+GLIBC_2.12 __wcstoul_l F
+GLIBC_2.12 __wcstoull_internal F
+GLIBC_2.12 __wcstoull_l F
+GLIBC_2.12 __wcsxfrm_l F
+GLIBC_2.12 __wctomb_chk F
+GLIBC_2.12 __wctrans_l F
+GLIBC_2.12 __wctype_l F
+GLIBC_2.12 __wmemcpy_chk F
+GLIBC_2.12 __wmemmove_chk F
+GLIBC_2.12 __wmempcpy_chk F
+GLIBC_2.12 __wmemset_chk F
+GLIBC_2.12 __woverflow F
+GLIBC_2.12 __wprintf_chk F
+GLIBC_2.12 __write F
+GLIBC_2.12 __wuflow F
+GLIBC_2.12 __wunderflow F
+GLIBC_2.12 __xmknod F
+GLIBC_2.12 __xmknodat F
+GLIBC_2.12 __xpg_basename F
+GLIBC_2.12 __xpg_sigpause F
+GLIBC_2.12 __xpg_strerror_r F
+GLIBC_2.12 __xstat F
+GLIBC_2.12 __xstat64 F
+GLIBC_2.12 _authenticate F
+GLIBC_2.12 _dl_mcount_wrapper F
+GLIBC_2.12 _dl_mcount_wrapper_check F
+GLIBC_2.12 _environ D 0x4
+GLIBC_2.12 _exit F
+GLIBC_2.12 _flush_cache F
+GLIBC_2.12 _flushlbf F
+GLIBC_2.12 _libc_intl_domainname D 0x5
+GLIBC_2.12 _longjmp F
+GLIBC_2.12 _mcleanup F
+GLIBC_2.12 _mcount F
+GLIBC_2.12 _nl_default_dirname D 0x12
+GLIBC_2.12 _nl_domain_bindings D 0x4
+GLIBC_2.12 _nl_msg_cat_cntr D 0x4
+GLIBC_2.12 _null_auth D 0xc
+GLIBC_2.12 _obstack_allocated_p F
+GLIBC_2.12 _obstack_begin F
+GLIBC_2.12 _obstack_begin_1 F
+GLIBC_2.12 _obstack_free F
+GLIBC_2.12 _obstack_memory_used F
+GLIBC_2.12 _obstack_newchunk F
+GLIBC_2.12 _res D 0x200
+GLIBC_2.12 _res_hconf D 0x30
+GLIBC_2.12 _rpc_dtablesize F
+GLIBC_2.12 _seterr_reply F
+GLIBC_2.12 _setjmp F
+GLIBC_2.12 _sys_errlist D 0x21c
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 _sys_siglist D 0x104
+GLIBC_2.12 _tolower F
+GLIBC_2.12 _toupper F
+GLIBC_2.12 a64l F
+GLIBC_2.12 abort F
+GLIBC_2.12 abs F
+GLIBC_2.12 accept F
+GLIBC_2.12 accept4 F
+GLIBC_2.12 access F
+GLIBC_2.12 acct F
+GLIBC_2.12 addmntent F
+GLIBC_2.12 addseverity F
+GLIBC_2.12 adjtime F
+GLIBC_2.12 adjtimex F
+GLIBC_2.12 advance F
+GLIBC_2.12 alarm F
+GLIBC_2.12 alphasort F
+GLIBC_2.12 alphasort64 F
+GLIBC_2.12 argp_err_exit_status D 0x4
+GLIBC_2.12 argp_error F
+GLIBC_2.12 argp_failure F
+GLIBC_2.12 argp_help F
+GLIBC_2.12 argp_parse F
+GLIBC_2.12 argp_program_bug_address D 0x4
+GLIBC_2.12 argp_program_version D 0x4
+GLIBC_2.12 argp_program_version_hook D 0x4
+GLIBC_2.12 argp_state_help F
+GLIBC_2.12 argp_usage F
+GLIBC_2.12 argz_add F
+GLIBC_2.12 argz_add_sep F
+GLIBC_2.12 argz_append F
+GLIBC_2.12 argz_count F
+GLIBC_2.12 argz_create F
+GLIBC_2.12 argz_create_sep F
+GLIBC_2.12 argz_delete F
+GLIBC_2.12 argz_extract F
+GLIBC_2.12 argz_insert F
+GLIBC_2.12 argz_next F
+GLIBC_2.12 argz_replace F
+GLIBC_2.12 argz_stringify F
+GLIBC_2.12 asctime F
+GLIBC_2.12 asctime_r F
+GLIBC_2.12 asprintf F
+GLIBC_2.12 atof F
+GLIBC_2.12 atoi F
+GLIBC_2.12 atol F
+GLIBC_2.12 atoll F
+GLIBC_2.12 authdes_create F
+GLIBC_2.12 authdes_getucred F
+GLIBC_2.12 authdes_pk_create F
+GLIBC_2.12 authnone_create F
+GLIBC_2.12 authunix_create F
+GLIBC_2.12 authunix_create_default F
+GLIBC_2.12 backtrace F
+GLIBC_2.12 backtrace_symbols F
+GLIBC_2.12 backtrace_symbols_fd F
+GLIBC_2.12 basename F
+GLIBC_2.12 bcmp F
+GLIBC_2.12 bcopy F
+GLIBC_2.12 bdflush F
+GLIBC_2.12 bind F
+GLIBC_2.12 bind_textdomain_codeset F
+GLIBC_2.12 bindresvport F
+GLIBC_2.12 bindtextdomain F
+GLIBC_2.12 brk F
+GLIBC_2.12 bsd_signal F
+GLIBC_2.12 bsearch F
+GLIBC_2.12 btowc F
+GLIBC_2.12 bzero F
+GLIBC_2.12 cacheflush F
+GLIBC_2.12 calloc F
+GLIBC_2.12 callrpc F
+GLIBC_2.12 canonicalize_file_name F
+GLIBC_2.12 capget F
+GLIBC_2.12 capset F
+GLIBC_2.12 catclose F
+GLIBC_2.12 catgets F
+GLIBC_2.12 catopen F
+GLIBC_2.12 cbc_crypt F
+GLIBC_2.12 cfgetispeed F
+GLIBC_2.12 cfgetospeed F
+GLIBC_2.12 cfmakeraw F
+GLIBC_2.12 cfree F
+GLIBC_2.12 cfsetispeed F
+GLIBC_2.12 cfsetospeed F
+GLIBC_2.12 cfsetspeed F
+GLIBC_2.12 chdir F
+GLIBC_2.12 chflags F
+GLIBC_2.12 chmod F
+GLIBC_2.12 chown F
+GLIBC_2.12 chroot F
+GLIBC_2.12 clearenv F
+GLIBC_2.12 clearerr F
+GLIBC_2.12 clearerr_unlocked F
+GLIBC_2.12 clnt_broadcast F
+GLIBC_2.12 clnt_create F
+GLIBC_2.12 clnt_pcreateerror F
+GLIBC_2.12 clnt_perrno F
+GLIBC_2.12 clnt_perror F
+GLIBC_2.12 clnt_spcreateerror F
+GLIBC_2.12 clnt_sperrno F
+GLIBC_2.12 clnt_sperror F
+GLIBC_2.12 clntraw_create F
+GLIBC_2.12 clnttcp_create F
+GLIBC_2.12 clntudp_bufcreate F
+GLIBC_2.12 clntudp_create F
+GLIBC_2.12 clntunix_create F
+GLIBC_2.12 clock F
+GLIBC_2.12 clone F
+GLIBC_2.12 close F
+GLIBC_2.12 closedir F
+GLIBC_2.12 closelog F
+GLIBC_2.12 confstr F
+GLIBC_2.12 connect F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 creat F
+GLIBC_2.12 creat64 F
+GLIBC_2.12 create_module F
+GLIBC_2.12 ctermid F
+GLIBC_2.12 ctime F
+GLIBC_2.12 ctime_r F
+GLIBC_2.12 cuserid F
+GLIBC_2.12 daemon F
+GLIBC_2.12 daylight D 0x4
+GLIBC_2.12 dcgettext F
+GLIBC_2.12 dcngettext F
+GLIBC_2.12 delete_module F
+GLIBC_2.12 des_setparity F
+GLIBC_2.12 dgettext F
+GLIBC_2.12 difftime F
+GLIBC_2.12 dirfd F
+GLIBC_2.12 dirname F
+GLIBC_2.12 div F
+GLIBC_2.12 dl_iterate_phdr F
+GLIBC_2.12 dngettext F
+GLIBC_2.12 dprintf F
+GLIBC_2.12 drand48 F
+GLIBC_2.12 drand48_r F
+GLIBC_2.12 dup F
+GLIBC_2.12 dup2 F
+GLIBC_2.12 dup3 F
+GLIBC_2.12 duplocale F
+GLIBC_2.12 dysize F
+GLIBC_2.12 eaccess F
+GLIBC_2.12 ecb_crypt F
+GLIBC_2.12 ecvt F
+GLIBC_2.12 ecvt_r F
+GLIBC_2.12 endaliasent F
+GLIBC_2.12 endfsent F
+GLIBC_2.12 endgrent F
+GLIBC_2.12 endhostent F
+GLIBC_2.12 endmntent F
+GLIBC_2.12 endnetent F
+GLIBC_2.12 endnetgrent F
+GLIBC_2.12 endprotoent F
+GLIBC_2.12 endpwent F
+GLIBC_2.12 endrpcent F
+GLIBC_2.12 endservent F
+GLIBC_2.12 endsgent F
+GLIBC_2.12 endspent F
+GLIBC_2.12 endttyent F
+GLIBC_2.12 endusershell F
+GLIBC_2.12 endutent F
+GLIBC_2.12 endutxent F
+GLIBC_2.12 environ D 0x4
+GLIBC_2.12 envz_add F
+GLIBC_2.12 envz_entry F
+GLIBC_2.12 envz_get F
+GLIBC_2.12 envz_merge F
+GLIBC_2.12 envz_remove F
+GLIBC_2.12 envz_strip F
+GLIBC_2.12 epoll_create F
+GLIBC_2.12 epoll_create1 F
+GLIBC_2.12 epoll_ctl F
+GLIBC_2.12 epoll_pwait F
+GLIBC_2.12 epoll_wait F
+GLIBC_2.12 erand48 F
+GLIBC_2.12 erand48_r F
+GLIBC_2.12 err F
+GLIBC_2.12 error F
+GLIBC_2.12 error_at_line F
+GLIBC_2.12 error_message_count D 0x4
+GLIBC_2.12 error_one_per_line D 0x4
+GLIBC_2.12 error_print_progname D 0x4
+GLIBC_2.12 errx F
+GLIBC_2.12 ether_aton F
+GLIBC_2.12 ether_aton_r F
+GLIBC_2.12 ether_hostton F
+GLIBC_2.12 ether_line F
+GLIBC_2.12 ether_ntoa F
+GLIBC_2.12 ether_ntoa_r F
+GLIBC_2.12 ether_ntohost F
+GLIBC_2.12 euidaccess F
+GLIBC_2.12 eventfd F
+GLIBC_2.12 eventfd_read F
+GLIBC_2.12 eventfd_write F
+GLIBC_2.12 execl F
+GLIBC_2.12 execle F
+GLIBC_2.12 execlp F
+GLIBC_2.12 execv F
+GLIBC_2.12 execve F
+GLIBC_2.12 execvp F
+GLIBC_2.12 execvpe F
+GLIBC_2.12 exit F
+GLIBC_2.12 faccessat F
+GLIBC_2.12 fallocate F
+GLIBC_2.12 fallocate64 F
+GLIBC_2.12 fattach F
+GLIBC_2.12 fchdir F
+GLIBC_2.12 fchflags F
+GLIBC_2.12 fchmod F
+GLIBC_2.12 fchmodat F
+GLIBC_2.12 fchown F
+GLIBC_2.12 fchownat F
+GLIBC_2.12 fclose F
+GLIBC_2.12 fcloseall F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 fcvt F
+GLIBC_2.12 fcvt_r F
+GLIBC_2.12 fdatasync F
+GLIBC_2.12 fdetach F
+GLIBC_2.12 fdopen F
+GLIBC_2.12 fdopendir F
+GLIBC_2.12 feof F
+GLIBC_2.12 feof_unlocked F
+GLIBC_2.12 ferror F
+GLIBC_2.12 ferror_unlocked F
+GLIBC_2.12 fexecve F
+GLIBC_2.12 fflush F
+GLIBC_2.12 fflush_unlocked F
+GLIBC_2.12 ffs F
+GLIBC_2.12 ffsl F
+GLIBC_2.12 ffsll F
+GLIBC_2.12 fgetc F
+GLIBC_2.12 fgetc_unlocked F
+GLIBC_2.12 fgetgrent F
+GLIBC_2.12 fgetgrent_r F
+GLIBC_2.12 fgetpos F
+GLIBC_2.12 fgetpos64 F
+GLIBC_2.12 fgetpwent F
+GLIBC_2.12 fgetpwent_r F
+GLIBC_2.12 fgets F
+GLIBC_2.12 fgets_unlocked F
+GLIBC_2.12 fgetsgent F
+GLIBC_2.12 fgetsgent_r F
+GLIBC_2.12 fgetspent F
+GLIBC_2.12 fgetspent_r F
+GLIBC_2.12 fgetwc F
+GLIBC_2.12 fgetwc_unlocked F
+GLIBC_2.12 fgetws F
+GLIBC_2.12 fgetws_unlocked F
+GLIBC_2.12 fgetxattr F
+GLIBC_2.12 fileno F
+GLIBC_2.12 fileno_unlocked F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 flistxattr F
+GLIBC_2.12 flock F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fmemopen F
+GLIBC_2.12 fmtmsg F
+GLIBC_2.12 fnmatch F
+GLIBC_2.12 fopen F
+GLIBC_2.12 fopen64 F
+GLIBC_2.12 fopencookie F
+GLIBC_2.12 fork F
+GLIBC_2.12 fpathconf F
+GLIBC_2.12 fprintf F
+GLIBC_2.12 fputc F
+GLIBC_2.12 fputc_unlocked F
+GLIBC_2.12 fputs F
+GLIBC_2.12 fputs_unlocked F
+GLIBC_2.12 fputwc F
+GLIBC_2.12 fputwc_unlocked F
+GLIBC_2.12 fputws F
+GLIBC_2.12 fputws_unlocked F
+GLIBC_2.12 fread F
+GLIBC_2.12 fread_unlocked F
+GLIBC_2.12 free F
+GLIBC_2.12 freeaddrinfo F
+GLIBC_2.12 freeifaddrs F
+GLIBC_2.12 freelocale F
+GLIBC_2.12 fremovexattr F
+GLIBC_2.12 freopen F
+GLIBC_2.12 freopen64 F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 fscanf F
+GLIBC_2.12 fseek F
+GLIBC_2.12 fseeko F
+GLIBC_2.12 fseeko64 F
+GLIBC_2.12 fsetpos F
+GLIBC_2.12 fsetpos64 F
+GLIBC_2.12 fsetxattr F
+GLIBC_2.12 fstatfs F
+GLIBC_2.12 fstatfs64 F
+GLIBC_2.12 fstatvfs F
+GLIBC_2.12 fstatvfs64 F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftell F
+GLIBC_2.12 ftello F
+GLIBC_2.12 ftello64 F
+GLIBC_2.12 ftime F
+GLIBC_2.12 ftok F
+GLIBC_2.12 ftruncate F
+GLIBC_2.12 ftruncate64 F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 fts_children F
+GLIBC_2.12 fts_close F
+GLIBC_2.12 fts_open F
+GLIBC_2.12 fts_read F
+GLIBC_2.12 fts_set F
+GLIBC_2.12 ftw F
+GLIBC_2.12 ftw64 F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 futimens F
+GLIBC_2.12 futimes F
+GLIBC_2.12 futimesat F
+GLIBC_2.12 fwide F
+GLIBC_2.12 fwprintf F
+GLIBC_2.12 fwrite F
+GLIBC_2.12 fwrite_unlocked F
+GLIBC_2.12 fwscanf F
+GLIBC_2.12 gai_strerror F
+GLIBC_2.12 gcvt F
+GLIBC_2.12 get_avphys_pages F
+GLIBC_2.12 get_current_dir_name F
+GLIBC_2.12 get_kernel_syms F
+GLIBC_2.12 get_myaddress F
+GLIBC_2.12 get_nprocs F
+GLIBC_2.12 get_nprocs_conf F
+GLIBC_2.12 get_phys_pages F
+GLIBC_2.12 getaddrinfo F
+GLIBC_2.12 getaliasbyname F
+GLIBC_2.12 getaliasbyname_r F
+GLIBC_2.12 getaliasent F
+GLIBC_2.12 getaliasent_r F
+GLIBC_2.12 getc F
+GLIBC_2.12 getc_unlocked F
+GLIBC_2.12 getchar F
+GLIBC_2.12 getchar_unlocked F
+GLIBC_2.12 getcontext F
+GLIBC_2.12 getcwd F
+GLIBC_2.12 getdate F
+GLIBC_2.12 getdate_err D 0x4
+GLIBC_2.12 getdate_r F
+GLIBC_2.12 getdelim F
+GLIBC_2.12 getdirentries F
+GLIBC_2.12 getdirentries64 F
+GLIBC_2.12 getdomainname F
+GLIBC_2.12 getdtablesize F
+GLIBC_2.12 getegid F
+GLIBC_2.12 getenv F
+GLIBC_2.12 geteuid F
+GLIBC_2.12 getfsent F
+GLIBC_2.12 getfsfile F
+GLIBC_2.12 getfsspec F
+GLIBC_2.12 getgid F
+GLIBC_2.12 getgrent F
+GLIBC_2.12 getgrent_r F
+GLIBC_2.12 getgrgid F
+GLIBC_2.12 getgrgid_r F
+GLIBC_2.12 getgrnam F
+GLIBC_2.12 getgrnam_r F
+GLIBC_2.12 getgrouplist F
+GLIBC_2.12 getgroups F
+GLIBC_2.12 gethostbyaddr F
+GLIBC_2.12 gethostbyaddr_r F
+GLIBC_2.12 gethostbyname F
+GLIBC_2.12 gethostbyname2 F
+GLIBC_2.12 gethostbyname2_r F
+GLIBC_2.12 gethostbyname_r F
+GLIBC_2.12 gethostent F
+GLIBC_2.12 gethostent_r F
+GLIBC_2.12 gethostid F
+GLIBC_2.12 gethostname F
+GLIBC_2.12 getifaddrs F
+GLIBC_2.12 getipv4sourcefilter F
+GLIBC_2.12 getitimer F
+GLIBC_2.12 getline F
+GLIBC_2.12 getloadavg F
+GLIBC_2.12 getlogin F
+GLIBC_2.12 getlogin_r F
+GLIBC_2.12 getmntent F
+GLIBC_2.12 getmntent_r F
+GLIBC_2.12 getmsg F
+GLIBC_2.12 getnameinfo F
+GLIBC_2.12 getnetbyaddr F
+GLIBC_2.12 getnetbyaddr_r F
+GLIBC_2.12 getnetbyname F
+GLIBC_2.12 getnetbyname_r F
+GLIBC_2.12 getnetent F
+GLIBC_2.12 getnetent_r F
+GLIBC_2.12 getnetgrent F
+GLIBC_2.12 getnetgrent_r F
+GLIBC_2.12 getnetname F
+GLIBC_2.12 getopt F
+GLIBC_2.12 getopt_long F
+GLIBC_2.12 getopt_long_only F
+GLIBC_2.12 getpagesize F
+GLIBC_2.12 getpass F
+GLIBC_2.12 getpeername F
+GLIBC_2.12 getpgid F
+GLIBC_2.12 getpgrp F
+GLIBC_2.12 getpid F
+GLIBC_2.12 getpmsg F
+GLIBC_2.12 getppid F
+GLIBC_2.12 getpriority F
+GLIBC_2.12 getprotobyname F
+GLIBC_2.12 getprotobyname_r F
+GLIBC_2.12 getprotobynumber F
+GLIBC_2.12 getprotobynumber_r F
+GLIBC_2.12 getprotoent F
+GLIBC_2.12 getprotoent_r F
+GLIBC_2.12 getpt F
+GLIBC_2.12 getpublickey F
+GLIBC_2.12 getpw F
+GLIBC_2.12 getpwent F
+GLIBC_2.12 getpwent_r F
+GLIBC_2.12 getpwnam F
+GLIBC_2.12 getpwnam_r F
+GLIBC_2.12 getpwuid F
+GLIBC_2.12 getpwuid_r F
+GLIBC_2.12 getresgid F
+GLIBC_2.12 getresuid F
+GLIBC_2.12 getrlimit F
+GLIBC_2.12 getrlimit64 F
+GLIBC_2.12 getrpcbyname F
+GLIBC_2.12 getrpcbyname_r F
+GLIBC_2.12 getrpcbynumber F
+GLIBC_2.12 getrpcbynumber_r F
+GLIBC_2.12 getrpcent F
+GLIBC_2.12 getrpcent_r F
+GLIBC_2.12 getrpcport F
+GLIBC_2.12 getrusage F
+GLIBC_2.12 gets F
+GLIBC_2.12 getsecretkey F
+GLIBC_2.12 getservbyname F
+GLIBC_2.12 getservbyname_r F
+GLIBC_2.12 getservbyport F
+GLIBC_2.12 getservbyport_r F
+GLIBC_2.12 getservent F
+GLIBC_2.12 getservent_r F
+GLIBC_2.12 getsgent F
+GLIBC_2.12 getsgent_r F
+GLIBC_2.12 getsgnam F
+GLIBC_2.12 getsgnam_r F
+GLIBC_2.12 getsid F
+GLIBC_2.12 getsockname F
+GLIBC_2.12 getsockopt F
+GLIBC_2.12 getsourcefilter F
+GLIBC_2.12 getspent F
+GLIBC_2.12 getspent_r F
+GLIBC_2.12 getspnam F
+GLIBC_2.12 getspnam_r F
+GLIBC_2.12 getsubopt F
+GLIBC_2.12 gettext F
+GLIBC_2.12 gettimeofday F
+GLIBC_2.12 getttyent F
+GLIBC_2.12 getttynam F
+GLIBC_2.12 getuid F
+GLIBC_2.12 getusershell F
+GLIBC_2.12 getutent F
+GLIBC_2.12 getutent_r F
+GLIBC_2.12 getutid F
+GLIBC_2.12 getutid_r F
+GLIBC_2.12 getutline F
+GLIBC_2.12 getutline_r F
+GLIBC_2.12 getutmp F
+GLIBC_2.12 getutmpx F
+GLIBC_2.12 getutxent F
+GLIBC_2.12 getutxid F
+GLIBC_2.12 getutxline F
+GLIBC_2.12 getw F
+GLIBC_2.12 getwc F
+GLIBC_2.12 getwc_unlocked F
+GLIBC_2.12 getwchar F
+GLIBC_2.12 getwchar_unlocked F
+GLIBC_2.12 getwd F
+GLIBC_2.12 getxattr F
+GLIBC_2.12 glob F
+GLIBC_2.12 glob64 F
+GLIBC_2.12 glob_pattern_p F
+GLIBC_2.12 globfree F
+GLIBC_2.12 globfree64 F
+GLIBC_2.12 gmtime F
+GLIBC_2.12 gmtime_r F
+GLIBC_2.12 gnu_dev_major F
+GLIBC_2.12 gnu_dev_makedev F
+GLIBC_2.12 gnu_dev_minor F
+GLIBC_2.12 gnu_get_libc_release F
+GLIBC_2.12 gnu_get_libc_version F
+GLIBC_2.12 grantpt F
+GLIBC_2.12 group_member F
+GLIBC_2.12 gsignal F
+GLIBC_2.12 gtty F
+GLIBC_2.12 h_errlist D 0x14
+GLIBC_2.12 h_nerr D 0x4
+GLIBC_2.12 hasmntopt F
+GLIBC_2.12 hcreate F
+GLIBC_2.12 hcreate_r F
+GLIBC_2.12 hdestroy F
+GLIBC_2.12 hdestroy_r F
+GLIBC_2.12 herror F
+GLIBC_2.12 host2netname F
+GLIBC_2.12 hsearch F
+GLIBC_2.12 hsearch_r F
+GLIBC_2.12 hstrerror F
+GLIBC_2.12 htonl F
+GLIBC_2.12 htons F
+GLIBC_2.12 iconv F
+GLIBC_2.12 iconv_close F
+GLIBC_2.12 iconv_open F
+GLIBC_2.12 if_freenameindex F
+GLIBC_2.12 if_indextoname F
+GLIBC_2.12 if_nameindex F
+GLIBC_2.12 if_nametoindex F
+GLIBC_2.12 imaxabs F
+GLIBC_2.12 imaxdiv F
+GLIBC_2.12 in6addr_any D 0x10
+GLIBC_2.12 in6addr_loopback D 0x10
+GLIBC_2.12 index F
+GLIBC_2.12 inet6_opt_append F
+GLIBC_2.12 inet6_opt_find F
+GLIBC_2.12 inet6_opt_finish F
+GLIBC_2.12 inet6_opt_get_val F
+GLIBC_2.12 inet6_opt_init F
+GLIBC_2.12 inet6_opt_next F
+GLIBC_2.12 inet6_opt_set_val F
+GLIBC_2.12 inet6_option_alloc F
+GLIBC_2.12 inet6_option_append F
+GLIBC_2.12 inet6_option_find F
+GLIBC_2.12 inet6_option_init F
+GLIBC_2.12 inet6_option_next F
+GLIBC_2.12 inet6_option_space F
+GLIBC_2.12 inet6_rth_add F
+GLIBC_2.12 inet6_rth_getaddr F
+GLIBC_2.12 inet6_rth_init F
+GLIBC_2.12 inet6_rth_reverse F
+GLIBC_2.12 inet6_rth_segments F
+GLIBC_2.12 inet6_rth_space F
+GLIBC_2.12 inet_addr F
+GLIBC_2.12 inet_aton F
+GLIBC_2.12 inet_lnaof F
+GLIBC_2.12 inet_makeaddr F
+GLIBC_2.12 inet_netof F
+GLIBC_2.12 inet_network F
+GLIBC_2.12 inet_nsap_addr F
+GLIBC_2.12 inet_nsap_ntoa F
+GLIBC_2.12 inet_ntoa F
+GLIBC_2.12 inet_ntop F
+GLIBC_2.12 inet_pton F
+GLIBC_2.12 init_module F
+GLIBC_2.12 initgroups F
+GLIBC_2.12 initstate F
+GLIBC_2.12 initstate_r F
+GLIBC_2.12 innetgr F
+GLIBC_2.12 inotify_add_watch F
+GLIBC_2.12 inotify_init F
+GLIBC_2.12 inotify_init1 F
+GLIBC_2.12 inotify_rm_watch F
+GLIBC_2.12 insque F
+GLIBC_2.12 ioctl F
+GLIBC_2.12 iruserok F
+GLIBC_2.12 iruserok_af F
+GLIBC_2.12 isalnum F
+GLIBC_2.12 isalnum_l F
+GLIBC_2.12 isalpha F
+GLIBC_2.12 isalpha_l F
+GLIBC_2.12 isascii F
+GLIBC_2.12 isastream F
+GLIBC_2.12 isatty F
+GLIBC_2.12 isblank F
+GLIBC_2.12 isblank_l F
+GLIBC_2.12 iscntrl F
+GLIBC_2.12 iscntrl_l F
+GLIBC_2.12 isctype F
+GLIBC_2.12 isdigit F
+GLIBC_2.12 isdigit_l F
+GLIBC_2.12 isfdtype F
+GLIBC_2.12 isgraph F
+GLIBC_2.12 isgraph_l F
+GLIBC_2.12 isinf F
+GLIBC_2.12 isinff F
+GLIBC_2.12 isinfl F
+GLIBC_2.12 islower F
+GLIBC_2.12 islower_l F
+GLIBC_2.12 isnan F
+GLIBC_2.12 isnanf F
+GLIBC_2.12 isnanl F
+GLIBC_2.12 isprint F
+GLIBC_2.12 isprint_l F
+GLIBC_2.12 ispunct F
+GLIBC_2.12 ispunct_l F
+GLIBC_2.12 isspace F
+GLIBC_2.12 isspace_l F
+GLIBC_2.12 isupper F
+GLIBC_2.12 isupper_l F
+GLIBC_2.12 iswalnum F
+GLIBC_2.12 iswalnum_l F
+GLIBC_2.12 iswalpha F
+GLIBC_2.12 iswalpha_l F
+GLIBC_2.12 iswblank F
+GLIBC_2.12 iswblank_l F
+GLIBC_2.12 iswcntrl F
+GLIBC_2.12 iswcntrl_l F
+GLIBC_2.12 iswctype F
+GLIBC_2.12 iswctype_l F
+GLIBC_2.12 iswdigit F
+GLIBC_2.12 iswdigit_l F
+GLIBC_2.12 iswgraph F
+GLIBC_2.12 iswgraph_l F
+GLIBC_2.12 iswlower F
+GLIBC_2.12 iswlower_l F
+GLIBC_2.12 iswprint F
+GLIBC_2.12 iswprint_l F
+GLIBC_2.12 iswpunct F
+GLIBC_2.12 iswpunct_l F
+GLIBC_2.12 iswspace F
+GLIBC_2.12 iswspace_l F
+GLIBC_2.12 iswupper F
+GLIBC_2.12 iswupper_l F
+GLIBC_2.12 iswxdigit F
+GLIBC_2.12 iswxdigit_l F
+GLIBC_2.12 isxdigit F
+GLIBC_2.12 isxdigit_l F
+GLIBC_2.12 jrand48 F
+GLIBC_2.12 jrand48_r F
+GLIBC_2.12 key_decryptsession F
+GLIBC_2.12 key_decryptsession_pk F
+GLIBC_2.12 key_encryptsession F
+GLIBC_2.12 key_encryptsession_pk F
+GLIBC_2.12 key_gendes F
+GLIBC_2.12 key_get_conv F
+GLIBC_2.12 key_secretkey_is_set F
+GLIBC_2.12 key_setnet F
+GLIBC_2.12 key_setsecret F
+GLIBC_2.12 kill F
+GLIBC_2.12 killpg F
+GLIBC_2.12 klogctl F
+GLIBC_2.12 l64a F
+GLIBC_2.12 labs F
+GLIBC_2.12 lchmod F
+GLIBC_2.12 lchown F
+GLIBC_2.12 lckpwdf F
+GLIBC_2.12 lcong48 F
+GLIBC_2.12 lcong48_r F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 ldiv F
+GLIBC_2.12 lfind F
+GLIBC_2.12 lgetxattr F
+GLIBC_2.12 link F
+GLIBC_2.12 linkat F
+GLIBC_2.12 listen F
+GLIBC_2.12 listxattr F
+GLIBC_2.12 llabs F
+GLIBC_2.12 lldiv F
+GLIBC_2.12 llistxattr F
+GLIBC_2.12 llseek F
+GLIBC_2.12 loc1 D 0x4
+GLIBC_2.12 loc2 D 0x4
+GLIBC_2.12 localeconv F
+GLIBC_2.12 localtime F
+GLIBC_2.12 localtime_r F
+GLIBC_2.12 lockf F
+GLIBC_2.12 lockf64 F
+GLIBC_2.12 locs D 0x4
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lrand48 F
+GLIBC_2.12 lrand48_r F
+GLIBC_2.12 lremovexattr F
+GLIBC_2.12 lsearch F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 lsetxattr F
+GLIBC_2.12 lutimes F
+GLIBC_2.12 madvise F
+GLIBC_2.12 makecontext F
+GLIBC_2.12 mallinfo F
+GLIBC_2.12 malloc F
+GLIBC_2.12 malloc_get_state F
+GLIBC_2.12 malloc_info F
+GLIBC_2.12 malloc_set_state F
+GLIBC_2.12 malloc_stats F
+GLIBC_2.12 malloc_trim F
+GLIBC_2.12 malloc_usable_size F
+GLIBC_2.12 mallopt F
+GLIBC_2.12 mallwatch D 0x4
+GLIBC_2.12 mblen F
+GLIBC_2.12 mbrlen F
+GLIBC_2.12 mbrtowc F
+GLIBC_2.12 mbsinit F
+GLIBC_2.12 mbsnrtowcs F
+GLIBC_2.12 mbsrtowcs F
+GLIBC_2.12 mbstowcs F
+GLIBC_2.12 mbtowc F
+GLIBC_2.12 mcheck F
+GLIBC_2.12 mcheck_check_all F
+GLIBC_2.12 mcheck_pedantic F
+GLIBC_2.12 mcount F
+GLIBC_2.12 memalign F
+GLIBC_2.12 memccpy F
+GLIBC_2.12 memchr F
+GLIBC_2.12 memcmp F
+GLIBC_2.12 memcpy F
+GLIBC_2.12 memfrob F
+GLIBC_2.12 memmem F
+GLIBC_2.12 memmove F
+GLIBC_2.12 mempcpy F
+GLIBC_2.12 memrchr F
+GLIBC_2.12 memset F
+GLIBC_2.12 mincore F
+GLIBC_2.12 mkdir F
+GLIBC_2.12 mkdirat F
+GLIBC_2.12 mkdtemp F
+GLIBC_2.12 mkfifo F
+GLIBC_2.12 mkfifoat F
+GLIBC_2.12 mkostemp F
+GLIBC_2.12 mkostemp64 F
+GLIBC_2.12 mkostemps F
+GLIBC_2.12 mkostemps64 F
+GLIBC_2.12 mkstemp F
+GLIBC_2.12 mkstemp64 F
+GLIBC_2.12 mkstemps F
+GLIBC_2.12 mkstemps64 F
+GLIBC_2.12 mktemp F
+GLIBC_2.12 mktime F
+GLIBC_2.12 mlock F
+GLIBC_2.12 mlockall F
+GLIBC_2.12 mmap F
+GLIBC_2.12 mmap64 F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 moncontrol F
+GLIBC_2.12 monstartup F
+GLIBC_2.12 mount F
+GLIBC_2.12 mprobe F
+GLIBC_2.12 mprotect F
+GLIBC_2.12 mrand48 F
+GLIBC_2.12 mrand48_r F
+GLIBC_2.12 mremap F
+GLIBC_2.12 msgctl F
+GLIBC_2.12 msgget F
+GLIBC_2.12 msgrcv F
+GLIBC_2.12 msgsnd F
+GLIBC_2.12 msync F
+GLIBC_2.12 mtrace F
+GLIBC_2.12 munlock F
+GLIBC_2.12 munlockall F
+GLIBC_2.12 munmap F
+GLIBC_2.12 muntrace F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 netname2host F
+GLIBC_2.12 netname2user F
+GLIBC_2.12 newlocale F
+GLIBC_2.12 nfsservctl F
+GLIBC_2.12 nftw F
+GLIBC_2.12 nftw64 F
+GLIBC_2.12 ngettext F
+GLIBC_2.12 nice F
+GLIBC_2.12 nl_langinfo F
+GLIBC_2.12 nl_langinfo_l F
+GLIBC_2.12 nrand48 F
+GLIBC_2.12 nrand48_r F
+GLIBC_2.12 ntohl F
+GLIBC_2.12 ntohs F
+GLIBC_2.12 ntp_adjtime F
+GLIBC_2.12 ntp_gettime F
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 obstack_alloc_failed_handler D 0x4
+GLIBC_2.12 obstack_exit_failure D 0x4
+GLIBC_2.12 obstack_free F
+GLIBC_2.12 obstack_printf F
+GLIBC_2.12 obstack_vprintf F
+GLIBC_2.12 on_exit F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 open_memstream F
+GLIBC_2.12 open_wmemstream F
+GLIBC_2.12 openat F
+GLIBC_2.12 openat64 F
+GLIBC_2.12 opendir F
+GLIBC_2.12 openlog F
+GLIBC_2.12 optarg D 0x4
+GLIBC_2.12 opterr D 0x4
+GLIBC_2.12 optind D 0x4
+GLIBC_2.12 optopt D 0x4
+GLIBC_2.12 parse_printf_format F
+GLIBC_2.12 passwd2des F
+GLIBC_2.12 pathconf F
+GLIBC_2.12 pause F
+GLIBC_2.12 pclose F
+GLIBC_2.12 perror F
+GLIBC_2.12 personality F
+GLIBC_2.12 pipe F
+GLIBC_2.12 pipe2 F
+GLIBC_2.12 pivot_root F
+GLIBC_2.12 pmap_getmaps F
+GLIBC_2.12 pmap_getport F
+GLIBC_2.12 pmap_rmtcall F
+GLIBC_2.12 pmap_set F
+GLIBC_2.12 pmap_unset F
+GLIBC_2.12 poll F
+GLIBC_2.12 popen F
+GLIBC_2.12 posix_fadvise F
+GLIBC_2.12 posix_fadvise64 F
+GLIBC_2.12 posix_fallocate F
+GLIBC_2.12 posix_fallocate64 F
+GLIBC_2.12 posix_madvise F
+GLIBC_2.12 posix_memalign F
+GLIBC_2.12 posix_openpt F
+GLIBC_2.12 posix_spawn F
+GLIBC_2.12 posix_spawn_file_actions_addclose F
+GLIBC_2.12 posix_spawn_file_actions_adddup2 F
+GLIBC_2.12 posix_spawn_file_actions_addopen F
+GLIBC_2.12 posix_spawn_file_actions_destroy F
+GLIBC_2.12 posix_spawn_file_actions_init F
+GLIBC_2.12 posix_spawnattr_destroy F
+GLIBC_2.12 posix_spawnattr_getflags F
+GLIBC_2.12 posix_spawnattr_getpgroup F
+GLIBC_2.12 posix_spawnattr_getschedparam F
+GLIBC_2.12 posix_spawnattr_getschedpolicy F
+GLIBC_2.12 posix_spawnattr_getsigdefault F
+GLIBC_2.12 posix_spawnattr_getsigmask F
+GLIBC_2.12 posix_spawnattr_init F
+GLIBC_2.12 posix_spawnattr_setflags F
+GLIBC_2.12 posix_spawnattr_setpgroup F
+GLIBC_2.12 posix_spawnattr_setschedparam F
+GLIBC_2.12 posix_spawnattr_setschedpolicy F
+GLIBC_2.12 posix_spawnattr_setsigdefault F
+GLIBC_2.12 posix_spawnattr_setsigmask F
+GLIBC_2.12 posix_spawnp F
+GLIBC_2.12 ppoll F
+GLIBC_2.12 prctl F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 preadv F
+GLIBC_2.12 preadv64 F
+GLIBC_2.12 printf F
+GLIBC_2.12 printf_size F
+GLIBC_2.12 printf_size_info F
+GLIBC_2.12 profil F
+GLIBC_2.12 program_invocation_name D 0x4
+GLIBC_2.12 program_invocation_short_name D 0x4
+GLIBC_2.12 pselect F
+GLIBC_2.12 psiginfo F
+GLIBC_2.12 psignal F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 ptrace F
+GLIBC_2.12 ptsname F
+GLIBC_2.12 ptsname_r F
+GLIBC_2.12 putc F
+GLIBC_2.12 putc_unlocked F
+GLIBC_2.12 putchar F
+GLIBC_2.12 putchar_unlocked F
+GLIBC_2.12 putenv F
+GLIBC_2.12 putgrent F
+GLIBC_2.12 putmsg F
+GLIBC_2.12 putpmsg F
+GLIBC_2.12 putpwent F
+GLIBC_2.12 puts F
+GLIBC_2.12 putsgent F
+GLIBC_2.12 putspent F
+GLIBC_2.12 pututline F
+GLIBC_2.12 pututxline F
+GLIBC_2.12 putw F
+GLIBC_2.12 putwc F
+GLIBC_2.12 putwc_unlocked F
+GLIBC_2.12 putwchar F
+GLIBC_2.12 putwchar_unlocked F
+GLIBC_2.12 pvalloc F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 pwritev F
+GLIBC_2.12 pwritev64 F
+GLIBC_2.12 qecvt F
+GLIBC_2.12 qecvt_r F
+GLIBC_2.12 qfcvt F
+GLIBC_2.12 qfcvt_r F
+GLIBC_2.12 qgcvt F
+GLIBC_2.12 qsort F
+GLIBC_2.12 qsort_r F
+GLIBC_2.12 query_module F
+GLIBC_2.12 quick_exit F
+GLIBC_2.12 quotactl F
+GLIBC_2.12 raise F
+GLIBC_2.12 rand F
+GLIBC_2.12 rand_r F
+GLIBC_2.12 random F
+GLIBC_2.12 random_r F
+GLIBC_2.12 rawmemchr F
+GLIBC_2.12 rcmd F
+GLIBC_2.12 rcmd_af F
+GLIBC_2.12 re_comp F
+GLIBC_2.12 re_compile_fastmap F
+GLIBC_2.12 re_compile_pattern F
+GLIBC_2.12 re_exec F
+GLIBC_2.12 re_match F
+GLIBC_2.12 re_match_2 F
+GLIBC_2.12 re_search F
+GLIBC_2.12 re_search_2 F
+GLIBC_2.12 re_set_registers F
+GLIBC_2.12 re_set_syntax F
+GLIBC_2.12 re_syntax_options D 0x4
+GLIBC_2.12 read F
+GLIBC_2.12 readahead F
+GLIBC_2.12 readdir F
+GLIBC_2.12 readdir64 F
+GLIBC_2.12 readdir64_r F
+GLIBC_2.12 readdir_r F
+GLIBC_2.12 readlink F
+GLIBC_2.12 readlinkat F
+GLIBC_2.12 readv F
+GLIBC_2.12 realloc F
+GLIBC_2.12 realpath F
+GLIBC_2.12 reboot F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 regcomp F
+GLIBC_2.12 regerror F
+GLIBC_2.12 regexec F
+GLIBC_2.12 regfree F
+GLIBC_2.12 register_printf_function F
+GLIBC_2.12 register_printf_modifier F
+GLIBC_2.12 register_printf_specifier F
+GLIBC_2.12 register_printf_type F
+GLIBC_2.12 registerrpc F
+GLIBC_2.12 remap_file_pages F
+GLIBC_2.12 remove F
+GLIBC_2.12 removexattr F
+GLIBC_2.12 remque F
+GLIBC_2.12 rename F
+GLIBC_2.12 renameat F
+GLIBC_2.12 revoke F
+GLIBC_2.12 rewind F
+GLIBC_2.12 rewinddir F
+GLIBC_2.12 rexec F
+GLIBC_2.12 rexec_af F
+GLIBC_2.12 rexecoptions D 0x4
+GLIBC_2.12 rindex F
+GLIBC_2.12 rmdir F
+GLIBC_2.12 rpc_createerr D 0x10
+GLIBC_2.12 rpmatch F
+GLIBC_2.12 rresvport F
+GLIBC_2.12 rresvport_af F
+GLIBC_2.12 rtime F
+GLIBC_2.12 ruserok F
+GLIBC_2.12 ruserok_af F
+GLIBC_2.12 ruserpass F
+GLIBC_2.12 sbrk F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 scandir F
+GLIBC_2.12 scandir64 F
+GLIBC_2.12 scanf F
+GLIBC_2.12 sched_get_priority_max F
+GLIBC_2.12 sched_get_priority_min F
+GLIBC_2.12 sched_getaffinity F
+GLIBC_2.12 sched_getcpu F
+GLIBC_2.12 sched_getparam F
+GLIBC_2.12 sched_getscheduler F
+GLIBC_2.12 sched_rr_get_interval F
+GLIBC_2.12 sched_setaffinity F
+GLIBC_2.12 sched_setparam F
+GLIBC_2.12 sched_setscheduler F
+GLIBC_2.12 sched_yield F
+GLIBC_2.12 seed48 F
+GLIBC_2.12 seed48_r F
+GLIBC_2.12 seekdir F
+GLIBC_2.12 select F
+GLIBC_2.12 semctl F
+GLIBC_2.12 semget F
+GLIBC_2.12 semop F
+GLIBC_2.12 semtimedop F
+GLIBC_2.12 send F
+GLIBC_2.12 sendfile F
+GLIBC_2.12 sendfile64 F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 set_dataplane F
+GLIBC_2.12 setaliasent F
+GLIBC_2.12 setbuf F
+GLIBC_2.12 setbuffer F
+GLIBC_2.12 setcontext F
+GLIBC_2.12 setdomainname F
+GLIBC_2.12 setegid F
+GLIBC_2.12 setenv F
+GLIBC_2.12 seteuid F
+GLIBC_2.12 setfsent F
+GLIBC_2.12 setfsgid F
+GLIBC_2.12 setfsuid F
+GLIBC_2.12 setgid F
+GLIBC_2.12 setgrent F
+GLIBC_2.12 setgroups F
+GLIBC_2.12 sethostent F
+GLIBC_2.12 sethostid F
+GLIBC_2.12 sethostname F
+GLIBC_2.12 setipv4sourcefilter F
+GLIBC_2.12 setitimer F
+GLIBC_2.12 setjmp F
+GLIBC_2.12 setlinebuf F
+GLIBC_2.12 setlocale F
+GLIBC_2.12 setlogin F
+GLIBC_2.12 setlogmask F
+GLIBC_2.12 setmntent F
+GLIBC_2.12 setnetent F
+GLIBC_2.12 setnetgrent F
+GLIBC_2.12 setpgid F
+GLIBC_2.12 setpgrp F
+GLIBC_2.12 setpriority F
+GLIBC_2.12 setprotoent F
+GLIBC_2.12 setpwent F
+GLIBC_2.12 setregid F
+GLIBC_2.12 setresgid F
+GLIBC_2.12 setresuid F
+GLIBC_2.12 setreuid F
+GLIBC_2.12 setrlimit F
+GLIBC_2.12 setrlimit64 F
+GLIBC_2.12 setrpcent F
+GLIBC_2.12 setservent F
+GLIBC_2.12 setsgent F
+GLIBC_2.12 setsid F
+GLIBC_2.12 setsockopt F
+GLIBC_2.12 setsourcefilter F
+GLIBC_2.12 setspent F
+GLIBC_2.12 setstate F
+GLIBC_2.12 setstate_r F
+GLIBC_2.12 settimeofday F
+GLIBC_2.12 setttyent F
+GLIBC_2.12 setuid F
+GLIBC_2.12 setusershell F
+GLIBC_2.12 setutent F
+GLIBC_2.12 setutxent F
+GLIBC_2.12 setvbuf F
+GLIBC_2.12 setxattr F
+GLIBC_2.12 sgetsgent F
+GLIBC_2.12 sgetsgent_r F
+GLIBC_2.12 sgetspent F
+GLIBC_2.12 sgetspent_r F
+GLIBC_2.12 shmat F
+GLIBC_2.12 shmctl F
+GLIBC_2.12 shmdt F
+GLIBC_2.12 shmget F
+GLIBC_2.12 shutdown F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 sigaddset F
+GLIBC_2.12 sigaltstack F
+GLIBC_2.12 sigandset F
+GLIBC_2.12 sigblock F
+GLIBC_2.12 sigdelset F
+GLIBC_2.12 sigemptyset F
+GLIBC_2.12 sigfillset F
+GLIBC_2.12 siggetmask F
+GLIBC_2.12 sighold F
+GLIBC_2.12 sigignore F
+GLIBC_2.12 siginterrupt F
+GLIBC_2.12 sigisemptyset F
+GLIBC_2.12 sigismember F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 signal F
+GLIBC_2.12 signalfd F
+GLIBC_2.12 sigorset F
+GLIBC_2.12 sigpause F
+GLIBC_2.12 sigpending F
+GLIBC_2.12 sigprocmask F
+GLIBC_2.12 sigqueue F
+GLIBC_2.12 sigrelse F
+GLIBC_2.12 sigreturn F
+GLIBC_2.12 sigset F
+GLIBC_2.12 sigsetmask F
+GLIBC_2.12 sigstack F
+GLIBC_2.12 sigsuspend F
+GLIBC_2.12 sigtimedwait F
+GLIBC_2.12 sigvec F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 sigwaitinfo F
+GLIBC_2.12 sleep F
+GLIBC_2.12 snprintf F
+GLIBC_2.12 sockatmark F
+GLIBC_2.12 socket F
+GLIBC_2.12 socketpair F
+GLIBC_2.12 splice F
+GLIBC_2.12 sprintf F
+GLIBC_2.12 sprofil F
+GLIBC_2.12 srand F
+GLIBC_2.12 srand48 F
+GLIBC_2.12 srand48_r F
+GLIBC_2.12 srandom F
+GLIBC_2.12 srandom_r F
+GLIBC_2.12 sscanf F
+GLIBC_2.12 ssignal F
+GLIBC_2.12 sstk F
+GLIBC_2.12 statfs F
+GLIBC_2.12 statfs64 F
+GLIBC_2.12 statvfs F
+GLIBC_2.12 statvfs64 F
+GLIBC_2.12 stderr D 0x4
+GLIBC_2.12 stdin D 0x4
+GLIBC_2.12 stdout D 0x4
+GLIBC_2.12 step F
+GLIBC_2.12 stime F
+GLIBC_2.12 stpcpy F
+GLIBC_2.12 stpncpy F
+GLIBC_2.12 strcasecmp F
+GLIBC_2.12 strcasecmp_l F
+GLIBC_2.12 strcasestr F
+GLIBC_2.12 strcat F
+GLIBC_2.12 strchr F
+GLIBC_2.12 strchrnul F
+GLIBC_2.12 strcmp F
+GLIBC_2.12 strcoll F
+GLIBC_2.12 strcoll_l F
+GLIBC_2.12 strcpy F
+GLIBC_2.12 strcspn F
+GLIBC_2.12 strdup F
+GLIBC_2.12 strerror F
+GLIBC_2.12 strerror_l F
+GLIBC_2.12 strerror_r F
+GLIBC_2.12 strfmon F
+GLIBC_2.12 strfmon_l F
+GLIBC_2.12 strfry F
+GLIBC_2.12 strftime F
+GLIBC_2.12 strftime_l F
+GLIBC_2.12 strlen F
+GLIBC_2.12 strncasecmp F
+GLIBC_2.12 strncasecmp_l F
+GLIBC_2.12 strncat F
+GLIBC_2.12 strncmp F
+GLIBC_2.12 strncpy F
+GLIBC_2.12 strndup F
+GLIBC_2.12 strnlen F
+GLIBC_2.12 strpbrk F
+GLIBC_2.12 strptime F
+GLIBC_2.12 strptime_l F
+GLIBC_2.12 strrchr F
+GLIBC_2.12 strsep F
+GLIBC_2.12 strsignal F
+GLIBC_2.12 strspn F
+GLIBC_2.12 strstr F
+GLIBC_2.12 strtod F
+GLIBC_2.12 strtod_l F
+GLIBC_2.12 strtof F
+GLIBC_2.12 strtof_l F
+GLIBC_2.12 strtoimax F
+GLIBC_2.12 strtok F
+GLIBC_2.12 strtok_r F
+GLIBC_2.12 strtol F
+GLIBC_2.12 strtol_l F
+GLIBC_2.12 strtold F
+GLIBC_2.12 strtold_l F
+GLIBC_2.12 strtoll F
+GLIBC_2.12 strtoll_l F
+GLIBC_2.12 strtoq F
+GLIBC_2.12 strtoul F
+GLIBC_2.12 strtoul_l F
+GLIBC_2.12 strtoull F
+GLIBC_2.12 strtoull_l F
+GLIBC_2.12 strtoumax F
+GLIBC_2.12 strtouq F
+GLIBC_2.12 strverscmp F
+GLIBC_2.12 strxfrm F
+GLIBC_2.12 strxfrm_l F
+GLIBC_2.12 stty F
+GLIBC_2.12 svc_exit F
+GLIBC_2.12 svc_fdset D 0x80
+GLIBC_2.12 svc_getreq F
+GLIBC_2.12 svc_getreq_common F
+GLIBC_2.12 svc_getreq_poll F
+GLIBC_2.12 svc_getreqset F
+GLIBC_2.12 svc_max_pollfd D 0x4
+GLIBC_2.12 svc_pollfd D 0x4
+GLIBC_2.12 svc_register F
+GLIBC_2.12 svc_run F
+GLIBC_2.12 svc_sendreply F
+GLIBC_2.12 svc_unregister F
+GLIBC_2.12 svcauthdes_stats D 0xc
+GLIBC_2.12 svcerr_auth F
+GLIBC_2.12 svcerr_decode F
+GLIBC_2.12 svcerr_noproc F
+GLIBC_2.12 svcerr_noprog F
+GLIBC_2.12 svcerr_progvers F
+GLIBC_2.12 svcerr_systemerr F
+GLIBC_2.12 svcerr_weakauth F
+GLIBC_2.12 svcfd_create F
+GLIBC_2.12 svcraw_create F
+GLIBC_2.12 svctcp_create F
+GLIBC_2.12 svcudp_bufcreate F
+GLIBC_2.12 svcudp_create F
+GLIBC_2.12 svcudp_enablecache F
+GLIBC_2.12 svcunix_create F
+GLIBC_2.12 svcunixfd_create F
+GLIBC_2.12 swab F
+GLIBC_2.12 swapcontext F
+GLIBC_2.12 swapoff F
+GLIBC_2.12 swapon F
+GLIBC_2.12 swprintf F
+GLIBC_2.12 swscanf F
+GLIBC_2.12 symlink F
+GLIBC_2.12 symlinkat F
+GLIBC_2.12 sync F
+GLIBC_2.12 sync_file_range F
+GLIBC_2.12 sys_errlist D 0x21c
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.12 sys_sigabbrev D 0x104
+GLIBC_2.12 sys_siglist D 0x104
+GLIBC_2.12 syscall F
+GLIBC_2.12 sysconf F
+GLIBC_2.12 sysctl F
+GLIBC_2.12 sysinfo F
+GLIBC_2.12 syslog F
+GLIBC_2.12 system F
+GLIBC_2.12 sysv_signal F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 tcflow F
+GLIBC_2.12 tcflush F
+GLIBC_2.12 tcgetattr F
+GLIBC_2.12 tcgetpgrp F
+GLIBC_2.12 tcgetsid F
+GLIBC_2.12 tcsendbreak F
+GLIBC_2.12 tcsetattr F
+GLIBC_2.12 tcsetpgrp F
+GLIBC_2.12 tdelete F
+GLIBC_2.12 tdestroy F
+GLIBC_2.12 tee F
+GLIBC_2.12 telldir F
+GLIBC_2.12 tempnam F
+GLIBC_2.12 textdomain F
+GLIBC_2.12 tfind F
+GLIBC_2.12 time F
+GLIBC_2.12 timegm F
+GLIBC_2.12 timelocal F
+GLIBC_2.12 timerfd_create F
+GLIBC_2.12 timerfd_gettime F
+GLIBC_2.12 timerfd_settime F
+GLIBC_2.12 times F
+GLIBC_2.12 timezone D 0x4
+GLIBC_2.12 tmpfile F
+GLIBC_2.12 tmpfile64 F
+GLIBC_2.12 tmpnam F
+GLIBC_2.12 tmpnam_r F
+GLIBC_2.12 toascii F
+GLIBC_2.12 tolower F
+GLIBC_2.12 tolower_l F
+GLIBC_2.12 toupper F
+GLIBC_2.12 toupper_l F
+GLIBC_2.12 towctrans F
+GLIBC_2.12 towctrans_l F
+GLIBC_2.12 towlower F
+GLIBC_2.12 towlower_l F
+GLIBC_2.12 towupper F
+GLIBC_2.12 towupper_l F
+GLIBC_2.12 tr_break F
+GLIBC_2.12 truncate F
+GLIBC_2.12 truncate64 F
+GLIBC_2.12 tsearch F
+GLIBC_2.12 ttyname F
+GLIBC_2.12 ttyname_r F
+GLIBC_2.12 ttyslot F
+GLIBC_2.12 twalk F
+GLIBC_2.12 tzname D 0x8
+GLIBC_2.12 tzset F
+GLIBC_2.12 ualarm F
+GLIBC_2.12 ulckpwdf F
+GLIBC_2.12 ulimit F
+GLIBC_2.12 umask F
+GLIBC_2.12 umount F
+GLIBC_2.12 umount2 F
+GLIBC_2.12 uname F
+GLIBC_2.12 ungetc F
+GLIBC_2.12 ungetwc F
+GLIBC_2.12 unlink F
+GLIBC_2.12 unlinkat F
+GLIBC_2.12 unlockpt F
+GLIBC_2.12 unsetenv F
+GLIBC_2.12 unshare F
+GLIBC_2.12 updwtmp F
+GLIBC_2.12 updwtmpx F
+GLIBC_2.12 uselib F
+GLIBC_2.12 uselocale F
+GLIBC_2.12 user2netname F
+GLIBC_2.12 usleep F
+GLIBC_2.12 ustat F
+GLIBC_2.12 utime F
+GLIBC_2.12 utimensat F
+GLIBC_2.12 utimes F
+GLIBC_2.12 utmpname F
+GLIBC_2.12 utmpxname F
+GLIBC_2.12 valloc F
+GLIBC_2.12 vasprintf F
+GLIBC_2.12 vdprintf F
+GLIBC_2.12 verr F
+GLIBC_2.12 verrx F
+GLIBC_2.12 versionsort F
+GLIBC_2.12 versionsort64 F
+GLIBC_2.12 vfork F
+GLIBC_2.12 vfprintf F
+GLIBC_2.12 vfscanf F
+GLIBC_2.12 vfwprintf F
+GLIBC_2.12 vfwscanf F
+GLIBC_2.12 vhangup F
+GLIBC_2.12 vlimit F
+GLIBC_2.12 vmsplice F
+GLIBC_2.12 vprintf F
+GLIBC_2.12 vscanf F
+GLIBC_2.12 vsnprintf F
+GLIBC_2.12 vsprintf F
+GLIBC_2.12 vsscanf F
+GLIBC_2.12 vswprintf F
+GLIBC_2.12 vswscanf F
+GLIBC_2.12 vsyslog F
+GLIBC_2.12 vtimes F
+GLIBC_2.12 vwarn F
+GLIBC_2.12 vwarnx F
+GLIBC_2.12 vwprintf F
+GLIBC_2.12 vwscanf F
+GLIBC_2.12 wait F
+GLIBC_2.12 wait3 F
+GLIBC_2.12 wait4 F
+GLIBC_2.12 waitid F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 warn F
+GLIBC_2.12 warnx F
+GLIBC_2.12 wcpcpy F
+GLIBC_2.12 wcpncpy F
+GLIBC_2.12 wcrtomb F
+GLIBC_2.12 wcscasecmp F
+GLIBC_2.12 wcscasecmp_l F
+GLIBC_2.12 wcscat F
+GLIBC_2.12 wcschr F
+GLIBC_2.12 wcschrnul F
+GLIBC_2.12 wcscmp F
+GLIBC_2.12 wcscoll F
+GLIBC_2.12 wcscoll_l F
+GLIBC_2.12 wcscpy F
+GLIBC_2.12 wcscspn F
+GLIBC_2.12 wcsdup F
+GLIBC_2.12 wcsftime F
+GLIBC_2.12 wcsftime_l F
+GLIBC_2.12 wcslen F
+GLIBC_2.12 wcsncasecmp F
+GLIBC_2.12 wcsncasecmp_l F
+GLIBC_2.12 wcsncat F
+GLIBC_2.12 wcsncmp F
+GLIBC_2.12 wcsncpy F
+GLIBC_2.12 wcsnlen F
+GLIBC_2.12 wcsnrtombs F
+GLIBC_2.12 wcspbrk F
+GLIBC_2.12 wcsrchr F
+GLIBC_2.12 wcsrtombs F
+GLIBC_2.12 wcsspn F
+GLIBC_2.12 wcsstr F
+GLIBC_2.12 wcstod F
+GLIBC_2.12 wcstod_l F
+GLIBC_2.12 wcstof F
+GLIBC_2.12 wcstof_l F
+GLIBC_2.12 wcstoimax F
+GLIBC_2.12 wcstok F
+GLIBC_2.12 wcstol F
+GLIBC_2.12 wcstol_l F
+GLIBC_2.12 wcstold F
+GLIBC_2.12 wcstold_l F
+GLIBC_2.12 wcstoll F
+GLIBC_2.12 wcstoll_l F
+GLIBC_2.12 wcstombs F
+GLIBC_2.12 wcstoq F
+GLIBC_2.12 wcstoul F
+GLIBC_2.12 wcstoul_l F
+GLIBC_2.12 wcstoull F
+GLIBC_2.12 wcstoull_l F
+GLIBC_2.12 wcstoumax F
+GLIBC_2.12 wcstouq F
+GLIBC_2.12 wcswcs F
+GLIBC_2.12 wcswidth F
+GLIBC_2.12 wcsxfrm F
+GLIBC_2.12 wcsxfrm_l F
+GLIBC_2.12 wctob F
+GLIBC_2.12 wctomb F
+GLIBC_2.12 wctrans F
+GLIBC_2.12 wctrans_l F
+GLIBC_2.12 wctype F
+GLIBC_2.12 wctype_l F
+GLIBC_2.12 wcwidth F
+GLIBC_2.12 wmemchr F
+GLIBC_2.12 wmemcmp F
+GLIBC_2.12 wmemcpy F
+GLIBC_2.12 wmemmove F
+GLIBC_2.12 wmempcpy F
+GLIBC_2.12 wmemset F
+GLIBC_2.12 wordexp F
+GLIBC_2.12 wordfree F
+GLIBC_2.12 wprintf F
+GLIBC_2.12 write F
+GLIBC_2.12 writev F
+GLIBC_2.12 wscanf F
+GLIBC_2.12 xdecrypt F
+GLIBC_2.12 xdr_accepted_reply F
+GLIBC_2.12 xdr_array F
+GLIBC_2.12 xdr_authdes_cred F
+GLIBC_2.12 xdr_authdes_verf F
+GLIBC_2.12 xdr_authunix_parms F
+GLIBC_2.12 xdr_bool F
+GLIBC_2.12 xdr_bytes F
+GLIBC_2.12 xdr_callhdr F
+GLIBC_2.12 xdr_callmsg F
+GLIBC_2.12 xdr_char F
+GLIBC_2.12 xdr_cryptkeyarg F
+GLIBC_2.12 xdr_cryptkeyarg2 F
+GLIBC_2.12 xdr_cryptkeyres F
+GLIBC_2.12 xdr_des_block F
+GLIBC_2.12 xdr_double F
+GLIBC_2.12 xdr_enum F
+GLIBC_2.12 xdr_float F
+GLIBC_2.12 xdr_free F
+GLIBC_2.12 xdr_getcredres F
+GLIBC_2.12 xdr_hyper F
+GLIBC_2.12 xdr_int F
+GLIBC_2.12 xdr_int16_t F
+GLIBC_2.12 xdr_int32_t F
+GLIBC_2.12 xdr_int64_t F
+GLIBC_2.12 xdr_int8_t F
+GLIBC_2.12 xdr_key_netstarg F
+GLIBC_2.12 xdr_key_netstres F
+GLIBC_2.12 xdr_keybuf F
+GLIBC_2.12 xdr_keystatus F
+GLIBC_2.12 xdr_long F
+GLIBC_2.12 xdr_longlong_t F
+GLIBC_2.12 xdr_netnamestr F
+GLIBC_2.12 xdr_netobj F
+GLIBC_2.12 xdr_opaque F
+GLIBC_2.12 xdr_opaque_auth F
+GLIBC_2.12 xdr_pmap F
+GLIBC_2.12 xdr_pmaplist F
+GLIBC_2.12 xdr_pointer F
+GLIBC_2.12 xdr_quad_t F
+GLIBC_2.12 xdr_reference F
+GLIBC_2.12 xdr_rejected_reply F
+GLIBC_2.12 xdr_replymsg F
+GLIBC_2.12 xdr_rmtcall_args F
+GLIBC_2.12 xdr_rmtcallres F
+GLIBC_2.12 xdr_short F
+GLIBC_2.12 xdr_sizeof F
+GLIBC_2.12 xdr_string F
+GLIBC_2.12 xdr_u_char F
+GLIBC_2.12 xdr_u_hyper F
+GLIBC_2.12 xdr_u_int F
+GLIBC_2.12 xdr_u_long F
+GLIBC_2.12 xdr_u_longlong_t F
+GLIBC_2.12 xdr_u_quad_t F
+GLIBC_2.12 xdr_u_short F
+GLIBC_2.12 xdr_uint16_t F
+GLIBC_2.12 xdr_uint32_t F
+GLIBC_2.12 xdr_uint64_t F
+GLIBC_2.12 xdr_uint8_t F
+GLIBC_2.12 xdr_union F
+GLIBC_2.12 xdr_unixcred F
+GLIBC_2.12 xdr_vector F
+GLIBC_2.12 xdr_void F
+GLIBC_2.12 xdr_wrapstring F
+GLIBC_2.12 xdrmem_create F
+GLIBC_2.12 xdrrec_create F
+GLIBC_2.12 xdrrec_endofrecord F
+GLIBC_2.12 xdrrec_eof F
+GLIBC_2.12 xdrrec_skiprecord F
+GLIBC_2.12 xdrstdio_create F
+GLIBC_2.12 xencrypt F
+GLIBC_2.12 xprt_register F
+GLIBC_2.12 xprt_unregister F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 clock_adjtime F
+GLIBC_2.15 fanotify_init F
+GLIBC_2.15 fanotify_mark F
+GLIBC_2.15 name_to_handle_at F
+GLIBC_2.15 open_by_handle_at F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 prlimit F
+GLIBC_2.15 prlimit64 F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.15 sendmmsg F
+GLIBC_2.15 setns F
+GLIBC_2.15 syncfs F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist
new file mode 100644
index 0000000000..d5643802b7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 crypt F
+GLIBC_2.12 crypt_r F
+GLIBC_2.12 encrypt F
+GLIBC_2.12 encrypt_r F
+GLIBC_2.12 fcrypt F
+GLIBC_2.12 setkey F
+GLIBC_2.12 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist
new file mode 100644
index 0000000000..cabc30c239
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 dladdr F
+GLIBC_2.12 dladdr1 F
+GLIBC_2.12 dlclose F
+GLIBC_2.12 dlerror F
+GLIBC_2.12 dlinfo F
+GLIBC_2.12 dlmopen F
+GLIBC_2.12 dlopen F
+GLIBC_2.12 dlsym F
+GLIBC_2.12 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
new file mode 100644
index 0000000000..0059c27fa2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
@@ -0,0 +1,431 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _LIB_VERSION D 0x4
+GLIBC_2.12 __clog10 F
+GLIBC_2.12 __clog10f F
+GLIBC_2.12 __clog10l F
+GLIBC_2.12 __finite F
+GLIBC_2.12 __finitef F
+GLIBC_2.12 __fpclassify F
+GLIBC_2.12 __fpclassifyf F
+GLIBC_2.12 __signbit F
+GLIBC_2.12 __signbitf F
+GLIBC_2.12 acos F
+GLIBC_2.12 acosf F
+GLIBC_2.12 acosh F
+GLIBC_2.12 acoshf F
+GLIBC_2.12 acoshl F
+GLIBC_2.12 acosl F
+GLIBC_2.12 asin F
+GLIBC_2.12 asinf F
+GLIBC_2.12 asinh F
+GLIBC_2.12 asinhf F
+GLIBC_2.12 asinhl F
+GLIBC_2.12 asinl F
+GLIBC_2.12 atan F
+GLIBC_2.12 atan2 F
+GLIBC_2.12 atan2f F
+GLIBC_2.12 atan2l F
+GLIBC_2.12 atanf F
+GLIBC_2.12 atanh F
+GLIBC_2.12 atanhf F
+GLIBC_2.12 atanhl F
+GLIBC_2.12 atanl F
+GLIBC_2.12 cabs F
+GLIBC_2.12 cabsf F
+GLIBC_2.12 cabsl F
+GLIBC_2.12 cacos F
+GLIBC_2.12 cacosf F
+GLIBC_2.12 cacosh F
+GLIBC_2.12 cacoshf F
+GLIBC_2.12 cacoshl F
+GLIBC_2.12 cacosl F
+GLIBC_2.12 carg F
+GLIBC_2.12 cargf F
+GLIBC_2.12 cargl F
+GLIBC_2.12 casin F
+GLIBC_2.12 casinf F
+GLIBC_2.12 casinh F
+GLIBC_2.12 casinhf F
+GLIBC_2.12 casinhl F
+GLIBC_2.12 casinl F
+GLIBC_2.12 catan F
+GLIBC_2.12 catanf F
+GLIBC_2.12 catanh F
+GLIBC_2.12 catanhf F
+GLIBC_2.12 catanhl F
+GLIBC_2.12 catanl F
+GLIBC_2.12 cbrt F
+GLIBC_2.12 cbrtf F
+GLIBC_2.12 cbrtl F
+GLIBC_2.12 ccos F
+GLIBC_2.12 ccosf F
+GLIBC_2.12 ccosh F
+GLIBC_2.12 ccoshf F
+GLIBC_2.12 ccoshl F
+GLIBC_2.12 ccosl F
+GLIBC_2.12 ceil F
+GLIBC_2.12 ceilf F
+GLIBC_2.12 ceill F
+GLIBC_2.12 cexp F
+GLIBC_2.12 cexpf F
+GLIBC_2.12 cexpl F
+GLIBC_2.12 cimag F
+GLIBC_2.12 cimagf F
+GLIBC_2.12 cimagl F
+GLIBC_2.12 clog F
+GLIBC_2.12 clog10 F
+GLIBC_2.12 clog10f F
+GLIBC_2.12 clog10l F
+GLIBC_2.12 clogf F
+GLIBC_2.12 clogl F
+GLIBC_2.12 conj F
+GLIBC_2.12 conjf F
+GLIBC_2.12 conjl F
+GLIBC_2.12 copysign F
+GLIBC_2.12 copysignf F
+GLIBC_2.12 copysignl F
+GLIBC_2.12 cos F
+GLIBC_2.12 cosf F
+GLIBC_2.12 cosh F
+GLIBC_2.12 coshf F
+GLIBC_2.12 coshl F
+GLIBC_2.12 cosl F
+GLIBC_2.12 cpow F
+GLIBC_2.12 cpowf F
+GLIBC_2.12 cpowl F
+GLIBC_2.12 cproj F
+GLIBC_2.12 cprojf F
+GLIBC_2.12 cprojl F
+GLIBC_2.12 creal F
+GLIBC_2.12 crealf F
+GLIBC_2.12 creall F
+GLIBC_2.12 csin F
+GLIBC_2.12 csinf F
+GLIBC_2.12 csinh F
+GLIBC_2.12 csinhf F
+GLIBC_2.12 csinhl F
+GLIBC_2.12 csinl F
+GLIBC_2.12 csqrt F
+GLIBC_2.12 csqrtf F
+GLIBC_2.12 csqrtl F
+GLIBC_2.12 ctan F
+GLIBC_2.12 ctanf F
+GLIBC_2.12 ctanh F
+GLIBC_2.12 ctanhf F
+GLIBC_2.12 ctanhl F
+GLIBC_2.12 ctanl F
+GLIBC_2.12 drem F
+GLIBC_2.12 dremf F
+GLIBC_2.12 dreml F
+GLIBC_2.12 erf F
+GLIBC_2.12 erfc F
+GLIBC_2.12 erfcf F
+GLIBC_2.12 erfcl F
+GLIBC_2.12 erff F
+GLIBC_2.12 erfl F
+GLIBC_2.12 exp F
+GLIBC_2.12 exp10 F
+GLIBC_2.12 exp10f F
+GLIBC_2.12 exp10l F
+GLIBC_2.12 exp2 F
+GLIBC_2.12 exp2f F
+GLIBC_2.12 exp2l F
+GLIBC_2.12 expf F
+GLIBC_2.12 expl F
+GLIBC_2.12 expm1 F
+GLIBC_2.12 expm1f F
+GLIBC_2.12 expm1l F
+GLIBC_2.12 fabs F
+GLIBC_2.12 fabsf F
+GLIBC_2.12 fabsl F
+GLIBC_2.12 fdim F
+GLIBC_2.12 fdimf F
+GLIBC_2.12 fdiml F
+GLIBC_2.12 feclearexcept F
+GLIBC_2.12 fedisableexcept F
+GLIBC_2.12 feenableexcept F
+GLIBC_2.12 fegetenv F
+GLIBC_2.12 fegetexcept F
+GLIBC_2.12 fegetexceptflag F
+GLIBC_2.12 fegetround F
+GLIBC_2.12 feholdexcept F
+GLIBC_2.12 feraiseexcept F
+GLIBC_2.12 fesetenv F
+GLIBC_2.12 fesetexceptflag F
+GLIBC_2.12 fesetround F
+GLIBC_2.12 fetestexcept F
+GLIBC_2.12 feupdateenv F
+GLIBC_2.12 finite F
+GLIBC_2.12 finitef F
+GLIBC_2.12 finitel F
+GLIBC_2.12 floor F
+GLIBC_2.12 floorf F
+GLIBC_2.12 floorl F
+GLIBC_2.12 fma F
+GLIBC_2.12 fmaf F
+GLIBC_2.12 fmal F
+GLIBC_2.12 fmax F
+GLIBC_2.12 fmaxf F
+GLIBC_2.12 fmaxl F
+GLIBC_2.12 fmin F
+GLIBC_2.12 fminf F
+GLIBC_2.12 fminl F
+GLIBC_2.12 fmod F
+GLIBC_2.12 fmodf F
+GLIBC_2.12 fmodl F
+GLIBC_2.12 frexp F
+GLIBC_2.12 frexpf F
+GLIBC_2.12 frexpl F
+GLIBC_2.12 gamma F
+GLIBC_2.12 gammaf F
+GLIBC_2.12 gammal F
+GLIBC_2.12 hypot F
+GLIBC_2.12 hypotf F
+GLIBC_2.12 hypotl F
+GLIBC_2.12 ilogb F
+GLIBC_2.12 ilogbf F
+GLIBC_2.12 ilogbl F
+GLIBC_2.12 j0 F
+GLIBC_2.12 j0f F
+GLIBC_2.12 j0l F
+GLIBC_2.12 j1 F
+GLIBC_2.12 j1f F
+GLIBC_2.12 j1l F
+GLIBC_2.12 jn F
+GLIBC_2.12 jnf F
+GLIBC_2.12 jnl F
+GLIBC_2.12 ldexp F
+GLIBC_2.12 ldexpf F
+GLIBC_2.12 ldexpl F
+GLIBC_2.12 lgamma F
+GLIBC_2.12 lgamma_r F
+GLIBC_2.12 lgammaf F
+GLIBC_2.12 lgammaf_r F
+GLIBC_2.12 lgammal F
+GLIBC_2.12 lgammal_r F
+GLIBC_2.12 llrint F
+GLIBC_2.12 llrintf F
+GLIBC_2.12 llrintl F
+GLIBC_2.12 llround F
+GLIBC_2.12 llroundf F
+GLIBC_2.12 llroundl F
+GLIBC_2.12 log F
+GLIBC_2.12 log10 F
+GLIBC_2.12 log10f F
+GLIBC_2.12 log10l F
+GLIBC_2.12 log1p F
+GLIBC_2.12 log1pf F
+GLIBC_2.12 log1pl F
+GLIBC_2.12 log2 F
+GLIBC_2.12 log2f F
+GLIBC_2.12 log2l F
+GLIBC_2.12 logb F
+GLIBC_2.12 logbf F
+GLIBC_2.12 logbl F
+GLIBC_2.12 logf F
+GLIBC_2.12 logl F
+GLIBC_2.12 lrint F
+GLIBC_2.12 lrintf F
+GLIBC_2.12 lrintl F
+GLIBC_2.12 lround F
+GLIBC_2.12 lroundf F
+GLIBC_2.12 lroundl F
+GLIBC_2.12 matherr F
+GLIBC_2.12 modf F
+GLIBC_2.12 modff F
+GLIBC_2.12 modfl F
+GLIBC_2.12 nan F
+GLIBC_2.12 nanf F
+GLIBC_2.12 nanl F
+GLIBC_2.12 nearbyint F
+GLIBC_2.12 nearbyintf F
+GLIBC_2.12 nearbyintl F
+GLIBC_2.12 nextafter F
+GLIBC_2.12 nextafterf F
+GLIBC_2.12 nextafterl F
+GLIBC_2.12 nexttoward F
+GLIBC_2.12 nexttowardf F
+GLIBC_2.12 nexttowardl F
+GLIBC_2.12 pow F
+GLIBC_2.12 pow10 F
+GLIBC_2.12 pow10f F
+GLIBC_2.12 pow10l F
+GLIBC_2.12 powf F
+GLIBC_2.12 powl F
+GLIBC_2.12 remainder F
+GLIBC_2.12 remainderf F
+GLIBC_2.12 remainderl F
+GLIBC_2.12 remquo F
+GLIBC_2.12 remquof F
+GLIBC_2.12 remquol F
+GLIBC_2.12 rint F
+GLIBC_2.12 rintf F
+GLIBC_2.12 rintl F
+GLIBC_2.12 round F
+GLIBC_2.12 roundf F
+GLIBC_2.12 roundl F
+GLIBC_2.12 scalb F
+GLIBC_2.12 scalbf F
+GLIBC_2.12 scalbl F
+GLIBC_2.12 scalbln F
+GLIBC_2.12 scalblnf F
+GLIBC_2.12 scalblnl F
+GLIBC_2.12 scalbn F
+GLIBC_2.12 scalbnf F
+GLIBC_2.12 scalbnl F
+GLIBC_2.12 signgam D 0x4
+GLIBC_2.12 significand F
+GLIBC_2.12 significandf F
+GLIBC_2.12 significandl F
+GLIBC_2.12 sin F
+GLIBC_2.12 sincos F
+GLIBC_2.12 sincosf F
+GLIBC_2.12 sincosl F
+GLIBC_2.12 sinf F
+GLIBC_2.12 sinh F
+GLIBC_2.12 sinhf F
+GLIBC_2.12 sinhl F
+GLIBC_2.12 sinl F
+GLIBC_2.12 sqrt F
+GLIBC_2.12 sqrtf F
+GLIBC_2.12 sqrtl F
+GLIBC_2.12 tan F
+GLIBC_2.12 tanf F
+GLIBC_2.12 tanh F
+GLIBC_2.12 tanhf F
+GLIBC_2.12 tanhl F
+GLIBC_2.12 tanl F
+GLIBC_2.12 tgamma F
+GLIBC_2.12 tgammaf F
+GLIBC_2.12 tgammal F
+GLIBC_2.12 trunc F
+GLIBC_2.12 truncf F
+GLIBC_2.12 truncl F
+GLIBC_2.12 y0 F
+GLIBC_2.12 y0f F
+GLIBC_2.12 y0l F
+GLIBC_2.12 y1 F
+GLIBC_2.12 y1f F
+GLIBC_2.12 y1l F
+GLIBC_2.12 yn F
+GLIBC_2.12 ynf F
+GLIBC_2.12 ynl F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist
new file mode 100644
index 0000000000..0277e5c1a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __free_fdresult F
+GLIBC_2.12 __nis_default_access F
+GLIBC_2.12 __nis_default_group F
+GLIBC_2.12 __nis_default_owner F
+GLIBC_2.12 __nis_default_ttl F
+GLIBC_2.12 __nis_finddirectory F
+GLIBC_2.12 __nis_hash F
+GLIBC_2.12 __nisbind_connect F
+GLIBC_2.12 __nisbind_create F
+GLIBC_2.12 __nisbind_destroy F
+GLIBC_2.12 __nisbind_next F
+GLIBC_2.12 __yp_check F
+GLIBC_2.12 nis_add F
+GLIBC_2.12 nis_add_entry F
+GLIBC_2.12 nis_addmember F
+GLIBC_2.12 nis_checkpoint F
+GLIBC_2.12 nis_clone_directory F
+GLIBC_2.12 nis_clone_object F
+GLIBC_2.12 nis_clone_result F
+GLIBC_2.12 nis_creategroup F
+GLIBC_2.12 nis_destroy_object F
+GLIBC_2.12 nis_destroygroup F
+GLIBC_2.12 nis_dir_cmp F
+GLIBC_2.12 nis_domain_of F
+GLIBC_2.12 nis_domain_of_r F
+GLIBC_2.12 nis_first_entry F
+GLIBC_2.12 nis_free_directory F
+GLIBC_2.12 nis_free_object F
+GLIBC_2.12 nis_free_request F
+GLIBC_2.12 nis_freenames F
+GLIBC_2.12 nis_freeresult F
+GLIBC_2.12 nis_freeservlist F
+GLIBC_2.12 nis_freetags F
+GLIBC_2.12 nis_getnames F
+GLIBC_2.12 nis_getservlist F
+GLIBC_2.12 nis_ismember F
+GLIBC_2.12 nis_leaf_of F
+GLIBC_2.12 nis_leaf_of_r F
+GLIBC_2.12 nis_lerror F
+GLIBC_2.12 nis_list F
+GLIBC_2.12 nis_local_directory F
+GLIBC_2.12 nis_local_group F
+GLIBC_2.12 nis_local_host F
+GLIBC_2.12 nis_local_principal F
+GLIBC_2.12 nis_lookup F
+GLIBC_2.12 nis_mkdir F
+GLIBC_2.12 nis_modify F
+GLIBC_2.12 nis_modify_entry F
+GLIBC_2.12 nis_name_of F
+GLIBC_2.12 nis_name_of_r F
+GLIBC_2.12 nis_next_entry F
+GLIBC_2.12 nis_perror F
+GLIBC_2.12 nis_ping F
+GLIBC_2.12 nis_print_directory F
+GLIBC_2.12 nis_print_entry F
+GLIBC_2.12 nis_print_group F
+GLIBC_2.12 nis_print_group_entry F
+GLIBC_2.12 nis_print_link F
+GLIBC_2.12 nis_print_object F
+GLIBC_2.12 nis_print_result F
+GLIBC_2.12 nis_print_rights F
+GLIBC_2.12 nis_print_table F
+GLIBC_2.12 nis_read_obj F
+GLIBC_2.12 nis_remove F
+GLIBC_2.12 nis_remove_entry F
+GLIBC_2.12 nis_removemember F
+GLIBC_2.12 nis_rmdir F
+GLIBC_2.12 nis_servstate F
+GLIBC_2.12 nis_sperrno F
+GLIBC_2.12 nis_sperror F
+GLIBC_2.12 nis_sperror_r F
+GLIBC_2.12 nis_stats F
+GLIBC_2.12 nis_verifygroup F
+GLIBC_2.12 nis_write_obj F
+GLIBC_2.12 readColdStartFile F
+GLIBC_2.12 writeColdStartFile F
+GLIBC_2.12 xdr_cback_data F
+GLIBC_2.12 xdr_domainname F
+GLIBC_2.12 xdr_keydat F
+GLIBC_2.12 xdr_mapname F
+GLIBC_2.12 xdr_obj_p F
+GLIBC_2.12 xdr_peername F
+GLIBC_2.12 xdr_valdat F
+GLIBC_2.12 xdr_yp_buf F
+GLIBC_2.12 xdr_ypall F
+GLIBC_2.12 xdr_ypbind_binding F
+GLIBC_2.12 xdr_ypbind_resp F
+GLIBC_2.12 xdr_ypbind_resptype F
+GLIBC_2.12 xdr_ypbind_setdom F
+GLIBC_2.12 xdr_ypdelete_args F
+GLIBC_2.12 xdr_ypmap_parms F
+GLIBC_2.12 xdr_ypmaplist F
+GLIBC_2.12 xdr_yppush_status F
+GLIBC_2.12 xdr_yppushresp_xfr F
+GLIBC_2.12 xdr_ypreq_key F
+GLIBC_2.12 xdr_ypreq_nokey F
+GLIBC_2.12 xdr_ypreq_xfr F
+GLIBC_2.12 xdr_ypresp_all F
+GLIBC_2.12 xdr_ypresp_key_val F
+GLIBC_2.12 xdr_ypresp_maplist F
+GLIBC_2.12 xdr_ypresp_master F
+GLIBC_2.12 xdr_ypresp_order F
+GLIBC_2.12 xdr_ypresp_val F
+GLIBC_2.12 xdr_ypresp_xfr F
+GLIBC_2.12 xdr_ypstat F
+GLIBC_2.12 xdr_ypupdate_args F
+GLIBC_2.12 xdr_ypxfrstat F
+GLIBC_2.12 yp_all F
+GLIBC_2.12 yp_bind F
+GLIBC_2.12 yp_first F
+GLIBC_2.12 yp_get_default_domain F
+GLIBC_2.12 yp_maplist F
+GLIBC_2.12 yp_master F
+GLIBC_2.12 yp_match F
+GLIBC_2.12 yp_next F
+GLIBC_2.12 yp_order F
+GLIBC_2.12 yp_unbind F
+GLIBC_2.12 yp_update F
+GLIBC_2.12 ypbinderr_string F
+GLIBC_2.12 yperr_string F
+GLIBC_2.12 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist
new file mode 100644
index 0000000000..d16158f938
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _IO_flockfile F
+GLIBC_2.12 _IO_ftrylockfile F
+GLIBC_2.12 _IO_funlockfile F
+GLIBC_2.12 __close F
+GLIBC_2.12 __connect F
+GLIBC_2.12 __errno_location F
+GLIBC_2.12 __fcntl F
+GLIBC_2.12 __fork F
+GLIBC_2.12 __h_errno_location F
+GLIBC_2.12 __libc_allocate_rtsig F
+GLIBC_2.12 __libc_current_sigrtmax F
+GLIBC_2.12 __libc_current_sigrtmin F
+GLIBC_2.12 __lseek F
+GLIBC_2.12 __nanosleep F
+GLIBC_2.12 __open F
+GLIBC_2.12 __open64 F
+GLIBC_2.12 __pread64 F
+GLIBC_2.12 __pthread_cleanup_routine F
+GLIBC_2.12 __pthread_getspecific F
+GLIBC_2.12 __pthread_key_create F
+GLIBC_2.12 __pthread_mutex_destroy F
+GLIBC_2.12 __pthread_mutex_init F
+GLIBC_2.12 __pthread_mutex_lock F
+GLIBC_2.12 __pthread_mutex_trylock F
+GLIBC_2.12 __pthread_mutex_unlock F
+GLIBC_2.12 __pthread_mutexattr_destroy F
+GLIBC_2.12 __pthread_mutexattr_init F
+GLIBC_2.12 __pthread_mutexattr_settype F
+GLIBC_2.12 __pthread_once F
+GLIBC_2.12 __pthread_register_cancel F
+GLIBC_2.12 __pthread_register_cancel_defer F
+GLIBC_2.12 __pthread_rwlock_destroy F
+GLIBC_2.12 __pthread_rwlock_init F
+GLIBC_2.12 __pthread_rwlock_rdlock F
+GLIBC_2.12 __pthread_rwlock_tryrdlock F
+GLIBC_2.12 __pthread_rwlock_trywrlock F
+GLIBC_2.12 __pthread_rwlock_unlock F
+GLIBC_2.12 __pthread_rwlock_wrlock F
+GLIBC_2.12 __pthread_setspecific F
+GLIBC_2.12 __pthread_unregister_cancel F
+GLIBC_2.12 __pthread_unregister_cancel_restore F
+GLIBC_2.12 __pthread_unwind_next F
+GLIBC_2.12 __pwrite64 F
+GLIBC_2.12 __read F
+GLIBC_2.12 __res_state F
+GLIBC_2.12 __send F
+GLIBC_2.12 __sigaction F
+GLIBC_2.12 __vfork F
+GLIBC_2.12 __wait F
+GLIBC_2.12 __write F
+GLIBC_2.12 _pthread_cleanup_pop F
+GLIBC_2.12 _pthread_cleanup_pop_restore F
+GLIBC_2.12 _pthread_cleanup_push F
+GLIBC_2.12 _pthread_cleanup_push_defer F
+GLIBC_2.12 accept F
+GLIBC_2.12 close F
+GLIBC_2.12 connect F
+GLIBC_2.12 fcntl F
+GLIBC_2.12 flockfile F
+GLIBC_2.12 fork F
+GLIBC_2.12 fsync F
+GLIBC_2.12 ftrylockfile F
+GLIBC_2.12 funlockfile F
+GLIBC_2.12 longjmp F
+GLIBC_2.12 lseek F
+GLIBC_2.12 lseek64 F
+GLIBC_2.12 msync F
+GLIBC_2.12 nanosleep F
+GLIBC_2.12 open F
+GLIBC_2.12 open64 F
+GLIBC_2.12 pause F
+GLIBC_2.12 pread F
+GLIBC_2.12 pread64 F
+GLIBC_2.12 pthread_attr_destroy F
+GLIBC_2.12 pthread_attr_getaffinity_np F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getguardsize F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_getscope F
+GLIBC_2.12 pthread_attr_getstack F
+GLIBC_2.12 pthread_attr_getstackaddr F
+GLIBC_2.12 pthread_attr_getstacksize F
+GLIBC_2.12 pthread_attr_init F
+GLIBC_2.12 pthread_attr_setaffinity_np F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setguardsize F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedparam F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setscope F
+GLIBC_2.12 pthread_attr_setstack F
+GLIBC_2.12 pthread_attr_setstackaddr F
+GLIBC_2.12 pthread_attr_setstacksize F
+GLIBC_2.12 pthread_barrier_destroy F
+GLIBC_2.12 pthread_barrier_init F
+GLIBC_2.12 pthread_barrier_wait F
+GLIBC_2.12 pthread_barrierattr_destroy F
+GLIBC_2.12 pthread_barrierattr_getpshared F
+GLIBC_2.12 pthread_barrierattr_init F
+GLIBC_2.12 pthread_barrierattr_setpshared F
+GLIBC_2.12 pthread_cancel F
+GLIBC_2.12 pthread_cond_broadcast F
+GLIBC_2.12 pthread_cond_destroy F
+GLIBC_2.12 pthread_cond_init F
+GLIBC_2.12 pthread_cond_signal F
+GLIBC_2.12 pthread_cond_timedwait F
+GLIBC_2.12 pthread_cond_wait F
+GLIBC_2.12 pthread_condattr_destroy F
+GLIBC_2.12 pthread_condattr_getclock F
+GLIBC_2.12 pthread_condattr_getpshared F
+GLIBC_2.12 pthread_condattr_init F
+GLIBC_2.12 pthread_condattr_setclock F
+GLIBC_2.12 pthread_condattr_setpshared F
+GLIBC_2.12 pthread_create F
+GLIBC_2.12 pthread_detach F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_exit F
+GLIBC_2.12 pthread_getaffinity_np F
+GLIBC_2.12 pthread_getattr_np F
+GLIBC_2.12 pthread_getconcurrency F
+GLIBC_2.12 pthread_getcpuclockid F
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_getschedparam F
+GLIBC_2.12 pthread_getspecific F
+GLIBC_2.12 pthread_join F
+GLIBC_2.12 pthread_key_create F
+GLIBC_2.12 pthread_key_delete F
+GLIBC_2.12 pthread_kill F
+GLIBC_2.12 pthread_kill_other_threads_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutex_consistent_np F
+GLIBC_2.12 pthread_mutex_destroy F
+GLIBC_2.12 pthread_mutex_getprioceiling F
+GLIBC_2.12 pthread_mutex_init F
+GLIBC_2.12 pthread_mutex_lock F
+GLIBC_2.12 pthread_mutex_setprioceiling F
+GLIBC_2.12 pthread_mutex_timedlock F
+GLIBC_2.12 pthread_mutex_trylock F
+GLIBC_2.12 pthread_mutex_unlock F
+GLIBC_2.12 pthread_mutexattr_destroy F
+GLIBC_2.12 pthread_mutexattr_getkind_np F
+GLIBC_2.12 pthread_mutexattr_getprioceiling F
+GLIBC_2.12 pthread_mutexattr_getprotocol F
+GLIBC_2.12 pthread_mutexattr_getpshared F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_getrobust_np F
+GLIBC_2.12 pthread_mutexattr_gettype F
+GLIBC_2.12 pthread_mutexattr_init F
+GLIBC_2.12 pthread_mutexattr_setkind_np F
+GLIBC_2.12 pthread_mutexattr_setprioceiling F
+GLIBC_2.12 pthread_mutexattr_setprotocol F
+GLIBC_2.12 pthread_mutexattr_setpshared F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust_np F
+GLIBC_2.12 pthread_mutexattr_settype F
+GLIBC_2.12 pthread_once F
+GLIBC_2.12 pthread_rwlock_destroy F
+GLIBC_2.12 pthread_rwlock_init F
+GLIBC_2.12 pthread_rwlock_rdlock F
+GLIBC_2.12 pthread_rwlock_timedrdlock F
+GLIBC_2.12 pthread_rwlock_timedwrlock F
+GLIBC_2.12 pthread_rwlock_tryrdlock F
+GLIBC_2.12 pthread_rwlock_trywrlock F
+GLIBC_2.12 pthread_rwlock_unlock F
+GLIBC_2.12 pthread_rwlock_wrlock F
+GLIBC_2.12 pthread_rwlockattr_destroy F
+GLIBC_2.12 pthread_rwlockattr_getkind_np F
+GLIBC_2.12 pthread_rwlockattr_getpshared F
+GLIBC_2.12 pthread_rwlockattr_init F
+GLIBC_2.12 pthread_rwlockattr_setkind_np F
+GLIBC_2.12 pthread_rwlockattr_setpshared F
+GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setaffinity_np F
+GLIBC_2.12 pthread_setcancelstate F
+GLIBC_2.12 pthread_setcanceltype F
+GLIBC_2.12 pthread_setconcurrency F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.12 pthread_setschedparam F
+GLIBC_2.12 pthread_setschedprio F
+GLIBC_2.12 pthread_setspecific F
+GLIBC_2.12 pthread_sigmask F
+GLIBC_2.12 pthread_sigqueue F
+GLIBC_2.12 pthread_spin_destroy F
+GLIBC_2.12 pthread_spin_init F
+GLIBC_2.12 pthread_spin_lock F
+GLIBC_2.12 pthread_spin_trylock F
+GLIBC_2.12 pthread_spin_unlock F
+GLIBC_2.12 pthread_testcancel F
+GLIBC_2.12 pthread_timedjoin_np F
+GLIBC_2.12 pthread_tryjoin_np F
+GLIBC_2.12 pthread_yield F
+GLIBC_2.12 pwrite F
+GLIBC_2.12 pwrite64 F
+GLIBC_2.12 raise F
+GLIBC_2.12 read F
+GLIBC_2.12 recv F
+GLIBC_2.12 recvfrom F
+GLIBC_2.12 recvmsg F
+GLIBC_2.12 sem_close F
+GLIBC_2.12 sem_destroy F
+GLIBC_2.12 sem_getvalue F
+GLIBC_2.12 sem_init F
+GLIBC_2.12 sem_open F
+GLIBC_2.12 sem_post F
+GLIBC_2.12 sem_timedwait F
+GLIBC_2.12 sem_trywait F
+GLIBC_2.12 sem_unlink F
+GLIBC_2.12 sem_wait F
+GLIBC_2.12 send F
+GLIBC_2.12 sendmsg F
+GLIBC_2.12 sendto F
+GLIBC_2.12 sigaction F
+GLIBC_2.12 siglongjmp F
+GLIBC_2.12 sigwait F
+GLIBC_2.12 system F
+GLIBC_2.12 tcdrain F
+GLIBC_2.12 vfork F
+GLIBC_2.12 wait F
+GLIBC_2.12 waitpid F
+GLIBC_2.12 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist
new file mode 100644
index 0000000000..aa2fefa6e4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __b64_ntop F
+GLIBC_2.12 __b64_pton F
+GLIBC_2.12 __dn_comp F
+GLIBC_2.12 __dn_count_labels F
+GLIBC_2.12 __dn_expand F
+GLIBC_2.12 __dn_skipname F
+GLIBC_2.12 __fp_nquery F
+GLIBC_2.12 __fp_query F
+GLIBC_2.12 __fp_resstat F
+GLIBC_2.12 __hostalias F
+GLIBC_2.12 __loc_aton F
+GLIBC_2.12 __loc_ntoa F
+GLIBC_2.12 __p_cdname F
+GLIBC_2.12 __p_cdnname F
+GLIBC_2.12 __p_class F
+GLIBC_2.12 __p_class_syms D 0x54
+GLIBC_2.12 __p_fqname F
+GLIBC_2.12 __p_fqnname F
+GLIBC_2.12 __p_option F
+GLIBC_2.12 __p_query F
+GLIBC_2.12 __p_rcode F
+GLIBC_2.12 __p_secstodate F
+GLIBC_2.12 __p_time F
+GLIBC_2.12 __p_type F
+GLIBC_2.12 __p_type_syms D 0x228
+GLIBC_2.12 __putlong F
+GLIBC_2.12 __putshort F
+GLIBC_2.12 __res_close F
+GLIBC_2.12 __res_dnok F
+GLIBC_2.12 __res_hnok F
+GLIBC_2.12 __res_hostalias F
+GLIBC_2.12 __res_isourserver F
+GLIBC_2.12 __res_mailok F
+GLIBC_2.12 __res_mkquery F
+GLIBC_2.12 __res_nameinquery F
+GLIBC_2.12 __res_nmkquery F
+GLIBC_2.12 __res_nquery F
+GLIBC_2.12 __res_nquerydomain F
+GLIBC_2.12 __res_nsearch F
+GLIBC_2.12 __res_nsend F
+GLIBC_2.12 __res_ownok F
+GLIBC_2.12 __res_queriesmatch F
+GLIBC_2.12 __res_query F
+GLIBC_2.12 __res_querydomain F
+GLIBC_2.12 __res_search F
+GLIBC_2.12 __res_send F
+GLIBC_2.12 __sym_ntop F
+GLIBC_2.12 __sym_ntos F
+GLIBC_2.12 __sym_ston F
+GLIBC_2.12 _gethtbyaddr F
+GLIBC_2.12 _gethtbyname F
+GLIBC_2.12 _gethtbyname2 F
+GLIBC_2.12 _gethtent F
+GLIBC_2.12 _getlong F
+GLIBC_2.12 _getshort F
+GLIBC_2.12 _res_opcodes D 0x40
+GLIBC_2.12 _sethtent F
+GLIBC_2.12 inet_net_ntop F
+GLIBC_2.12 inet_net_pton F
+GLIBC_2.12 inet_neta F
+GLIBC_2.12 ns_datetosecs F
+GLIBC_2.12 ns_format_ttl F
+GLIBC_2.12 ns_get16 F
+GLIBC_2.12 ns_get32 F
+GLIBC_2.12 ns_initparse F
+GLIBC_2.12 ns_makecanon F
+GLIBC_2.12 ns_msg_getflag F
+GLIBC_2.12 ns_name_compress F
+GLIBC_2.12 ns_name_ntol F
+GLIBC_2.12 ns_name_ntop F
+GLIBC_2.12 ns_name_pack F
+GLIBC_2.12 ns_name_pton F
+GLIBC_2.12 ns_name_rollback F
+GLIBC_2.12 ns_name_skip F
+GLIBC_2.12 ns_name_uncompress F
+GLIBC_2.12 ns_name_unpack F
+GLIBC_2.12 ns_parse_ttl F
+GLIBC_2.12 ns_parserr F
+GLIBC_2.12 ns_put16 F
+GLIBC_2.12 ns_put32 F
+GLIBC_2.12 ns_samedomain F
+GLIBC_2.12 ns_samename F
+GLIBC_2.12 ns_skiprr F
+GLIBC_2.12 ns_sprintrr F
+GLIBC_2.12 ns_sprintrrf F
+GLIBC_2.12 ns_subdomain F
+GLIBC_2.12 res_gethostbyaddr F
+GLIBC_2.12 res_gethostbyname F
+GLIBC_2.12 res_gethostbyname2 F
+GLIBC_2.12 res_send_setqhook F
+GLIBC_2.12 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist
new file mode 100644
index 0000000000..14f5c8245d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 __mq_open_2 F
+GLIBC_2.12 aio_cancel F
+GLIBC_2.12 aio_cancel64 F
+GLIBC_2.12 aio_error F
+GLIBC_2.12 aio_error64 F
+GLIBC_2.12 aio_fsync F
+GLIBC_2.12 aio_fsync64 F
+GLIBC_2.12 aio_init F
+GLIBC_2.12 aio_read F
+GLIBC_2.12 aio_read64 F
+GLIBC_2.12 aio_return F
+GLIBC_2.12 aio_return64 F
+GLIBC_2.12 aio_suspend F
+GLIBC_2.12 aio_suspend64 F
+GLIBC_2.12 aio_write F
+GLIBC_2.12 aio_write64 F
+GLIBC_2.12 clock_getcpuclockid F
+GLIBC_2.12 clock_getres F
+GLIBC_2.12 clock_gettime F
+GLIBC_2.12 clock_nanosleep F
+GLIBC_2.12 clock_settime F
+GLIBC_2.12 lio_listio F
+GLIBC_2.12 lio_listio64 F
+GLIBC_2.12 mq_close F
+GLIBC_2.12 mq_getattr F
+GLIBC_2.12 mq_notify F
+GLIBC_2.12 mq_open F
+GLIBC_2.12 mq_receive F
+GLIBC_2.12 mq_send F
+GLIBC_2.12 mq_setattr F
+GLIBC_2.12 mq_timedreceive F
+GLIBC_2.12 mq_timedsend F
+GLIBC_2.12 mq_unlink F
+GLIBC_2.12 shm_open F
+GLIBC_2.12 shm_unlink F
+GLIBC_2.12 timer_create F
+GLIBC_2.12 timer_delete F
+GLIBC_2.12 timer_getoverrun F
+GLIBC_2.12 timer_gettime F
+GLIBC_2.12 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist
new file mode 100644
index 0000000000..4aade0b7e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 td_init F
+GLIBC_2.12 td_log F
+GLIBC_2.12 td_symbol_list F
+GLIBC_2.12 td_ta_clear_event F
+GLIBC_2.12 td_ta_delete F
+GLIBC_2.12 td_ta_enable_stats F
+GLIBC_2.12 td_ta_event_addr F
+GLIBC_2.12 td_ta_event_getmsg F
+GLIBC_2.12 td_ta_get_nthreads F
+GLIBC_2.12 td_ta_get_ph F
+GLIBC_2.12 td_ta_get_stats F
+GLIBC_2.12 td_ta_map_id2thr F
+GLIBC_2.12 td_ta_map_lwp2thr F
+GLIBC_2.12 td_ta_new F
+GLIBC_2.12 td_ta_reset_stats F
+GLIBC_2.12 td_ta_set_event F
+GLIBC_2.12 td_ta_setconcurrency F
+GLIBC_2.12 td_ta_thr_iter F
+GLIBC_2.12 td_ta_tsd_iter F
+GLIBC_2.12 td_thr_clear_event F
+GLIBC_2.12 td_thr_dbresume F
+GLIBC_2.12 td_thr_dbsuspend F
+GLIBC_2.12 td_thr_event_enable F
+GLIBC_2.12 td_thr_event_getmsg F
+GLIBC_2.12 td_thr_get_info F
+GLIBC_2.12 td_thr_getfpregs F
+GLIBC_2.12 td_thr_getgregs F
+GLIBC_2.12 td_thr_getxregs F
+GLIBC_2.12 td_thr_getxregsize F
+GLIBC_2.12 td_thr_set_event F
+GLIBC_2.12 td_thr_setfpregs F
+GLIBC_2.12 td_thr_setgregs F
+GLIBC_2.12 td_thr_setprio F
+GLIBC_2.12 td_thr_setsigpending F
+GLIBC_2.12 td_thr_setxregs F
+GLIBC_2.12 td_thr_sigsetmask F
+GLIBC_2.12 td_thr_tls_get_addr F
+GLIBC_2.12 td_thr_tlsbase F
+GLIBC_2.12 td_thr_tsd F
+GLIBC_2.12 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist
new file mode 100644
index 0000000000..e4d432643c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 forkpty F
+GLIBC_2.12 login F
+GLIBC_2.12 login_tty F
+GLIBC_2.12 logout F
+GLIBC_2.12 logwtmp F
+GLIBC_2.12 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h
new file mode 100644
index 0000000000..da48526c83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h
@@ -0,0 +1,111 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+   Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ R0:  XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R8:  XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R16: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R24: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R32: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R40: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R48: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
+ R52: XXXXXXXX  TP: XXXXXXXX  SP: XXXXXXXX  LR: XXXXXXXX
+
+ PC:  XXXXXXXX  ICS: X  FAULTNUM: XX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, mcontext_t *ctx)
+{
+  char regs[59][8];
+  struct iovec iov[143];
+  size_t nr = 0;
+  unsigned int i;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  for (i = 0; i < 56; ++i)
+    hexvalue (ctx->gregs[i], regs[i], 8);
+  hexvalue (ctx->pc, regs[56], 8);
+  hexvalue (ctx->ics, regs[57], 1);
+  hexvalue (ctx->faultnum, regs[58], 2);
+
+  /* Generate the output.  */
+  for (i = 0; i < 52;)
+    {
+      const char *prefixes[] = {
+        "Register dump:\n\n R0:  ",
+        "\n R8:  ",
+        "\n R16: ",
+        "\n R24:  ",
+        "\n R32:  ",
+        "\n R40:  ",
+        "\n R48:  "
+      };
+      ADD_STRING (prefixes[i / 8]);
+      do
+        {
+          ADD_MEM (regs[i], 8);
+          ADD_STRING (" ");
+        }
+      while (++i % 8 && i < 52);
+    }
+  ADD_STRING ("\n R52: ");
+  ADD_MEM (regs[52], 8);
+  ADD_STRING ("  TP: ");
+  ADD_MEM (regs[53], 8);
+  ADD_STRING ("  SP: ");
+  ADD_MEM (regs[54], 8);
+  ADD_STRING ("  LR: ");
+  ADD_MEM (regs[55], 8);
+  ADD_STRING ("\n\n PC:  ");
+  ADD_MEM (regs[56], 8);
+  ADD_STRING ("  ICS: ");
+  ADD_MEM (regs[57], 1);
+  ADD_STRING ("  FAULTNUM: ");
+  ADD_MEM (regs[58], 2);
+  ADD_STRING ("\n");
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, &ctx->uc_mcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/ucontext_i.h b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ucontext_i.h
new file mode 100644
index 0000000000..3b26be5429
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/ucontext_i.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Definitions of offsets within the ucontext_t structure.  Note
+   that for convenience we use __SIZEOF_POINTER__ for "long" and
+   "ssize_t" fields (and their unsigned counterparts) as well.  */
+
+#define UC_FLAGS_OFFSET 0
+#define UC_LINK_OFFSET (UC_FLAGS_OFFSET + __SIZEOF_POINTER__)
+#define UC_STACK_SP_OFFSET (UC_LINK_OFFSET + __SIZEOF_POINTER__)
+#define UC_STACK_FLAGS_OFFSET (UC_STACK_SP_OFFSET + __SIZEOF_POINTER__)
+#define UC_STACK_SIZE_OFFSET (UC_STACK_FLAGS_OFFSET + __SIZEOF_POINTER__)
+#define UC_STACK_MCONTEXT_OFFSET \
+  ((UC_STACK_SIZE_OFFSET + __SIZEOF_POINTER__ + REGSIZE - 1) & -REGSIZE)
+#define UC_REG(i) (UC_STACK_MCONTEXT_OFFSET + ((i) * REGSIZE))
+#define UC_NREGS 64
+#define UC_SIGMASK_OFFSET UC_REG(UC_NREGS)
+#define UC_SIZE (UC_SIGMASK_OFFSET + (_NSIG / 8))
+
+/* From <asm/siginfo.h> */
+#define SI_MAX_SIZE	128
+
+/* From <asm/signal.h> */
+#define _NSIG		64
+#define SIG_BLOCK          0	/* for blocking signals */
+#define SIG_UNBLOCK        1	/* for unblocking signals */
+#define SIG_SETMASK        2	/* for setting the signal mask */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tile/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/tile/vfork.S
new file mode 100644
index 0000000000..725bd4b939
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tile/vfork.S
@@ -0,0 +1,49 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define __ASSEMBLY__  /* for kernel headers */
+#include <linux/sched.h>
+#include <asm/signal.h>
+#include <tcb-offsets.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+	.text
+ENTRY (__vfork)
+	{
+	 moveli r0, CLONE_VFORK | CLONE_VM | SIGCHLD
+	 move r1, zero
+	}
+	{
+	 move r2, zero
+	 move r3, zero
+	}
+	moveli TREG_SYSCALL_NR_NAME, __NR_clone
+	swint1
+
+	BNEZ r1, 0f
+	jrp lr
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/time.c b/REORG.TODO/sysdeps/unix/sysv/linux/time.c
new file mode 100644
index 0000000000..72d4040cbc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/time.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stddef.h>
+#include <time.h>
+
+#include <sysdep.h>
+
+#ifdef __NR_time
+
+time_t
+time (time_t *t)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  time_t res = INTERNAL_SYSCALL (time, err, 1, NULL);
+  /* There cannot be any error.  */
+  if (t != NULL)
+    *t = res;
+  return res;
+}
+libc_hidden_def (time)
+
+#else
+
+# include <sysdeps/posix/time.c>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_create.c
new file mode 100644
index 0000000000..48a703c065
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_create.c
@@ -0,0 +1,176 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthread.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <sysdep.h>
+#include <internaltypes.h>
+#include <nptl/pthreadP.h>
+#include "kernel-posix-timers.h"
+#include "kernel-posix-cpu-timers.h"
+
+
+#ifdef timer_create_alias
+# define timer_create timer_create_alias
+#endif
+
+
+int
+timer_create (clockid_t clock_id, struct sigevent *evp, timer_t *timerid)
+{
+#undef timer_create
+  {
+    clockid_t syscall_clockid = (clock_id == CLOCK_PROCESS_CPUTIME_ID
+				 ? MAKE_PROCESS_CPUCLOCK (0, CPUCLOCK_SCHED)
+				 : clock_id == CLOCK_THREAD_CPUTIME_ID
+				 ? MAKE_THREAD_CPUCLOCK (0, CPUCLOCK_SCHED)
+				 : clock_id);
+
+    /* If the user wants notification via a thread we need to handle
+       this special.  */
+    if (evp == NULL
+	|| __builtin_expect (evp->sigev_notify != SIGEV_THREAD, 1))
+      {
+	struct sigevent local_evp;
+
+	/* We avoid allocating too much memory by basically
+	   using struct timer as a derived class with the
+	   first two elements being in the superclass.  We only
+	   need these two elements here.  */
+	struct timer *newp = (struct timer *) malloc (offsetof (struct timer,
+								thrfunc));
+	if (newp == NULL)
+	  /* No more memory.  */
+	  return -1;
+
+	if (evp == NULL)
+	  {
+	    /* The kernel has to pass up the timer ID which is a
+	       userlevel object.  Therefore we cannot leave it up to
+	       the kernel to determine it.  */
+	    local_evp.sigev_notify = SIGEV_SIGNAL;
+	    local_evp.sigev_signo = SIGALRM;
+	    local_evp.sigev_value.sival_ptr = newp;
+
+	    evp = &local_evp;
+	  }
+
+	kernel_timer_t ktimerid;
+	int retval = INLINE_SYSCALL (timer_create, 3, syscall_clockid, evp,
+				     &ktimerid);
+
+	if (retval != -1)
+	  {
+	    newp->sigev_notify = (evp != NULL
+				  ? evp->sigev_notify : SIGEV_SIGNAL);
+	    newp->ktimerid = ktimerid;
+
+	    *timerid = (timer_t) newp;
+	  }
+	else
+	  {
+	    /* Cannot allocate the timer, fail.  */
+	    free (newp);
+	    retval = -1;
+	  }
+
+	return retval;
+      }
+    else
+      {
+	/* Create the helper thread.  */
+	pthread_once (&__helper_once, __start_helper_thread);
+	if (__helper_tid == 0)
+	  {
+	    /* No resources to start the helper thread.  */
+	    __set_errno (EAGAIN);
+	    return -1;
+	  }
+
+	struct timer *newp;
+	newp = (struct timer *) malloc (sizeof (struct timer));
+	if (newp == NULL)
+	  return -1;
+
+	/* Copy the thread parameters the user provided.  */
+	newp->sival = evp->sigev_value;
+	newp->thrfunc = evp->sigev_notify_function;
+	newp->sigev_notify = SIGEV_THREAD;
+
+	/* We cannot simply copy the thread attributes since the
+	   implementation might keep internal information for
+	   each instance.  */
+	(void) pthread_attr_init (&newp->attr);
+	if (evp->sigev_notify_attributes != NULL)
+	  {
+	    struct pthread_attr *nattr;
+	    struct pthread_attr *oattr;
+
+	    nattr = (struct pthread_attr *) &newp->attr;
+	    oattr = (struct pthread_attr *) evp->sigev_notify_attributes;
+
+	    nattr->schedparam = oattr->schedparam;
+	    nattr->schedpolicy = oattr->schedpolicy;
+	    nattr->flags = oattr->flags;
+	    nattr->guardsize = oattr->guardsize;
+	    nattr->stackaddr = oattr->stackaddr;
+	    nattr->stacksize = oattr->stacksize;
+	  }
+
+	/* In any case set the detach flag.  */
+	(void) pthread_attr_setdetachstate (&newp->attr,
+					    PTHREAD_CREATE_DETACHED);
+
+	/* Create the event structure for the kernel timer.  */
+	struct sigevent sev =
+	  { .sigev_value.sival_ptr = newp,
+	    .sigev_signo = SIGTIMER,
+	    .sigev_notify = SIGEV_SIGNAL | SIGEV_THREAD_ID,
+	    ._sigev_un = { ._pad = { [0] = __helper_tid } } };
+
+	/* Create the timer.  */
+	INTERNAL_SYSCALL_DECL (err);
+	int res;
+	res = INTERNAL_SYSCALL (timer_create, err, 3,
+				syscall_clockid, &sev, &newp->ktimerid);
+	if (! INTERNAL_SYSCALL_ERROR_P (res, err))
+	  {
+	    /* Add to the queue of active timers with thread
+	       delivery.  */
+	    pthread_mutex_lock (&__active_timer_sigev_thread_lock);
+	    newp->next = __active_timer_sigev_thread;
+	    __active_timer_sigev_thread = newp;
+	    pthread_mutex_unlock (&__active_timer_sigev_thread_lock);
+
+	    *timerid = (timer_t) newp;
+	    return 0;
+	  }
+
+	/* Free the resources.  */
+	free (newp);
+
+	__set_errno (INTERNAL_SYSCALL_ERRNO (res, err));
+
+	return -1;
+      }
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_delete.c
new file mode 100644
index 0000000000..9ef06c429e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_delete.c
@@ -0,0 +1,72 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sysdep.h>
+#include "kernel-posix-timers.h"
+
+
+#ifdef timer_delete_alias
+# define timer_delete timer_delete_alias
+#endif
+
+
+int
+timer_delete (timer_t timerid)
+{
+#undef timer_delete
+  struct timer *kt = (struct timer *) timerid;
+
+  /* Delete the kernel timer object.  */
+  int res = INLINE_SYSCALL (timer_delete, 1, kt->ktimerid);
+
+  if (res == 0)
+    {
+      if (kt->sigev_notify == SIGEV_THREAD)
+	{
+	  /* Remove the timer from the list.  */
+	  pthread_mutex_lock (&__active_timer_sigev_thread_lock);
+	  if (__active_timer_sigev_thread == kt)
+	    __active_timer_sigev_thread = kt->next;
+	  else
+	    {
+	      struct timer *prevp = __active_timer_sigev_thread;
+	      while (prevp->next != NULL)
+		if (prevp->next == kt)
+		  {
+		    prevp->next = kt->next;
+		    break;
+		  }
+		else
+		  prevp = prevp->next;
+	    }
+	  pthread_mutex_unlock (&__active_timer_sigev_thread_lock);
+	}
+
+      /* Free the memory.  */
+      (void) free (kt);
+
+      return 0;
+    }
+
+  /* The kernel timer is not known or something else bad happened.
+     Return the error.  */
+  return -1;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_getoverr.c
new file mode 100644
index 0000000000..a520fb653b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_getoverr.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <time.h>
+#include <sysdep.h>
+#include "kernel-posix-timers.h"
+
+
+#ifdef timer_getoverrun_alias
+# define timer_getoverrun timer_getoverrun_alias
+#endif
+
+
+int
+timer_getoverrun (timer_t timerid)
+{
+#undef timer_getoverrun
+  struct timer *kt = (struct timer *) timerid;
+
+  /* Get the information from the kernel.  */
+  int res = INLINE_SYSCALL (timer_getoverrun, 1, kt->ktimerid);
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_gettime.c
new file mode 100644
index 0000000000..849c56a30a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_gettime.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sysdep.h>
+#include "kernel-posix-timers.h"
+
+
+#ifdef timer_gettime_alias
+# define timer_gettime timer_gettime_alias
+#endif
+
+
+int
+timer_gettime (timer_t timerid, struct itimerspec *value)
+{
+#undef timer_gettime
+  struct timer *kt = (struct timer *) timerid;
+
+  /* Delete the kernel timer object.  */
+  int res = INLINE_SYSCALL (timer_gettime, 2, kt->ktimerid, value);
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_routines.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_routines.c
new file mode 100644
index 0000000000..1d81304678
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_routines.c
@@ -0,0 +1,191 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <sysdep-cancel.h>
+#include <nptl/pthreadP.h>
+#include "kernel-posix-timers.h"
+
+
+/* List of active SIGEV_THREAD timers.  */
+struct timer *__active_timer_sigev_thread;
+/* Lock for the __active_timer_sigev_thread.  */
+pthread_mutex_t __active_timer_sigev_thread_lock = PTHREAD_MUTEX_INITIALIZER;
+
+
+struct thread_start_data
+{
+  void (*thrfunc) (sigval_t);
+  sigval_t sival;
+};
+
+
+/* Helper thread to call the user-provided function.  */
+static void *
+timer_sigev_thread (void *arg)
+{
+  /* The parent thread has all signals blocked.  This is a bit
+     surprising for user code, although valid.  We unblock all
+     signals.  */
+  sigset_t ss;
+  sigemptyset (&ss);
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, NULL, _NSIG / 8);
+
+  struct thread_start_data *td = (struct thread_start_data *) arg;
+
+  void (*thrfunc) (sigval_t) = td->thrfunc;
+  sigval_t sival = td->sival;
+
+  /* The TD object was allocated in timer_helper_thread.  */
+  free (td);
+
+  /* Call the user-provided function.  */
+  thrfunc (sival);
+
+  return NULL;
+}
+
+
+/* Helper function to support starting threads for SIGEV_THREAD.  */
+static void *
+timer_helper_thread (void *arg)
+{
+  /* Wait for the SIGTIMER signal, allowing the setXid signal, and
+     none else.  */
+  sigset_t ss;
+  sigemptyset (&ss);
+  __sigaddset (&ss, SIGTIMER);
+
+  /* Endless loop of waiting for signals.  The loop is only ended when
+     the thread is canceled.  */
+  while (1)
+    {
+      siginfo_t si;
+
+      /* sigwaitinfo cannot be used here, since it deletes
+	 SIGCANCEL == SIGTIMER from the set.  */
+
+      /* XXX The size argument hopefully will have to be changed to the
+	 real size of the user-level sigset_t.  */
+      int result = SYSCALL_CANCEL (rt_sigtimedwait, &ss, &si, NULL, _NSIG / 8);
+
+      if (result > 0)
+	{
+	  if (si.si_code == SI_TIMER)
+	    {
+	      struct timer *tk = (struct timer *) si.si_ptr;
+
+	      /* Check the timer is still used and will not go away
+		 while we are reading the values here.  */
+	      pthread_mutex_lock (&__active_timer_sigev_thread_lock);
+
+	      struct timer *runp = __active_timer_sigev_thread;
+	      while (runp != NULL)
+		if (runp == tk)
+		  break;
+		else
+		  runp = runp->next;
+
+	      if (runp != NULL)
+		{
+		  struct thread_start_data *td = malloc (sizeof (*td));
+
+		  /* There is not much we can do if the allocation fails.  */
+		  if (td != NULL)
+		    {
+		      /* This is the signal we are waiting for.  */
+		      td->thrfunc = tk->thrfunc;
+		      td->sival = tk->sival;
+
+		      pthread_t th;
+		      (void) pthread_create (&th, &tk->attr,
+					     timer_sigev_thread, td);
+		    }
+		}
+
+	      pthread_mutex_unlock (&__active_timer_sigev_thread_lock);
+	    }
+	  else if (si.si_code == SI_TKILL)
+	    /* The thread is canceled.  */
+	    pthread_exit (NULL);
+	}
+    }
+}
+
+
+/* Control variable for helper thread creation.  */
+pthread_once_t __helper_once attribute_hidden;
+
+
+/* TID of the helper thread.  */
+pid_t __helper_tid attribute_hidden;
+
+
+/* Reset variables so that after a fork a new helper thread gets started.  */
+static void
+reset_helper_control (void)
+{
+  __helper_once = PTHREAD_ONCE_INIT;
+  __helper_tid = 0;
+}
+
+
+void
+attribute_hidden
+__start_helper_thread (void)
+{
+  /* The helper thread needs only very little resources
+     and should go away automatically when canceled.  */
+  pthread_attr_t attr;
+  (void) pthread_attr_init (&attr);
+  (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
+
+  /* Block all signals in the helper thread but SIGSETXID.  To do this
+     thoroughly we temporarily have to block all signals here.  The
+     helper can lose wakeups if SIGCANCEL is not blocked throughout,
+     but sigfillset omits it SIGSETXID.  So, we add SIGCANCEL back
+     explicitly here.  */
+  sigset_t ss;
+  sigset_t oss;
+  sigfillset (&ss);
+  __sigaddset (&ss, SIGCANCEL);
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8);
+
+  /* Create the helper thread for this timer.  */
+  pthread_t th;
+  int res = pthread_create (&th, &attr, timer_helper_thread, NULL);
+  if (res == 0)
+    /* We managed to start the helper thread.  */
+    __helper_tid = ((struct pthread *) th)->tid;
+
+  /* Restore the signal mask.  */
+  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &oss, NULL,
+		    _NSIG / 8);
+
+  /* No need for the attribute anymore.  */
+  (void) pthread_attr_destroy (&attr);
+
+  /* We have to make sure that after fork()ing a new helper thread can
+     be created.  */
+  pthread_atfork (NULL, NULL, reset_helper_control);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/timer_settime.c
new file mode 100644
index 0000000000..ba35036355
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timer_settime.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <time.h>
+#include <sysdep.h>
+#include "kernel-posix-timers.h"
+
+
+#ifdef timer_settime_alias
+# define timer_settime timer_settime_alias
+#endif
+
+
+int
+timer_settime (timer_t timerid, int flags, const struct itimerspec *value,
+	       struct itimerspec *ovalue)
+{
+#undef timer_settime
+  struct timer *kt = (struct timer *) timerid;
+
+  /* Delete the kernel timer object.  */
+  int res = INLINE_SYSCALL (timer_settime, 4, kt->ktimerid, flags,
+			    value, ovalue);
+
+  return res;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/times.c b/REORG.TODO/sysdeps/unix/sysv/linux/times.c
new file mode 100644
index 0000000000..63c8bf8ff0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/times.c
@@ -0,0 +1,67 @@
+/* Copyright (C) 2008-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 <sys/times.h>
+#include <sysdep.h>
+
+
+clock_t
+__times (struct tms *buf)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  clock_t ret = INTERNAL_SYSCALL (times, err, 1, buf);
+  if (INTERNAL_SYSCALL_ERROR_P (ret, err)
+      && __builtin_expect (INTERNAL_SYSCALL_ERRNO (ret, err) == EFAULT, 0)
+      && buf)
+    {
+      /* This might be an error or not.  For architectures which have no
+	 separate return value and error indicators we cannot
+	 distinguish a return value of e.g. (clock_t) -14 from -EFAULT.
+	 Therefore the only course of action is to dereference the user
+	 -supplied structure on a return of (clock_t) -14.  This will crash
+	 applications which pass in an invalid non-NULL BUF pointer.
+	 Note that Linux allows BUF to be NULL in which case we skip this.  */
+#define touch(v) \
+      do {								      \
+	clock_t temp = v;						      \
+	asm volatile ("" : "+r" (temp));				      \
+	v = temp;							      \
+      } while (0)
+      touch (buf->tms_utime);
+      touch (buf->tms_stime);
+      touch (buf->tms_cutime);
+      touch (buf->tms_cstime);
+
+      /* If we come here the memory is valid and the kernel did not
+	 return an EFAULT error, but rather e.g. (clock_t) -14.
+	 Return the value given by the kernel.  */
+    }
+
+  /* On Linux this function never fails except with EFAULT.
+     POSIX says that returning a value (clock_t) -1 indicates an error,
+     but on Linux this is simply one of the valid clock values after
+     clock_t wraps.  Therefore when we would return (clock_t) -1, we
+     instead return (clock_t) 0, and loose a tick of accuracy (having
+     returned 0 for two consecutive calls even though the clock
+     advanced).  */
+  if (ret == (clock_t) -1)
+    return (clock_t) 0;
+
+  return ret;
+}
+weak_alias (__times, times)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/timespec_get.c b/REORG.TODO/sysdeps/unix/sysv/linux/timespec_get.c
new file mode 100644
index 0000000000..1f63e57e39
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/timespec_get.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <time.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifdef HAVE_CLOCK_GETTIME_VSYSCALL
+# define HAVE_VSYSCALL
+#endif
+#include <sysdep-vdso.h>
+
+/* Set TS to calendar time based in time base BASE.  */
+int
+timespec_get (struct timespec *ts, int base)
+{
+  switch (base)
+    {
+      int res;
+      INTERNAL_SYSCALL_DECL (err);
+    case TIME_UTC:
+      res = INTERNAL_VSYSCALL (clock_gettime, err, 2, CLOCK_REALTIME, ts);
+      if (INTERNAL_SYSCALL_ERROR_P (res, err))
+	return 0;
+      break;
+
+    default:
+      return 0;
+    }
+
+  return base;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/truncate.c b/REORG.TODO/sysdeps/unix/sysv/linux/truncate.c
new file mode 100644
index 0000000000..d6bf764ea5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/truncate.c
@@ -0,0 +1,35 @@
+/* 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 <unistd.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifndef __OFF_T_MATCHES_OFF64_T
+/* Truncate PATH to LENGTH bytes.  */
+int
+__truncate (const char *path, off_t length)
+{
+# ifndef __NR_truncate
+  return INLINE_SYSCALL_CALL (truncate64, path,
+			      __ALIGNMENT_ARG SYSCALL_LL (length));
+# else
+  return INLINE_SYSCALL_CALL (truncate, path, length);
+# endif
+}
+weak_alias (__truncate, truncate)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/truncate64.c b/REORG.TODO/sysdeps/unix/sysv/linux/truncate64.c
new file mode 100644
index 0000000000..9ea03c6bed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/truncate64.c
@@ -0,0 +1,37 @@
+/* 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 <unistd.h>
+#include <sysdep.h>
+#include <errno.h>
+
+#ifndef __NR_truncate64
+# define __NR_truncate64 __NR_truncate
+#endif
+
+/* Truncate PATH to LENGTH bytes.  */
+int
+__truncate64 (const char *path, off64_t length)
+{
+  return INLINE_SYSCALL_CALL (truncate64, path,
+			      __ALIGNMENT_ARG SYSCALL_LL64 (length));
+}
+weak_alias (__truncate64, truncate64)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (__truncate64, truncate);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity-pid.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity-pid.c
new file mode 100644
index 0000000000..8874c8ee67
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity-pid.c
@@ -0,0 +1,201 @@
+/* Test for sched_getaffinity and sched_setaffinity, PID version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Function definitions for the benefit of tst-skeleton-affinity.c.
+   This variant forks a child process which then invokes
+   sched_getaffinity and sched_setaffinity on the parent PID.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <sched.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+static int
+write_fully (int fd, const void *buffer, size_t length)
+{
+  const void *end = buffer + length;
+  while (buffer < end)
+    {
+      ssize_t bytes_written = TEMP_FAILURE_RETRY
+        (write (fd, buffer, end - buffer));
+      if (bytes_written < 0)
+        return -1;
+      if (bytes_written == 0)
+        {
+          errno = ENOSPC;
+          return -1;
+        }
+      buffer += bytes_written;
+    }
+  return 0;
+}
+
+static ssize_t
+read_fully (int fd, void *buffer, size_t length)
+{
+  const void *start = buffer;
+  const void *end = buffer + length;
+  while (buffer < end)
+    {
+      ssize_t bytes_read = TEMP_FAILURE_RETRY
+        (read (fd, buffer, end - buffer));
+      if (bytes_read < 0)
+        return -1;
+      if (bytes_read == 0)
+        return buffer - start;
+      buffer += bytes_read;
+    }
+  return length;
+}
+
+static int
+process_child_response (int *pipes, pid_t child,
+                        cpu_set_t *set, size_t size)
+{
+  close (pipes[1]);
+
+  int value_from_child;
+  ssize_t bytes_read = read_fully
+    (pipes[0], &value_from_child, sizeof (value_from_child));
+  if (bytes_read < 0)
+    {
+      printf ("error: read from child: %m\n");
+      exit (1);
+    }
+  if (bytes_read != sizeof (value_from_child))
+    {
+      printf ("error: not enough bytes from child: %zd\n", bytes_read);
+      exit (1);
+    }
+  if (value_from_child == 0)
+    {
+      bytes_read = read_fully (pipes[0], set, size);
+      if (bytes_read < 0)
+        {
+          printf ("error: read: %m\n");
+          exit (1);
+        }
+      if (bytes_read != size)
+        {
+          printf ("error: not enough bytes from child: %zd\n", bytes_read);
+          exit (1);
+        }
+    }
+
+  int status;
+  if (waitpid (child, &status, 0) < 0)
+    {
+      printf ("error: waitpid: %m\n");
+      exit (1);
+    }
+  if (!(WIFEXITED (status) && WEXITSTATUS (status) == 0))
+    {
+      printf ("error: invalid status from : %m\n");
+      exit (1);
+    }
+
+  close (pipes[0]);
+
+  if (value_from_child != 0)
+    {
+      errno = value_from_child;
+      return -1;
+    }
+  return 0;
+}
+
+static int
+getaffinity (size_t size, cpu_set_t *set)
+{
+  int pipes[2];
+  if (pipe (pipes) < 0)
+    {
+      printf ("error: pipe: %m\n");
+      exit (1);
+    }
+
+  int ret = fork ();
+  if (ret < 0)
+    {
+      printf ("error: fork: %m\n");
+      exit (1);
+    }
+  if (ret == 0)
+    {
+      /* Child.  */
+      int ret = sched_getaffinity (getppid (), size, set);
+      if (ret < 0)
+        ret = errno;
+      if (write_fully (pipes[1], &ret, sizeof (ret)) < 0
+          || write_fully (pipes[1], set, size) < 0
+          || (ret == 0 && write_fully (pipes[1], set, size) < 0))
+        {
+          printf ("error: write: %m\n");
+          _exit (1);
+        }
+      _exit (0);
+    }
+
+  /* Parent.  */
+  return process_child_response (pipes, ret, set, size);
+}
+
+static int
+setaffinity (size_t size, const cpu_set_t *set)
+{
+  int pipes[2];
+  if (pipe (pipes) < 0)
+    {
+      printf ("error: pipe: %m\n");
+      exit (1);
+    }
+
+  int ret = fork ();
+  if (ret < 0)
+    {
+      printf ("error: fork: %m\n");
+      exit (1);
+    }
+  if (ret == 0)
+    {
+      /* Child.  */
+      int ret = sched_setaffinity (getppid (), size, set);
+      if (write_fully (pipes[1], &ret, sizeof (ret)) < 0)
+        {
+          printf ("error: write: %m\n");
+          _exit (1);
+        }
+      _exit (0);
+    }
+
+  /* Parent.  There is no affinity mask to read from the child, so the
+     size is 0.  */
+  return process_child_response (pipes, ret, NULL, 0);
+}
+
+struct conf;
+static bool early_test (struct conf *unused)
+{
+  return true;
+}
+
+#include "tst-skeleton-affinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity.c
new file mode 100644
index 0000000000..876544c88e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-affinity.c
@@ -0,0 +1,43 @@
+/* Single-threaded test for sched_getaffinity and sched_setaffinity.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Function definitions for the benefit of
+   tst-skeleton-affinity.c.  */
+
+#include <stdbool.h>
+#include <sched.h>
+
+static int
+getaffinity (size_t size, cpu_set_t *set)
+{
+  return sched_getaffinity (0, size, set);
+}
+
+static int
+setaffinity (size_t size, const cpu_set_t *set)
+{
+  return sched_setaffinity (0, size, set);
+}
+
+struct conf;
+static bool early_test (struct conf *unused)
+{
+  return true;
+}
+
+#include "tst-skeleton-affinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-align-clone.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-align-clone.c
new file mode 100644
index 0000000000..026dc58812
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-align-clone.c
@@ -0,0 +1,95 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <tst-stack-align.h>
+#include <stackinfo.h>
+
+static int
+f (void *arg)
+{
+  bool ok = true;
+
+  puts ("in f");
+
+  if (TEST_STACK_ALIGN ())
+    ok = false;
+
+  return ok ? 0 : 1;
+}
+
+static int
+do_test (void)
+{
+  bool ok = true;
+
+  puts ("in main");
+
+  if (TEST_STACK_ALIGN ())
+    ok = false;
+
+#ifdef __ia64__
+  extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
+		       size_t __child_stack_size, int __flags,
+		       void *__arg, ...);
+  char st[256 * 1024];
+  pid_t p = __clone2 (f, st, sizeof (st), 0, 0);
+#else
+  char st[128 * 1024] __attribute__ ((aligned));
+# if _STACK_GROWS_DOWN
+  pid_t p = clone (f, st + sizeof (st), 0, 0);
+# elif _STACK_GROWS_UP
+  pid_t p = clone (f, st, 0, 0);
+# else
+#  error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
+# endif
+#endif
+  if (p == -1)
+    {
+      printf("clone failed: %m\n");
+      return 1;
+    }
+
+  int e;
+  if (waitpid (p, &e, __WCLONE) != p)
+    {
+      puts ("waitpid failed");
+      kill (p, SIGKILL);
+      return 1;
+    }
+  if (!WIFEXITED (e))
+    {
+      if (WIFSIGNALED (e))
+	printf ("died from signal %s\n", strsignal (WTERMSIG (e)));
+      else
+	puts ("did not terminate correctly");
+      return 1;
+    }
+  if (WEXITSTATUS (e) != 0)
+    ok = false;
+
+  return ok ? 0 : 1;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone.c
new file mode 100644
index 0000000000..1da749db8d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone.c
@@ -0,0 +1,60 @@
+/* Test for proper error/errno handling in clone.
+   Copyright (C) 2006-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/>.  */
+
+/* BZ #2386 */
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sched.h>
+
+#ifdef __ia64__
+extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
+		     size_t __child_stack_size, int __flags, void *__arg, ...);
+#endif
+
+int child_fn(void *arg)
+{
+  puts ("FAIL: in child_fn(); should not be here");
+  exit(1);
+}
+
+static int
+do_test (void)
+{
+  int result;
+
+#ifdef __ia64__
+  result = __clone2 (child_fn, NULL, 0, 0, NULL, NULL, NULL);
+#else
+  result = clone (child_fn, NULL, 0, NULL);
+#endif
+
+  if (errno != EINVAL || result != -1)
+    {
+      printf ("FAIL: clone()=%d (wanted -1) errno=%d (wanted %d)\n",
+              result, errno, EINVAL);
+      return 1;
+    }
+
+  puts ("All OK");
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone2.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone2.c
new file mode 100644
index 0000000000..f53efd505c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-clone2.c
@@ -0,0 +1,146 @@
+/* Test if CLONE_VM does not change pthread pid/tid field (BZ #19957)
+   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 <sched.h>
+#include <signal.h>
+#include <string.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/syscall.h>
+
+#include <stackinfo.h>  /* For _STACK_GROWS_{UP,DOWN}.  */
+
+#include <support/check.h>
+
+static int sig;
+static int pipefd[2];
+
+static int
+f (void *a)
+{
+  close (pipefd[0]);
+
+  pid_t ppid = getppid ();
+  pid_t pid = getpid ();
+  pid_t tid = syscall (__NR_gettid);
+
+  if (write (pipefd[1], &ppid, sizeof ppid) != sizeof (ppid))
+    FAIL_EXIT1 ("write ppid failed\n");
+  if (write (pipefd[1], &pid, sizeof pid) != sizeof (pid))
+    FAIL_EXIT1 ("write pid failed\n");
+  if (write (pipefd[1], &tid, sizeof tid) != sizeof (tid))
+    FAIL_EXIT1 ("write tid failed\n");
+
+  return 0;
+}
+
+
+static int
+do_test (void)
+{
+  sig = SIGRTMIN;
+  sigset_t ss;
+  sigemptyset (&ss);
+  sigaddset (&ss, sig);
+  if (sigprocmask (SIG_BLOCK, &ss, NULL) != 0)
+    FAIL_EXIT1 ("sigprocmask failed: %m");
+
+  if (pipe2 (pipefd, O_CLOEXEC))
+    FAIL_EXIT1 ("pipe failed: %m");
+
+  int clone_flags = 0;
+#ifdef __ia64__
+  extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
+		       size_t __child_stack_size, int __flags,
+		       void *__arg, ...);
+  char st[256 * 1024] __attribute__ ((aligned));
+  pid_t p = __clone2 (f, st, sizeof (st), clone_flags, 0);
+#else
+  char st[128 * 1024] __attribute__ ((aligned));
+#if _STACK_GROWS_DOWN
+  pid_t p = clone (f, st + sizeof (st), clone_flags, 0);
+#elif _STACK_GROWS_UP
+  pid_t p = clone (f, st, clone_flags, 0);
+#else
+#error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
+#endif
+#endif
+
+  close (pipefd[1]);
+
+  if (p == -1)
+    FAIL_EXIT1("clone failed: %m");
+
+  pid_t ppid, pid, tid;
+  if (read (pipefd[0], &ppid, sizeof pid) != sizeof pid)
+    {
+      kill (p, SIGKILL);
+      FAIL_EXIT1 ("read ppid failed: %m");
+    }
+  if (read (pipefd[0], &pid, sizeof pid) != sizeof pid)
+    {
+      kill (p, SIGKILL);
+      FAIL_EXIT1 ("read pid failed: %m");
+    }
+  if (read (pipefd[0], &tid, sizeof tid) != sizeof tid)
+    {
+      kill (p, SIGKILL);
+      FAIL_EXIT1 ("read tid failed: %m");
+    }
+
+  close (pipefd[0]);
+
+  int ret = 0;
+
+  pid_t own_pid = getpid ();
+  pid_t own_tid = syscall (__NR_gettid);
+
+  /* Some sanity checks for clone syscall: returned ppid should be current
+     pid and both returned tid/pid should be different from current one.  */
+  if ((ppid != own_pid) || (pid == own_pid) || (tid == own_tid))
+    FAIL_RET ("ppid=%i pid=%i tid=%i | own_pid=%i own_tid=%i",
+	      (int)ppid, (int)pid, (int)tid, (int)own_pid, (int)own_tid);
+
+  int e;
+  if (waitpid (p, &e, __WCLONE) != p)
+    {
+      kill (p, SIGKILL);
+      FAIL_EXIT1 ("waitpid failed");
+    }
+  if (!WIFEXITED (e))
+    {
+      if (WIFSIGNALED (e))
+	printf ("died from signal %s\n", strsignal (WTERMSIG (e)));
+      else
+	puts ("did not terminate correctly");
+      exit (EXIT_FAILURE);
+    }
+  if (WEXITSTATUS (e) != 0)
+    FAIL_EXIT1 ("exit code %d", WEXITSTATUS (e));
+
+  return ret;
+}
+
+#include <support/test-driver.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate-common.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate-common.c
new file mode 100644
index 0000000000..7f2e55cf36
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate-common.c
@@ -0,0 +1,98 @@
+/* Basic fallocate test (no specific flags is checked).
+   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 <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdint.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include <support/support.h>
+#include <support/check.h>
+#include <support/temp_file.h>
+
+#define XSTR(s) STR(S)
+#define STR(s)  #s
+
+static char *temp_filename;
+static int temp_fd;
+
+static void
+do_prepare (int argc, char **argv)
+{
+  temp_fd = create_temp_file ("tst-fallocate.", &temp_filename);
+  if (temp_fd == -1)
+    FAIL_EXIT1 ("cannot create temporary file: %m");
+}
+#define PREPARE do_prepare
+
+static int
+do_test_with_offset (off_t offset)
+{
+  int ret;
+  struct stat finfo;
+#define BLK_SIZE 1024
+  char bwrite[BLK_SIZE] = { 0xf0 };
+  char bread[BLK_SIZE];
+
+  /* It tries to fallocate 1024 bytes from 'offset' and then write 1024 bytes.
+     After both operation rewind the file descriptor and read 1024 bytes
+     and check if both buffer have the same contents.  */
+  ret = fallocate (temp_fd, 0, offset, BLK_SIZE);
+  if (ret == -1)
+    {
+      /* fallocate might not be fully supported by underlying filesystem (for
+	 instance some NFS versions).   */
+      if (errno == EOPNOTSUPP)
+	FAIL_EXIT (77, "fallocate not supported");
+      FAIL_EXIT1 ("fallocate failed");
+    }
+
+  ret = fstat (temp_fd, &finfo);
+  if (ret == -1)
+    FAIL_EXIT1 ("fstat failed");
+
+  if (finfo.st_size < (offset + BLK_SIZE))
+    FAIL_EXIT1 ("size of first fallocate less than expected (%llu)",
+		(long long unsigned int)offset + BLK_SIZE);
+
+  if (lseek (temp_fd, offset, SEEK_SET) == (off_t) -1)
+    FAIL_EXIT1 ("fseek (0, SEEK_SET) failed");
+
+  if (write (temp_fd, bwrite, BLK_SIZE) != BLK_SIZE)
+    FAIL_EXIT1 ("fail trying to write " XSTR (BLK_SIZE) " bytes");
+
+  if (lseek (temp_fd, offset, SEEK_SET) == (off_t) -1)
+    FAIL_EXIT1 ("fseek (0, SEEK_SET) failed");
+
+  if (read (temp_fd, bread, BLK_SIZE) != BLK_SIZE)
+    FAIL_EXIT1 ("fail trying to read " XSTR (BLK_SIZE) " bytes");
+
+  if (memcmp (bwrite, bread, BLK_SIZE) != 0)
+    FAIL_EXIT1 ("buffer written different than buffer readed");
+
+  return 0;
+}
+
+/* This function is defined by the individual tests.  */
+static int do_test (void);
+
+#include <support/test-driver.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate.c
new file mode 100644
index 0000000000..a7f80d9478
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate.c
@@ -0,0 +1,25 @@
+/* Basic fallocate test (no specific flags is checked).
+   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 "tst-fallocate-common.c"
+
+static int
+do_test (void)
+{
+  return do_test_with_offset (0);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate64.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate64.c
new file mode 100644
index 0000000000..c5b13a203b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fallocate64.c
@@ -0,0 +1,47 @@
+/* Basic fallocate64 test (no specific flags is checked).
+   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/>.  */
+
+#define _FILE_OFFSET_BITS 64
+#include "tst-fallocate-common.c"
+
+static int
+do_test (void)
+{
+  ssize_t ret;
+
+  ret = do_test_with_offset (0);
+  if (ret == 1)
+    return 1;
+
+  off_t base_offset = UINT32_MAX + 2048LL;
+  ret = do_test_with_offset (base_offset);
+  if (ret == 1)
+    return 1;
+
+  struct stat st;
+  if (fstat (temp_fd, &st) == -1)
+    FAIL_EXIT1 ("fstat on temporary file failed: %m");
+
+  /* The file size should >= base_offset plus bytes written.  */
+  off_t expected_value = base_offset + ret;
+  if (st.st_size < expected_value)
+    FAIL_EXIT1 ("file size less than expected (%jd > %jd)",
+		(intmax_t) expected_value, (intmax_t) st.st_size);
+
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-fanotify.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fanotify.c
new file mode 100644
index 0000000000..2009b41d55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-fanotify.c
@@ -0,0 +1,61 @@
+/* Basic fanotify test.
+   Copyright (C) 2013-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 <config.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/fanotify.h>
+
+static int
+do_test (void)
+{
+  int fd, ret;
+
+  fd = fanotify_init (0, 0);
+  if (fd < 0)
+    {
+      switch (errno)
+	{
+	case ENOSYS:
+	  puts ("SKIP: missing support for fanotify (check CONFIG_FANOTIFY=y)");
+	  return 0;
+	case EPERM:
+	  puts ("SKIP: missing proper permissions for runtime test");
+	  return 0;
+	}
+
+      perror ("fanotify_init (0, 0) failed");
+      return 1;
+    }
+
+  ret = fanotify_mark (fd, FAN_MARK_ADD | FAN_MARK_MOUNT, FAN_ACCESS
+		       | FAN_MODIFY | FAN_OPEN | FAN_CLOSE | FAN_ONDIR
+		       | FAN_EVENT_ON_CHILD, AT_FDCWD, ".");
+  if (ret)
+    {
+      perror ("fanotify_mark (...) failed");
+      return 1;
+    }
+
+  puts ("All OK");
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-getpid1.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-getpid1.c
new file mode 100644
index 0000000000..253ebf2e15
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-getpid1.c
@@ -0,0 +1,122 @@
+#include <sched.h>
+#include <signal.h>
+#include <string.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <stackinfo.h>
+
+#ifndef TEST_CLONE_FLAGS
+#define TEST_CLONE_FLAGS 0
+#endif
+
+static int sig;
+
+static int
+f (void *a)
+{
+  puts ("in f");
+  union sigval sival;
+  sival.sival_int = getpid ();
+  printf ("pid = %d\n", sival.sival_int);
+  if (sigqueue (getppid (), sig, sival) != 0)
+    return 1;
+  return 0;
+}
+
+
+static int
+do_test (void)
+{
+  int mypid = getpid ();
+
+  sig = SIGRTMIN;
+  sigset_t ss;
+  sigemptyset (&ss);
+  sigaddset (&ss, sig);
+  if (sigprocmask (SIG_BLOCK, &ss, NULL) != 0)
+    {
+      printf ("sigprocmask failed: %m\n");
+      return 1;
+    }
+
+#ifdef __ia64__
+  extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
+		       size_t __child_stack_size, int __flags,
+		       void *__arg, ...);
+  char st[256 * 1024] __attribute__ ((aligned));
+  pid_t p = __clone2 (f, st, sizeof (st), TEST_CLONE_FLAGS, 0);
+#else
+  char st[128 * 1024] __attribute__ ((aligned));
+# if _STACK_GROWS_DOWN
+  pid_t p = clone (f, st + sizeof (st), TEST_CLONE_FLAGS, 0);
+# elif _STACK_GROWS_UP
+  pid_t p = clone (f, st, TEST_CLONE_FLAGS, 0);
+# else
+#  error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP"
+# endif
+#endif
+  if (p == -1)
+    {
+      printf("clone failed: %m\n");
+      return 1;
+    }
+  printf ("new thread: %d\n", (int) p);
+
+  siginfo_t si;
+  do
+    if (sigwaitinfo (&ss, &si) < 0)
+      {
+	printf("sigwaitinfo failed: %m\n");
+	kill (p, SIGKILL);
+	return 1;
+      }
+  while  (si.si_signo != sig || si.si_code != SI_QUEUE);
+
+  int e;
+  if (waitpid (p, &e, __WCLONE) != p)
+    {
+      puts ("waitpid failed");
+      kill (p, SIGKILL);
+      return 1;
+    }
+  if (!WIFEXITED (e))
+    {
+      if (WIFSIGNALED (e))
+	printf ("died from signal %s\n", strsignal (WTERMSIG (e)));
+      else
+	puts ("did not terminate correctly");
+      return 1;
+    }
+  if (WEXITSTATUS (e) != 0)
+    {
+      printf ("exit code %d\n", WEXITSTATUS (e));
+      return 1;
+    }
+
+  if (si.si_int != (int) p)
+    {
+      printf ("expected PID %d, got si_int %d\n", (int) p, si.si_int);
+      kill (p, SIGKILL);
+      return 1;
+    }
+
+  if (si.si_pid != p)
+    {
+      printf ("expected PID %d, got si_pid %d\n", (int) p, (int) si.si_pid);
+      kill (p, SIGKILL);
+      return 1;
+    }
+
+  if (getpid () != mypid)
+    {
+      puts ("my PID changed");
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-personality.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-personality.c
new file mode 100644
index 0000000000..c52a1eff7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-personality.c
@@ -0,0 +1,45 @@
+/* BZ #19408 linux personality syscall wrapper test.
+
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/personality.h>
+
+static int
+do_test (void)
+{
+  int rc = 0;
+  unsigned int test_persona = -EINVAL;
+  unsigned int saved_persona;
+
+  errno = 0xdefaced;
+  saved_persona = personality (0xffffffff);
+
+  if (personality (test_persona) != saved_persona ||
+      personality (0xffffffff) == -1 ||
+      personality (PER_LINUX) == -1 ||
+      personality (0xffffffff) != PER_LINUX ||
+      0xdefaced != errno)
+    rc = 1;
+
+  (void) personality (saved_persona);
+  return rc;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-quota.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-quota.c
new file mode 100644
index 0000000000..41943c7e35
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-quota.c
@@ -0,0 +1,58 @@
+/* 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/quota.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+
+static bool errors;
+
+void
+check_size (const char *name1, size_t size1,
+            const char *name2, size_t size2)
+{
+  const char *prefix;
+  const char *op;
+  if (size1 != size2)
+    {
+      prefix = "error";
+      op = "!=";
+      errors = true;
+    }
+  else
+    {
+      prefix = "info";
+      op = "==";
+    }
+  printf ("%s: sizeof (%s) [%zu] %s sizeof (%s) [%zu]\n",
+          prefix, name1, size1, op, name2, size2);
+}
+
+#define CHECK_SIZE(type1, type2) \
+  check_size (#type1, sizeof (type1), #type2, sizeof (type2))
+
+int
+do_test (void)
+{
+  CHECK_SIZE (struct if_dqblk, struct dqblk);
+  CHECK_SIZE (struct if_dqinfo, struct dqinfo);
+  return errors;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-setgetname.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-setgetname.c
new file mode 100644
index 0000000000..0ab35e60f9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-setgetname.c
@@ -0,0 +1,302 @@
+/* Test pthread_setname_np and pthread_getname_np.
+   Copyright (C) 2013-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; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+#include <stdio.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <string.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+
+/* New name of process.  */
+#define NEW_NAME "setname"
+
+/* Name of process which is one byte too big
+   e.g. 17 bytes including null-terminator  */
+#define BIG_NAME       "....V....X....XV"
+
+/* Longest name of a process
+   e.g. 16 bytes including null-terminator.  */
+#define LONGEST_NAME   "....V....X....X"
+
+/* One less than longest name with unique
+   characters to detect modification.  */
+#define CANARY_NAME    "abcdefghijklmn"
+
+/* On Linux the maximum length of the name of a task *including* the null
+   terminator.  */
+#define TASK_COMM_LEN 16
+
+long
+gettid (void)
+{
+    return syscall(__NR_gettid);
+}
+
+/* On Linux we can read this task's name from /proc.  */
+int
+get_self_comm (long tid, char *buf, size_t len)
+{
+  int res = 0;
+#define FMT "/proc/self/task/%lu/comm"
+  char fname[sizeof (FMT) + 32];
+  sprintf (fname, FMT, (unsigned long) tid);
+
+  int fd = open (fname, O_RDONLY);
+  if (fd == -1)
+    return errno;
+
+  ssize_t n = read (fd, (void *) buf, len);
+  if (n < 0)
+    res = errno;
+  else
+    {
+      if (buf[n - 1] == '\n')
+        buf[n - 1] = '\0';
+      else if (n == len)
+        res = ERANGE;
+      else
+        buf[n] = '\0';
+    }
+
+  close (fd);
+  return res;
+}
+
+int
+do_test (int argc, char **argv)
+{
+  pthread_t self;
+  int res;
+  int ret = 0;
+  char name[TASK_COMM_LEN];
+  char name_check[TASK_COMM_LEN];
+
+  memset (name, '\0', TASK_COMM_LEN);
+  memset (name_check, '\0', TASK_COMM_LEN);
+
+  /* Test 1: Get the name of the task via pthread_getname_np and /proc
+     and verify that they both match.  */
+  self = pthread_self ();
+  res = pthread_getname_np (self, name, TASK_COMM_LEN);
+
+  if (res == 0)
+    {
+      res = get_self_comm (gettid (), name_check, TASK_COMM_LEN);
+
+      if (res == 0)
+       {
+         if (strncmp (name, name_check, strlen (BIG_NAME)) == 0)
+           printf ("PASS: Test 1 - pthread_getname_np and /proc agree.\n");
+         else
+           {
+             printf ("FAIL: Test 1 - pthread_getname_np and /proc differ"
+                     " i.e. %s != %s\n", name, name_check);
+             ret++;
+           }
+       }
+      else
+       {
+         printf ("FAIL: Test 1 - unable read task name via proc.\n");
+         ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 1 - pthread_getname_np failed with error %d\n", res);
+      ret++;
+    }
+
+  /* Test 2: Test setting the name and then independently verify it
+             was set.  */
+  res = pthread_setname_np (self, NEW_NAME);
+
+  if (res == 0)
+    {
+      res = get_self_comm (gettid (), name_check, TASK_COMM_LEN);
+      if (res == 0)
+        {
+         if (strncmp (NEW_NAME, name_check, strlen (BIG_NAME)) == 0)
+           printf ("PASS: Test 2 - Value used in pthread_setname_np and"
+                   " /proc agree.\n");
+         else
+           {
+             printf ("FAIL: Test 2 - Value used in pthread_setname_np"
+		     " and /proc differ i.e. %s != %s\n",
+		     NEW_NAME, name_check);
+             ret++;
+           }
+        }
+      else
+       {
+         printf ("FAIL: Test 2 - unable to read task name via proc.\n");
+         ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 2 - pthread_setname_np failed with error %d\n", res);
+      ret++;
+    }
+
+  /* Test 3: Test setting a name that is one-byte too big.  */
+  res = pthread_getname_np (self, name, TASK_COMM_LEN);
+
+  if (res == 0)
+    {
+      res = pthread_setname_np (self, BIG_NAME);
+      if (res != 0)
+        {
+         if (res == ERANGE)
+           {
+             printf ("PASS: Test 3 - pthread_setname_np returned ERANGE"
+                     " for a process name that was too long.\n");
+
+             /* Verify the old name didn't change.  */
+             res = get_self_comm (gettid (), name_check, TASK_COMM_LEN);
+             if (res == 0)
+               {
+                 if (strncmp (name, name_check, strlen (BIG_NAME)) == 0)
+                   printf ("PASS: Test 3 - Original name unchanged after"
+                           " pthread_setname_np returned ERANGE.\n");
+                 else
+                   {
+                     printf ("FAIL: Test 3 - Original name changed after"
+                             " pthread_setname_np returned ERANGE"
+                             " i.e. %s != %s\n",
+                             name, name_check);
+                     ret++;
+                   }
+               }
+             else
+               {
+                 printf ("FAIL: Test 3 - unable to read task name.\n");
+                 ret++;
+               }
+           }
+         else
+           {
+             printf ("FAIL: Test 3 - Wrong error returned"
+		     " i.e. ERANGE != %d\n", res);
+             ret++;
+           }
+        }
+      else
+        {
+         printf ("FAIL: Test 3 - Too-long name accepted by"
+	         " pthread_setname_np.\n");
+         ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 3 - Unable to get original name.\n");
+      ret++;
+    }
+
+  /* Test 4: Verify that setting the longest name works.  */
+  res = pthread_setname_np (self, LONGEST_NAME);
+
+  if (res == 0)
+    {
+      res = get_self_comm (gettid (), name_check, TASK_COMM_LEN);
+      if (res == 0)
+        {
+         if (strncmp (LONGEST_NAME, name_check, strlen (BIG_NAME)) == 0)
+           printf ("PASS: Test 4 - Longest name set via pthread_setname_np"
+                   " agrees with /proc.\n");
+         else
+           {
+             printf ("FAIL: Test 4 - Value used in pthread_setname_np and /proc"
+		     " differ i.e. %s != %s\n", LONGEST_NAME, name_check);
+             ret++;
+           }
+        }
+      else
+       {
+         printf ("FAIL: Test 4 - unable to read task name via proc.\n");
+         ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 4 - pthread_setname_np failed with error %d\n", res);
+      ret++;
+    }
+
+  /* Test 5: Verify that getting a long name into a small buffer fails.  */
+  strncpy (name, CANARY_NAME, strlen (CANARY_NAME) + 1);
+
+  /* Claim the buffer length is strlen (LONGEST_NAME).  This is one character
+     too small to hold LONGEST_NAME *and* the null terminator.  We should get
+     back ERANGE and name should be unmodified.  */
+  res = pthread_getname_np (self, name, strlen (LONGEST_NAME));
+
+  if (res != 0)
+    {
+      if (res == ERANGE)
+        {
+	  if (strncmp (CANARY_NAME, name, strlen (BIG_NAME)) == 0)
+	    {
+	      printf ("PASS: Test 5 - ERANGE and buffer unmodified.\n");
+	    }
+	  else
+	    {
+	      printf ("FAIL: Test 5 - Original buffer modified.\n");
+	      ret++;
+	    }
+        }
+      else
+        {
+	  printf ("FAIL: Test 5 - Did not return ERANGE for small buffer.\n");
+	  ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 5 - Returned name longer than buffer.\n");
+      ret++;
+    }
+
+  /* Test 6: Lastly make sure we can read back the longest name.  */
+  res = pthread_getname_np (self, name, strlen (LONGEST_NAME) + 1);
+
+  if (res == 0)
+    {
+      if (strncmp (LONGEST_NAME, name, strlen (BIG_NAME)) == 0)
+        {
+	  printf ("PASS: Test 6 - Read back longest name correctly.\n");
+        }
+      else
+        {
+	  printf ("FAIL: Test 6 - Read \"%s\" instead of longest name.\n",
+		  name);
+	  ret++;
+        }
+    }
+  else
+    {
+      printf ("FAIL: Test 6 - pthread_getname_np failed with error %d\n", res);
+      ret++;
+    }
+
+  return ret;
+}
+
+#include <test-skeleton.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c
new file mode 100644
index 0000000000..b2be8239f2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c
@@ -0,0 +1,278 @@
+/* Generic test case for CPU affinity functions.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file is included by the tst-affinity*.c files to test the two
+   variants of the functions, under different conditions.  The
+   following functions have to be definied:
+
+   static int getaffinity (size_t, cpu_set_t *);
+   static int setaffinity (size_t, const cpu_set_t *);
+   static bool early_test (struct conf *);
+
+   The first two functions shall affect the affinity mask for the
+   current thread and return 0 for success, -1 for error (with an
+   error code in errno).
+
+   early_test is invoked before the tests in this file affect the
+   affinity masks.  If it returns true, testing continues, otherwise
+   no more tests run and the overall test exits with status 1.
+*/
+
+#include <errno.h>
+#include <limits.h>
+#include <sched.h>
+#include <stdbool.h>
+#include <stdio.h>
+
+/* CPU set configuration determined.  Can be used from early_test.  */
+struct conf
+{
+  int set_size;			/* in bits */
+  int last_cpu;
+};
+
+static int
+find_set_size (void)
+{
+  /* There is considerable controversy about how to determine the size
+     of the kernel CPU mask.  The probing loop below is only intended
+     for testing purposes.  */
+  for (int num_cpus = 64; num_cpus <= INT_MAX / 2; ++num_cpus)
+    {
+      cpu_set_t *set = CPU_ALLOC (num_cpus);
+      size_t size = CPU_ALLOC_SIZE (num_cpus);
+
+      if (set == NULL)
+	{
+	  printf ("error: CPU_ALLOC (%d) failed\n", num_cpus);
+	  return -1;
+	}
+      if (getaffinity (size, set) == 0)
+	{
+	  CPU_FREE (set);
+	  return num_cpus;
+	}
+      if (errno != EINVAL)
+	{
+	  printf ("error: getaffinity for %d CPUs: %m\n", num_cpus);
+	  CPU_FREE (set);
+	  return -1;
+	}
+      CPU_FREE (set);
+    }
+  puts ("error: Cannot find maximum CPU number");
+  return -1;
+}
+
+static int
+find_last_cpu (const cpu_set_t *set, size_t size)
+{
+  /* We need to determine the set size with CPU_COUNT_S and the
+     cpus_found counter because there is no direct way to obtain the
+     actual CPU set size, in bits, from the value of
+     CPU_ALLOC_SIZE.  */
+  size_t cpus_found = 0;
+  size_t total_cpus = CPU_COUNT_S (size, set);
+  int last_cpu = -1;
+
+  for (int cpu = 0; cpus_found < total_cpus; ++cpu)
+    {
+      if (CPU_ISSET_S (cpu, size, set))
+	{
+	  last_cpu = cpu;
+	  ++cpus_found;
+	}
+    }
+  return last_cpu;
+}
+
+static void
+setup_conf (struct conf *conf)
+{
+  *conf = (struct conf) {-1, -1};
+  conf->set_size = find_set_size ();
+  if (conf->set_size > 0)
+    {
+      cpu_set_t *set = CPU_ALLOC (conf->set_size);
+
+      if (set == NULL)
+	{
+	  printf ("error: CPU_ALLOC (%d) failed\n", conf->set_size);
+	  CPU_FREE (set);
+	  return;
+	}
+      if (getaffinity (CPU_ALLOC_SIZE (conf->set_size), set) < 0)
+	{
+	  printf ("error: getaffinity failed: %m\n");
+	  CPU_FREE (set);
+	  return;
+	}
+      conf->last_cpu = find_last_cpu (set, CPU_ALLOC_SIZE (conf->set_size));
+      if (conf->last_cpu < 0)
+	puts ("info: No test CPU found");
+      CPU_FREE (set);
+    }
+}
+
+static bool
+test_size (const struct conf *conf, size_t size)
+{
+  if (size < conf->set_size)
+    {
+      printf ("info: Test not run for CPU set size %zu\n", size);
+      return true;
+    }
+
+  cpu_set_t *initial_set = CPU_ALLOC (size);
+  cpu_set_t *set2 = CPU_ALLOC (size);
+  cpu_set_t *active_cpu_set = CPU_ALLOC (size);
+
+  if (initial_set == NULL || set2 == NULL || active_cpu_set == NULL)
+    {
+      printf ("error: size %zu: CPU_ALLOC failed\n", size);
+      return false;
+    }
+  size_t kernel_size = CPU_ALLOC_SIZE (size);
+
+  if (getaffinity (kernel_size, initial_set) < 0)
+    {
+      printf ("error: size %zu: getaffinity: %m\n", size);
+      return false;
+    }
+  if (setaffinity (kernel_size, initial_set) < 0)
+    {
+      printf ("error: size %zu: setaffinity: %m\n", size);
+      return true;
+    }
+
+  /* Use one-CPU set to test switching between CPUs.  */
+  int last_active_cpu = -1;
+  for (int cpu = 0; cpu <= conf->last_cpu; ++cpu)
+    {
+      int active_cpu = sched_getcpu ();
+      if (last_active_cpu >= 0 && last_active_cpu != active_cpu)
+	{
+	  printf ("error: Unexpected CPU %d, expected %d\n",
+		  active_cpu, last_active_cpu);
+	  return false;
+	}
+
+      if (!CPU_ISSET_S (cpu, kernel_size, initial_set))
+	continue;
+      last_active_cpu = cpu;
+
+      CPU_ZERO_S (kernel_size, active_cpu_set);
+      CPU_SET_S (cpu, kernel_size, active_cpu_set);
+      if (setaffinity (kernel_size, active_cpu_set) < 0)
+	{
+	  printf ("error: size %zu: setaffinity (%d): %m\n", size, cpu);
+	  return false;
+	}
+      active_cpu = sched_getcpu ();
+      if (active_cpu != cpu)
+	{
+	  printf ("error: Unexpected CPU %d, expected %d\n", active_cpu, cpu);
+	  return false;
+	}
+      if (getaffinity (kernel_size, set2) < 0)
+	{
+	  printf ("error: size %zu: getaffinity (2): %m\n", size);
+	  return false;
+	}
+      if (!CPU_EQUAL_S (kernel_size, active_cpu_set, set2))
+	{
+	  printf ("error: size %zu: CPU sets do not match\n", size);
+	  return false;
+	}
+    }
+
+  /* Test setting the all-ones set.  */
+  for (int cpu = 0; cpu < size; ++cpu)
+    CPU_SET_S (cpu, kernel_size, set2);
+  if (setaffinity (kernel_size, set2) < 0)
+    {
+      printf ("error: size %zu: setaffinity (3): %m\n", size);
+      return false;
+    }
+
+  if (setaffinity (kernel_size, initial_set) < 0)
+    {
+      printf ("error: size %zu: setaffinity (4): %m\n", size);
+      return false;
+    }
+  if (getaffinity (kernel_size, set2) < 0)
+    {
+      printf ("error: size %zu: getaffinity (3): %m\n", size);
+      return false;
+    }
+  if (!CPU_EQUAL_S (kernel_size, initial_set, set2))
+    {
+      printf ("error: size %zu: CPU sets do not match (2)\n", size);
+      return false;
+    }
+
+  CPU_FREE (initial_set);
+  CPU_FREE (set2);
+  CPU_FREE (active_cpu_set);
+
+  return true;
+}
+
+static int
+do_test (void)
+{
+  {
+    cpu_set_t set;
+    if (getaffinity (sizeof (set), &set) < 0 && errno == ENOSYS)
+      {
+	puts ("warning: getaffinity not supported, test cannot run");
+	return 0;
+      }
+    if (sched_getcpu () < 0 && errno == ENOSYS)
+      {
+	puts ("warning: sched_getcpu not supported, test cannot run");
+	return 0;
+      }
+  }
+
+  struct conf conf;
+  setup_conf (&conf);
+  printf ("info: Detected CPU set size (in bits): %d\n", conf.set_size);
+  printf ("info: Maximum test CPU: %d\n", conf.last_cpu);
+  if (conf.set_size < 0 || conf.last_cpu < 0)
+    return 1;
+
+  if (!early_test (&conf))
+    return 1;
+
+  bool error = false;
+  error |= !test_size (&conf, 1024);
+  error |= !test_size (&conf, conf.set_size);
+  error |= !test_size (&conf, 2);
+  error |= !test_size (&conf, 32);
+  error |= !test_size (&conf, 40);
+  error |= !test_size (&conf, 64);
+  error |= !test_size (&conf, 96);
+  error |= !test_size (&conf, 128);
+  error |= !test_size (&conf, 256);
+  error |= !test_size (&conf, 8192);
+  return error;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-thread-affinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-thread-affinity.c
new file mode 100644
index 0000000000..91ed987563
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-skeleton-thread-affinity.c
@@ -0,0 +1,280 @@
+/* Generic test for CPU affinity functions, multi-threaded variant.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Before including this file, a test has to declare the helper
+   getaffinity and setaffinity functions described in
+   tst-skeleton-affinity.c, which is included below.  */
+
+#include <errno.h>
+#include <pthread.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <sys/time.h>
+
+struct conf;
+static bool early_test (struct conf *);
+
+/* Arbitrary run time for each pass.  */
+#define PASS_TIMEOUT 2
+
+/* There are two passes (one with sched_yield, one without), and we
+   double the timeout to be on the safe side.  */
+#define TIMEOUT (2 * PASS_TIMEOUT * 2)
+
+#include "tst-skeleton-affinity.c"
+
+/* 0 if still running, 1 of stopping requested.  */
+static int still_running;
+
+/* 0 if no scheduling failures, 1 if failures are encountered.  */
+static int failed;
+
+static void *
+thread_burn_one_cpu (void *closure)
+{
+  int cpu = (uintptr_t) closure;
+  while (__atomic_load_n (&still_running, __ATOMIC_RELAXED) == 0)
+    {
+      int current = sched_getcpu ();
+      if (sched_getcpu () != cpu)
+	{
+	  printf ("error: Pinned thread %d ran on impossible cpu %d\n",
+		  cpu, current);
+	  __atomic_store_n (&failed, 1, __ATOMIC_RELAXED);
+	  /* Terminate early.  */
+	  __atomic_store_n (&still_running, 1, __ATOMIC_RELAXED);
+	}
+    }
+  return NULL;
+}
+
+struct burn_thread
+{
+  pthread_t self;
+  struct conf *conf;
+  cpu_set_t *initial_set;
+  cpu_set_t *seen_set;
+  int thread;
+};
+
+static void *
+thread_burn_any_cpu (void *closure)
+{
+  struct burn_thread *param = closure;
+
+  /* Schedule this thread around a bit to see if it lands on another
+     CPU.  Run this for 2 seconds, once with sched_yield, once
+     without.  */
+  for (int pass = 1; pass <= 2; ++pass)
+    {
+      time_t start = time (NULL);
+      while (time (NULL) - start <= PASS_TIMEOUT)
+	{
+	  int cpu = sched_getcpu ();
+	  if (cpu > param->conf->last_cpu
+	      || !CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (param->conf->set_size),
+			       param->initial_set))
+	    {
+	      printf ("error: Unpinned thread %d ran on impossible CPU %d\n",
+		      param->thread, cpu);
+	      __atomic_store_n (&failed, 1, __ATOMIC_RELAXED);
+	      return NULL;
+	    }
+	  CPU_SET_S (cpu, CPU_ALLOC_SIZE (param->conf->set_size),
+		     param->seen_set);
+	  if (pass == 1)
+	    sched_yield ();
+	}
+    }
+  return NULL;
+}
+
+static void
+stop_and_join_threads (struct conf *conf, cpu_set_t *set,
+		       pthread_t *pinned_first, pthread_t *pinned_last,
+		       struct burn_thread *other_first,
+		       struct burn_thread *other_last)
+{
+  __atomic_store_n (&still_running, 1, __ATOMIC_RELAXED);
+  for (pthread_t *p = pinned_first; p < pinned_last; ++p)
+    {
+      int cpu = p - pinned_first;
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), set))
+	continue;
+
+      int ret = pthread_join (*p, NULL);
+      if (ret != 0)
+	{
+	  printf ("error: Failed to join thread %d: %s\n", cpu, strerror (ret));
+	  fflush (stdout);
+	  /* Cannot shut down cleanly with threads still running.  */
+	  abort ();
+	}
+    }
+
+  for (struct burn_thread *p = other_first; p < other_last; ++p)
+    {
+      int cpu = p - other_first;
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), set))
+	continue;
+
+      int ret = pthread_join (p->self, NULL);
+      if (ret != 0)
+	{
+	  printf ("error: Failed to join thread %d: %s\n", cpu, strerror (ret));
+	  fflush (stdout);
+	  /* Cannot shut down cleanly with threads still running.  */
+	  abort ();
+	}
+    }
+}
+
+/* Tries to check that the initial set of CPUs is complete and that
+   the main thread will not run on any other threads.  */
+static bool
+early_test (struct conf *conf)
+{
+  pthread_t *pinned_threads
+    = calloc (conf->last_cpu + 1, sizeof (*pinned_threads));
+  struct burn_thread *other_threads
+    = calloc (conf->last_cpu + 1, sizeof (*other_threads));
+  cpu_set_t *initial_set = CPU_ALLOC (conf->set_size);
+  cpu_set_t *scratch_set = CPU_ALLOC (conf->set_size);
+
+  if (pinned_threads == NULL || other_threads == NULL
+      || initial_set == NULL || scratch_set == NULL)
+    {
+      puts ("error: Memory allocation failure");
+      return false;
+    }
+  if (getaffinity (CPU_ALLOC_SIZE (conf->set_size), initial_set) < 0)
+    {
+      printf ("error: pthread_getaffinity_np failed: %m\n");
+      return false;
+    }
+  for (int cpu = 0; cpu <= conf->last_cpu; ++cpu)
+    {
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), initial_set))
+	continue;
+      other_threads[cpu].conf = conf;
+      other_threads[cpu].initial_set = initial_set;
+      other_threads[cpu].thread = cpu;
+      other_threads[cpu].seen_set = CPU_ALLOC (conf->set_size);
+      if (other_threads[cpu].seen_set == NULL)
+	{
+	  puts ("error: Memory allocation failure");
+	  return false;
+	}
+      CPU_ZERO_S (CPU_ALLOC_SIZE (conf->set_size),
+		  other_threads[cpu].seen_set);
+    }
+
+  pthread_attr_t attr;
+  int ret = pthread_attr_init (&attr);
+  if (ret != 0)
+    {
+      printf ("error: pthread_attr_init failed: %s\n", strerror (ret));
+      return false;
+    }
+
+  /* Spawn a thread pinned to each available CPU.  */
+  for (int cpu = 0; cpu <= conf->last_cpu; ++cpu)
+    {
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), initial_set))
+	continue;
+      CPU_ZERO_S (CPU_ALLOC_SIZE (conf->set_size), scratch_set);
+      CPU_SET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), scratch_set);
+      ret = pthread_attr_setaffinity_np
+	(&attr, CPU_ALLOC_SIZE (conf->set_size), scratch_set);
+      if (ret != 0)
+	{
+	  printf ("error: pthread_attr_setaffinity_np for CPU %d failed: %s\n",
+		  cpu, strerror (ret));
+	  stop_and_join_threads (conf, initial_set,
+				 pinned_threads, pinned_threads + cpu,
+				 NULL, NULL);
+	  return false;
+	}
+      ret = pthread_create (pinned_threads + cpu, &attr,
+			    thread_burn_one_cpu, (void *) (uintptr_t) cpu);
+      if (ret != 0)
+	{
+	  printf ("error: pthread_create for CPU %d failed: %s\n",
+		  cpu, strerror (ret));
+	  stop_and_join_threads (conf, initial_set,
+				 pinned_threads, pinned_threads + cpu,
+				 NULL, NULL);
+	  return false;
+	}
+    }
+
+  /* Spawn another set of threads running on all CPUs.  */
+  for (int cpu = 0; cpu <= conf->last_cpu; ++cpu)
+    {
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), initial_set))
+	continue;
+      ret = pthread_create (&other_threads[cpu].self, NULL,
+			    thread_burn_any_cpu, other_threads + cpu);
+      if (ret != 0)
+	{
+	  printf ("error: pthread_create for thread %d failed: %s\n",
+		  cpu, strerror (ret));
+	  stop_and_join_threads (conf, initial_set,
+				 pinned_threads,
+				 pinned_threads + conf->last_cpu + 1,
+				 other_threads, other_threads + cpu);
+	  return false;
+	}
+    }
+
+  /* Main thread.  */
+  struct burn_thread main_thread;
+  main_thread.conf = conf;
+  main_thread.initial_set = initial_set;
+  main_thread.seen_set = scratch_set;
+  main_thread.thread = -1;
+  CPU_ZERO_S (CPU_ALLOC_SIZE (conf->set_size), main_thread.seen_set);
+  thread_burn_any_cpu (&main_thread);
+  stop_and_join_threads (conf, initial_set,
+			 pinned_threads,
+			 pinned_threads + conf->last_cpu + 1,
+			 other_threads, other_threads + conf->last_cpu + 1);
+
+  printf ("info: Main thread ran on %d CPU(s) of %d available CPU(s)\n",
+	  CPU_COUNT_S (CPU_ALLOC_SIZE (conf->set_size), scratch_set),
+	  CPU_COUNT_S (CPU_ALLOC_SIZE (conf->set_size), initial_set));
+  CPU_ZERO_S (CPU_ALLOC_SIZE (conf->set_size), scratch_set);
+  for (int cpu = 0; cpu <= conf->last_cpu; ++cpu)
+    {
+      if (!CPU_ISSET_S (cpu, CPU_ALLOC_SIZE (conf->set_size), initial_set))
+	continue;
+      CPU_OR_S (CPU_ALLOC_SIZE (conf->set_size),
+		scratch_set, scratch_set, other_threads[cpu].seen_set);
+      CPU_FREE (other_threads[cpu].seen_set);
+    }
+  printf ("info: Other threads ran on %d CPU(s)\n",
+	  CPU_COUNT_S (CPU_ALLOC_SIZE (conf->set_size), scratch_set));;
+
+
+  pthread_attr_destroy (&attr);
+  CPU_FREE (scratch_set);
+  CPU_FREE (initial_set);
+  free (pinned_threads);
+  free (other_threads);
+  return failed == 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-sync_file_range.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-sync_file_range.c
new file mode 100644
index 0000000000..73cbcb3247
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-sync_file_range.c
@@ -0,0 +1,132 @@
+/* Basic sync_file_range (not specific flag is checked).
+   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/>.  */
+
+/* sync_file_range is only define for LFS.  */
+#define _FILE_OFFSET_BITS 64
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include <support/temp_file.h>
+#include <support/check.h>
+
+#define XSTR(s) STR(S)
+#define STR(s)  #s
+
+static char *temp_filename;
+static int temp_fd;
+
+static char fifoname[] = "/tmp/tst-posix_fadvise-fifo-XXXXXX";
+static int fifofd;
+
+void
+do_prepare (int argc, char **argv)
+{
+  temp_fd = create_temp_file ("tst-file_sync_range.", &temp_filename);
+  if (temp_fd == -1)
+    FAIL_EXIT1 ("cannot create temporary file: %m");
+
+  if (mktemp (fifoname) == NULL)
+    FAIL_EXIT1 ("cannot generate temp file name: %m");
+  add_temp_file (fifoname);
+
+  if (mkfifo (fifoname, S_IWUSR | S_IRUSR) != 0)
+    FAIL_EXIT1 ("cannot create fifo: %m");
+
+  fifofd = open (fifoname, O_RDONLY | O_NONBLOCK);
+  if (fifofd == -1)
+    FAIL_EXIT1 ("cannot open fifo: %m");
+}
+#define PREPARE do_prepare
+
+static int
+do_test (void)
+{
+  int ret;
+
+  /* This tests first check for some invalid usage and then check for
+     a simple usage.  It does not cover for all possible issue since for
+     EIO/ENOMEM/ENOSPC would require to create very specific scenarios that
+     are outside the current test coverage (basically correct kernel argument
+     passing.  */
+
+  /* Check for invalid file descriptor.  */
+  if ((ret = sync_file_range (-1, 0, 0, 0)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not fail on an invalid descriptor "
+		"(returned %d, expected -1)", ret);
+  if (errno != EBADF)
+    FAIL_EXIT1 ("sync_file_range on an invalid descriptor did not set errno to "
+		"EBADF (%d)", errno);
+
+  if ((ret = sync_file_range (fifofd, 0, 0, 0)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not fail on an invalid descriptor "
+		"(returned %d, expected -1)", ret);
+  if (errno != ESPIPE)
+    FAIL_EXIT1 ("sync_file_range on an invalid descriptor did not set errno to "
+		"EBADF (%d)", errno);
+
+  /* Check for invalid flags (it must be
+     SYNC_FILE_RANGE_{WAIT_BEFORE,WRITE,WAIT_AFTER) or a 'or' combination of
+     them.  */
+  if ((ret = sync_file_range (temp_fd, 0, 0, -1)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not failed with invalid flags "
+		"(returned %d, " "expected -1)", ret);
+  if (errno != EINVAL)
+    FAIL_EXIT1 ("sync_file_range with invalid flag did not set errno to "
+		"EINVAL (%d)", errno);
+
+  /* Check for negative offset.  */
+  if ((ret = sync_file_range (temp_fd, -1, 1, 0)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not failed with invalid offset "
+		"(returned %d, expected -1)", ret);
+  if (errno != EINVAL)
+    FAIL_EXIT1 ("sync_file_range with invalid offset did not set errno to "
+		"EINVAL (%d)", errno);
+
+  /* offset + nbytes must be a positive value.  */
+  if ((ret = sync_file_range (temp_fd, 1024, -2048, 0)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not failed with invalid nbytes (returned %d, "
+	  "expected -1)", ret);
+  if (errno != EINVAL)
+    FAIL_EXIT1 ("sync_file_range with invalid offset did not set errno to "
+		"EINVAL (%d)", errno);
+
+  /* offset + nbytes must be larger or equal than offset */
+  if ((ret = sync_file_range (temp_fd, -1024, 1024, 0)) != -1)
+    FAIL_EXIT1 ("sync_file_range did not failed with invalid offset "
+		"(returned %d, expected -1)", ret);
+  if (errno != EINVAL)
+    FAIL_EXIT1 ("sync_file_range with invalid offset did not set errno to "
+		"EINVAL (%d)", errno);
+
+  /* Check simple successful case.  */
+  if ((ret = sync_file_range (temp_fd, 0, 1024, 0)) == -1)
+    FAIL_EXIT1 ("sync_file_range failed (errno = %d)", errno);
+
+  /* Finally check also a successful case with a 64-bit offset.  */
+  off_t large_offset = UINT32_MAX + 2048LL;
+  if ((ret = sync_file_range (temp_fd, large_offset, 1024, 0)) == -1)
+    FAIL_EXIT1 ("sync_file_range failed (errno = %d)", errno);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread.c
new file mode 100644
index 0000000000..d4eff9a0e8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread.c
@@ -0,0 +1,49 @@
+/* Multi-threaded test for pthread_getaffinity_np, pthread_setaffinity_np.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthread.h>
+
+/* Defined for the benefit of tst-skeleton-thread-affinity.c, included
+   below.  */
+
+static int
+setaffinity (size_t size, const cpu_set_t *set)
+{
+  int ret = pthread_setaffinity_np (pthread_self (), size, set);
+  if (ret != 0)
+    {
+      errno = ret;
+      return -1;
+    }
+  return 0;
+}
+
+static int
+getaffinity (size_t size, cpu_set_t *set)
+{
+  int ret = pthread_getaffinity_np (pthread_self (), size, set);
+  if (ret != 0)
+    {
+      errno = ret;
+      return -1;
+    }
+  return 0;
+}
+
+#include "tst-skeleton-thread-affinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread2.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread2.c
new file mode 100644
index 0000000000..4a1a377e5e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-pthread2.c
@@ -0,0 +1,95 @@
+/* Separate thread test for pthread_getaffinity_np, pthread_setaffinity_np.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthread.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Defined for the benefit of tst-skeleton-thread-affinity.c, included
+   below.  This variant runs the functions on a separate thread.  */
+
+struct affinity_access_task
+{
+  pthread_t thread;
+  cpu_set_t *set;
+  size_t size;
+  bool get;
+  int result;
+};
+
+static void *
+affinity_access_thread (void *closure)
+{
+  struct affinity_access_task *task = closure;
+  if (task->get)
+    task->result = pthread_getaffinity_np
+      (task->thread, task->size, task->set);
+  else
+    task->result = pthread_setaffinity_np
+      (task->thread, task->size, task->set);
+  return NULL;
+}
+
+static int
+run_affinity_access_thread (cpu_set_t *set, size_t size, bool get)
+{
+  struct affinity_access_task task =
+    {
+      .thread = pthread_self (),
+      .set = set,
+      .size = size,
+      .get = get
+    };
+  pthread_t thr;
+  int ret = pthread_create (&thr, NULL, affinity_access_thread, &task);
+  if (ret != 0)
+    {
+      errno = ret;
+      printf ("error: could not create affinity access thread: %m\n");
+      abort ();
+    }
+  ret = pthread_join (thr, NULL);
+  if (ret != 0)
+    {
+      errno = ret;
+      printf ("error: could not join affinity access thread: %m\n");
+      abort ();
+    }
+  if (task.result != 0)
+    {
+      errno = task.result;
+      return -1;
+    }
+  return 0;
+}
+
+static int
+setaffinity (size_t size, const cpu_set_t *set)
+{
+  return run_affinity_access_thread ((cpu_set_t *) set, size, false);
+}
+
+static int
+getaffinity (size_t size, cpu_set_t *set)
+{
+  return run_affinity_access_thread (set, size, true);
+}
+
+#include "tst-skeleton-thread-affinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-sched.c b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-sched.c
new file mode 100644
index 0000000000..8cbf589bcb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/tst-thread-affinity-sched.c
@@ -0,0 +1,36 @@
+/* Multi-threaded test for sched_getaffinity_np, sched_setaffinity_np.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+
+/* Defined for the benefit of tst-skeleton-thread-affinity.c, included
+   below.  */
+
+static int
+getaffinity (size_t size, cpu_set_t *set)
+{
+  return sched_getaffinity (0, size, set);
+}
+
+static int
+setaffinity (size_t size, const cpu_set_t *set)
+{
+  return sched_setaffinity (0, size, set);
+}
+
+#include "tst-skeleton-thread-affinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.c b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.c
new file mode 100644
index 0000000000..5909cb765f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.c
@@ -0,0 +1,223 @@
+/* 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 <errno.h>
+#include <limits.h>
+#include <stddef.h>
+#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <termios.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <_itoa.h>
+
+#include "ttyname.h"
+
+#if 0
+/* Is this used anywhere?  It is not exported.  */
+char *__ttyname;
+#endif
+
+static char *getttyname (const char *dev, dev_t mydev,
+			 ino64_t myino, int save, int *dostat)
+     internal_function;
+
+
+libc_freeres_ptr (static char *getttyname_name);
+
+static char *
+internal_function attribute_compat_text_section
+getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
+{
+  static size_t namelen;
+  struct stat64 st;
+  DIR *dirstream;
+  struct dirent64 *d;
+  size_t devlen = strlen (dev) + 1;
+
+  dirstream = __opendir (dev);
+  if (dirstream == NULL)
+    {
+      *dostat = -1;
+      return NULL;
+    }
+
+  /* Prepare for the loop.  If we already have a buffer copy the directory
+     name we look at into it.  */
+  if (devlen < namelen)
+    *((char *) __mempcpy (getttyname_name, dev, devlen - 1)) = '/';
+
+  while ((d = __readdir64 (dirstream)) != NULL)
+    if ((d->d_fileno == myino || *dostat)
+	&& strcmp (d->d_name, "stdin")
+	&& strcmp (d->d_name, "stdout")
+	&& strcmp (d->d_name, "stderr"))
+      {
+	size_t dlen = _D_ALLOC_NAMLEN (d);
+	if (devlen + dlen > namelen)
+	  {
+	    free (getttyname_name);
+	    namelen = 2 * (devlen + dlen); /* Big enough.  */
+	    getttyname_name = malloc (namelen);
+	    if (! getttyname_name)
+	      {
+		*dostat = -1;
+		/* Perhaps it helps to free the directory stream buffer.  */
+		(void) __closedir (dirstream);
+		return NULL;
+	      }
+	    *((char *) __mempcpy (getttyname_name, dev, devlen - 1)) = '/';
+	  }
+	memcpy (&getttyname_name[devlen], d->d_name, dlen);
+	if (__xstat64 (_STAT_VER, getttyname_name, &st) == 0
+#ifdef _STATBUF_ST_RDEV
+	    && S_ISCHR (st.st_mode) && st.st_rdev == mydev
+#else
+	    && d->d_fileno == myino && st.st_dev == mydev
+#endif
+	   )
+	  {
+	    (void) __closedir (dirstream);
+#if 0
+	    __ttyname = getttyname_name;
+#endif
+	    __set_errno (save);
+	    return getttyname_name;
+	  }
+      }
+
+  (void) __closedir (dirstream);
+  __set_errno (save);
+  return NULL;
+}
+
+
+/* Static buffer in `ttyname'.  */
+libc_freeres_ptr (static char *ttyname_buf);
+
+
+/* Return the pathname of the terminal FD is open on, or NULL on errors.
+   The returned storage is good only until the next call to this function.  */
+char *
+ttyname (int fd)
+{
+  static size_t buflen;
+  char procname[30];
+  struct stat64 st, st1;
+  int dostat = 0;
+  char *name;
+  int save = errno;
+  struct termios term;
+
+  /* isatty check, tcgetattr is used because it sets the correct
+     errno (EBADF resp. ENOTTY) on error.  */
+  if (__glibc_unlikely (__tcgetattr (fd, &term) < 0))
+    return NULL;
+
+  if (__fxstat64 (_STAT_VER, fd, &st) < 0)
+    return NULL;
+
+  /* We try using the /proc filesystem.  */
+  *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
+
+  if (buflen == 0)
+    {
+      buflen = 4095;
+      ttyname_buf = (char *) malloc (buflen + 1);
+      if (ttyname_buf == NULL)
+	{
+	  buflen = 0;
+	  return NULL;
+	}
+    }
+
+  ssize_t len = __readlink (procname, ttyname_buf, buflen);
+  if (__glibc_likely (len != -1))
+    {
+      if ((size_t) len >= buflen)
+	return NULL;
+
+#define UNREACHABLE_LEN strlen ("(unreachable)")
+      if (len > UNREACHABLE_LEN
+	  && memcmp (ttyname_buf, "(unreachable)", UNREACHABLE_LEN) == 0)
+	{
+	  memmove (ttyname_buf, ttyname_buf + UNREACHABLE_LEN,
+		   len - UNREACHABLE_LEN);
+	  len -= UNREACHABLE_LEN;
+	}
+
+      /* readlink need not terminate the string.  */
+      ttyname_buf[len] = '\0';
+
+      /* Verify readlink result, fall back on iterating through devices.  */
+      if (ttyname_buf[0] == '/'
+	  && __xstat64 (_STAT_VER, ttyname_buf, &st1) == 0
+#ifdef _STATBUF_ST_RDEV
+	  && S_ISCHR (st1.st_mode)
+	  && st1.st_rdev == st.st_rdev
+#endif
+	  && st1.st_ino == st.st_ino
+	  && st1.st_dev == st.st_dev)
+	return ttyname_buf;
+
+      /* If the link doesn't exist, then it points to a device in another
+	 namespace. */
+      if (is_pty (&st))
+	{
+	  __set_errno (ENODEV);
+	  return NULL;
+	}
+    }
+
+  if (__xstat64 (_STAT_VER, "/dev/pts", &st1) == 0 && S_ISDIR (st1.st_mode))
+    {
+#ifdef _STATBUF_ST_RDEV
+      name = getttyname ("/dev/pts", st.st_rdev, st.st_ino, save, &dostat);
+#else
+      name = getttyname ("/dev/pts", st.st_dev, st.st_ino, save, &dostat);
+#endif
+    }
+  else
+    {
+      __set_errno (save);
+      name = NULL;
+    }
+
+  if (!name && dostat != -1)
+    {
+#ifdef _STATBUF_ST_RDEV
+      name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
+#else
+      name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
+#endif
+    }
+
+  if (!name && dostat != -1)
+    {
+      dostat = 1;
+#ifdef _STATBUF_ST_RDEV
+      name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
+#else
+      name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
+#endif
+    }
+
+  return name;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.h b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.h
new file mode 100644
index 0000000000..2e415e4e9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname.h
@@ -0,0 +1,34 @@
+/* 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; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sys/sysmacros.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+/* Return true if this is a UNIX98 pty device, as defined in
+   linux/Documentation/devices.txt.  */
+static inline int
+is_pty (struct stat64 *sb)
+{
+#ifdef _STATBUF_ST_RDEV
+  int m = major (sb->st_rdev);
+  return (136 <= m && m <= 143);
+#else
+  return false;
+#endif
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ttyname_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname_r.c
new file mode 100644
index 0000000000..dc863526ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ttyname_r.c
@@ -0,0 +1,221 @@
+/* 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 <errno.h>
+#include <limits.h>
+#include <stddef.h>
+#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <termios.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <_itoa.h>
+
+#include "ttyname.h"
+
+static int getttyname_r (char *buf, size_t buflen,
+			 dev_t mydev, ino64_t myino, int save,
+			 int *dostat) internal_function;
+
+static int
+internal_function attribute_compat_text_section
+getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
+	      int save, int *dostat)
+{
+  struct stat64 st;
+  DIR *dirstream;
+  struct dirent64 *d;
+  size_t devlen = strlen (buf);
+
+  dirstream = __opendir (buf);
+  if (dirstream == NULL)
+    {
+      *dostat = -1;
+      return errno;
+    }
+
+  while ((d = __readdir64 (dirstream)) != NULL)
+    if ((d->d_fileno == myino || *dostat)
+	&& strcmp (d->d_name, "stdin")
+	&& strcmp (d->d_name, "stdout")
+	&& strcmp (d->d_name, "stderr"))
+      {
+	char *cp;
+	size_t needed = _D_EXACT_NAMLEN (d) + 1;
+
+	if (needed > buflen)
+	  {
+	    *dostat = -1;
+	    (void) __closedir (dirstream);
+	    __set_errno (ERANGE);
+	    return ERANGE;
+	  }
+
+	cp = __stpncpy (buf + devlen, d->d_name, needed);
+	cp[0] = '\0';
+
+	if (__xstat64 (_STAT_VER, buf, &st) == 0
+#ifdef _STATBUF_ST_RDEV
+	    && S_ISCHR (st.st_mode) && st.st_rdev == mydev
+#else
+	    && d->d_fileno == myino && st.st_dev == mydev
+#endif
+	   )
+	  {
+	    (void) __closedir (dirstream);
+	    __set_errno (save);
+	    return 0;
+	  }
+      }
+
+  (void) __closedir (dirstream);
+  __set_errno (save);
+  /* It is not clear what to return in this case.  `isatty' says FD
+     refers to a TTY but no entry in /dev has this inode.  */
+  return ENOTTY;
+}
+
+/* Store at most BUFLEN character of the pathname of the terminal FD is
+   open on in BUF.  Return 0 on success,  otherwise an error number.  */
+int
+__ttyname_r (int fd, char *buf, size_t buflen)
+{
+  char procname[30];
+  struct stat64 st, st1;
+  int dostat = 0;
+  int save = errno;
+
+  /* Test for the absolute minimal size.  This makes life easier inside
+     the loop.  */
+  if (!buf)
+    {
+      __set_errno (EINVAL);
+      return EINVAL;
+    }
+
+  if (buflen < sizeof ("/dev/pts/"))
+    {
+      __set_errno (ERANGE);
+      return ERANGE;
+    }
+
+  /* isatty check, tcgetattr is used because it sets the correct
+     errno (EBADF resp. ENOTTY) on error.  */
+  struct termios term;
+  if (__glibc_unlikely (__tcgetattr (fd, &term) < 0))
+    return errno;
+
+  if (__fxstat64 (_STAT_VER, fd, &st) < 0)
+    return errno;
+
+  /* We try using the /proc filesystem.  */
+  *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
+
+  ssize_t ret = __readlink (procname, buf, buflen - 1);
+  if (__glibc_unlikely (ret == -1 && errno == ENAMETOOLONG))
+    {
+      __set_errno (ERANGE);
+      return ERANGE;
+    }
+
+  if (__glibc_likely (ret != -1))
+    {
+#define UNREACHABLE_LEN strlen ("(unreachable)")
+      if (ret > UNREACHABLE_LEN
+	  && memcmp (buf, "(unreachable)", UNREACHABLE_LEN) == 0)
+	{
+	  memmove (buf, buf + UNREACHABLE_LEN, ret - UNREACHABLE_LEN);
+	  ret -= UNREACHABLE_LEN;
+	}
+
+      /* readlink need not terminate the string.  */
+      buf[ret] = '\0';
+
+      /* Verify readlink result, fall back on iterating through devices.  */
+      if (buf[0] == '/'
+	  && __xstat64 (_STAT_VER, buf, &st1) == 0
+#ifdef _STATBUF_ST_RDEV
+	  && S_ISCHR (st1.st_mode)
+	  && st1.st_rdev == st.st_rdev
+#endif
+	  && st1.st_ino == st.st_ino
+	  && st1.st_dev == st.st_dev)
+	return 0;
+
+      /* If the link doesn't exist, then it points to a device in another
+       * namespace.
+       */
+      if (is_pty (&st))
+	{
+	  __set_errno (ENODEV);
+	  return ENODEV;
+	}
+    }
+
+  /* Prepare the result buffer.  */
+  memcpy (buf, "/dev/pts/", sizeof ("/dev/pts/"));
+  buflen -= sizeof ("/dev/pts/") - 1;
+
+  if (__xstat64 (_STAT_VER, buf, &st1) == 0 && S_ISDIR (st1.st_mode))
+    {
+#ifdef _STATBUF_ST_RDEV
+      ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
+			  &dostat);
+#else
+      ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
+			  &dostat);
+#endif
+    }
+  else
+    {
+      __set_errno (save);
+      ret = ENOENT;
+    }
+
+  if (ret && dostat != -1)
+    {
+      buf[sizeof ("/dev/") - 1] = '\0';
+      buflen += sizeof ("pts/") - 1;
+#ifdef _STATBUF_ST_RDEV
+      ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
+			  &dostat);
+#else
+      ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
+			  &dostat);
+#endif
+    }
+
+  if (ret && dostat != -1)
+    {
+      buf[sizeof ("/dev/") - 1] = '\0';
+      dostat = 1;
+#ifdef _STATBUF_ST_RDEV
+      ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino,
+			  save, &dostat);
+#else
+      ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino,
+			  save, &dostat);
+#endif
+    }
+
+  return ret;
+}
+
+weak_alias (__ttyname_r, ttyname_r)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ualarm.c b/REORG.TODO/sysdeps/unix/sysv/linux/ualarm.c
new file mode 100644
index 0000000000..5522f58892
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ualarm.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/ualarm.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/umount.S b/REORG.TODO/sysdeps/unix/sysv/linux/umount.S
new file mode 100644
index 0000000000..e18463e2e6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/umount.S
@@ -0,0 +1,12 @@
+/* This hack is necessary since the kernel people are making "strange"
+   changes.  They simply rename old system calls.  */
+
+#include <sysdep.h>
+#ifdef __NR_oldumount
+PSEUDO (__umount, oldumount, 1)
+#else
+PSEUDO (__umount, umount, 1)
+#endif
+	ret
+PSEUDO_END(__umount)
+weak_alias (__umount, umount)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/umount2.S b/REORG.TODO/sysdeps/unix/sysv/linux/umount2.S
new file mode 100644
index 0000000000..92241bbf97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/umount2.S
@@ -0,0 +1,13 @@
+/* umount system call with two parameters.  */
+
+#include <sysdep.h>
+#if defined __NR_oldumount || defined __NR_umount2
+#ifdef __NR_oldumount
+PSEUDO (__umount2, umount, 2)
+#else
+PSEUDO (__umount2, umount2, 2)
+#endif
+	ret
+PSEUDO_END(__umount2)
+weak_alias (__umount2, umount2)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/unlockpt.c b/REORG.TODO/sysdeps/unix/sysv/linux/unlockpt.c
new file mode 100644
index 0000000000..4fa0082b4f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/unlockpt.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <termios.h>
+
+
+/* Unlock the slave pseudo terminal associated with the master pseudo
+   terminal specified by FD.  */
+int
+unlockpt (int fd)
+{
+#ifdef TIOCSPTLCK
+  int save_errno = errno;
+  int unlock = 0;
+
+  if (__ioctl (fd, TIOCSPTLCK, &unlock))
+    {
+      if (errno == EINVAL)
+	{
+	  __set_errno (save_errno);
+	  return 0;
+	}
+      else
+	return -1;
+    }
+#endif
+  /* If we have no TIOCSPTLCK ioctl, all slave pseudo terminals are
+     unlocked by default.  */
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/updwtmp.c b/REORG.TODO/sysdeps/unix/sysv/linux/updwtmp.c
new file mode 100644
index 0000000000..334d2272c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/updwtmp.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#include <unistd.h>
+
+#define TRANSFORM_UTMP_FILE_NAME(file_name) \
+    ((strcmp (file_name, _PATH_UTMP) == 0 \
+      && __access (_PATH_UTMP "x", F_OK) == 0) ? (_PATH_UTMP "x") : \
+     ((strcmp (file_name, _PATH_WTMP) == 0 \
+       && __access ( _PATH_WTMP "x", F_OK) == 0) ? (_PATH_WTMP "x") : \
+      ((strcmp (file_name, _PATH_UTMP "x") == 0 \
+	&& __access (_PATH_UTMP "x", F_OK) != 0) ? _PATH_UTMP : \
+       ((strcmp (file_name, _PATH_WTMP "x") == 0 \
+	 && __access (_PATH_WTMP "x", F_OK) != 0) ? _PATH_WTMP : \
+	file_name))))
+
+#include <login/updwtmp.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/ustat.c b/REORG.TODO/sysdeps/unix/sysv/linux/ustat.c
new file mode 100644
index 0000000000..bcb2893372
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/ustat.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 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 <errno.h>
+#include <sys/ustat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+int
+ustat (dev_t dev, struct ustat *ubuf)
+{
+  unsigned long long int k_dev;
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev =  dev & ((1ULL << 32) - 1);
+  if (k_dev != dev)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  return INLINE_SYSCALL (ustat, 2, (unsigned int) k_dev, ubuf);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/utimensat.c b/REORG.TODO/sysdeps/unix/sysv/linux/utimensat.c
new file mode 100644
index 0000000000..87f1ef04e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/utimensat.c
@@ -0,0 +1,36 @@
+/* Change access and modification times of open file.  Linux version.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/stat.h>
+#include <sysdep.h>
+
+
+/* Change the access time of FILE to TSP[0] and
+   the modification time of FILE to TSP[1].
+
+   Starting with 2.6.22 the Linux kernel has the utimensat syscall.  */
+int
+utimensat (int fd, const char *file, const struct timespec tsp[2],
+	   int flags)
+{
+  if (file == NULL)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+  /* Avoid implicit array coercion in syscall macros.  */
+  return INLINE_SYSCALL (utimensat, 4, fd, file, &tsp[0], flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/utimes.c b/REORG.TODO/sysdeps/unix/sysv/linux/utimes.c
new file mode 100644
index 0000000000..038ff20ba0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/utimes.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <utime.h>
+#include <sys/time.h>
+#include <sysdep.h>
+
+
+/* Consider moving to syscalls.list.  */
+
+/* Change the access time of FILE to TVP[0] and
+   the modification time of FILE to TVP[1].  */
+int
+__utimes (const char *file, const struct timeval tvp[2])
+{
+  /* Avoid implicit array coercion in syscall macros.  */
+  return INLINE_SYSCALL (utimes, 2, file, &tvp[0]);
+}
+
+weak_alias (__utimes, utimes)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/utmp_file.c b/REORG.TODO/sysdeps/unix/sysv/linux/utmp_file.c
new file mode 100644
index 0000000000..748d31d885
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/utmp_file.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1998.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#include <unistd.h>
+
+#define TRANSFORM_UTMP_FILE_NAME(file_name) \
+    ((strcmp (file_name, _PATH_UTMP) == 0 \
+      && __access (_PATH_UTMP "x", F_OK) == 0) ? (_PATH_UTMP "x") : \
+     ((strcmp (file_name, _PATH_WTMP) == 0 \
+       && __access ( _PATH_WTMP "x", F_OK) == 0) ? (_PATH_WTMP "x") : \
+      ((strcmp (file_name, _PATH_UTMP "x") == 0 \
+	&& __access (_PATH_UTMP "x", F_OK) != 0) ? _PATH_UTMP : \
+       ((strcmp (file_name, _PATH_WTMP "x") == 0 \
+	 && __access (_PATH_WTMP "x", F_OK) != 0) ? _PATH_WTMP : \
+	file_name))))
+
+#include <login/utmp_file.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/vfork.c b/REORG.TODO/sysdeps/unix/sysv/linux/vfork.c
new file mode 100644
index 0000000000..c8c13d0fd5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/vfork.c
@@ -0,0 +1 @@
+#include <posix/vfork.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/vmsplice.c b/REORG.TODO/sysdeps/unix/sysv/linux/vmsplice.c
new file mode 100644
index 0000000000..01dac13a51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/vmsplice.c
@@ -0,0 +1,27 @@
+/* Splice user pages into a pipe Linux implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fcntl.h>
+#include <sys/uio.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+vmsplice (int fd, const struct iovec *iov, size_t count, unsigned int flags)
+{
+  return SYSCALL_CANCEL (vmsplice, fd, iov, count, flags);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/wait.c
new file mode 100644
index 0000000000..da59b9232e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wait.c
@@ -0,0 +1,35 @@
+/* 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 <sys/wait.h>
+#include <errno.h>
+#include <sys/resource.h>
+#include <stddef.h>
+#include <sysdep-cancel.h>
+
+/* Wait for a child to die.  When one does, put its status in *STAT_LOC
+   and return its process ID.  For errors, return (pid_t) -1.  */
+pid_t
+__libc_wait (int *stat_loc)
+{
+  pid_t result = SYSCALL_CANCEL (wait4, WAIT_ANY, stat_loc, 0,
+				 (struct rusage *) NULL);
+  return result;
+}
+
+weak_alias (__libc_wait, __wait)
+weak_alias (__libc_wait, wait)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wait3.c b/REORG.TODO/sysdeps/unix/sysv/linux/wait3.c
new file mode 100644
index 0000000000..2ff027f0e1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wait3.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/wait3.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/waitid.c b/REORG.TODO/sysdeps/unix/sysv/linux/waitid.c
new file mode 100644
index 0000000000..2cc7e463cb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/waitid.c
@@ -0,0 +1,32 @@
+/* Linux implementation of waitid.
+   Copyright (C) 2004-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 <stddef.h>
+#include <errno.h>
+#include <sys/wait.h>
+#include <sysdep-cancel.h>
+
+int
+__waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options)
+{
+  /* The unused fifth argument is a `struct rusage *' that we could
+     pass if we were using waitid to simulate wait3/wait4.  */
+  return SYSCALL_CANCEL (waitid, idtype, id, infop, options, NULL);
+}
+weak_alias (__waitid, waitid)
+strong_alias (__waitid, __libc_waitid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/waitpid.c b/REORG.TODO/sysdeps/unix/sysv/linux/waitpid.c
new file mode 100644
index 0000000000..2fed421c90
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/waitpid.c
@@ -0,0 +1,33 @@
+/* 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 <errno.h>
+#include <sysdep-cancel.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+
+__pid_t
+__waitpid (__pid_t pid, int *stat_loc, int options)
+{
+#ifdef __NR_waitpid
+  return SYSCALL_CANCEL (waitpid, pid, stat_loc, options);
+#else
+  return SYSCALL_CANCEL (wait4, pid, stat_loc, options, NULL);
+#endif
+}
+libc_hidden_def (__waitpid)
+weak_alias (__waitpid, waitpid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/Versions
new file mode 100644
index 0000000000..a3b40ccd17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/Versions
@@ -0,0 +1,5 @@
+libc {
+  GLIBC_2.10 {
+    fallocate64;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
new file mode 100644
index 0000000000..d10fc4320b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
@@ -0,0 +1,7 @@
+#define aio_read64 __renamed_aio_read64
+
+#include "../../../../pthread/aio_read.c"
+
+#undef aio_read64
+
+weak_alias (aio_read, aio_read64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
new file mode 100644
index 0000000000..6a6a102c8d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
@@ -0,0 +1 @@
+/* Defined in aio_read.c.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
new file mode 100644
index 0000000000..b0fb469cb2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
@@ -0,0 +1,7 @@
+#define aio_write64 __renamed_aio_write64
+
+#include "../../../../pthread/aio_write.c"
+
+#undef aio_write64
+
+weak_alias (aio_write, aio_write64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
new file mode 100644
index 0000000000..ced07fa273
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
@@ -0,0 +1 @@
+/* Defined in aio_write.c.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c
new file mode 100644
index 0000000000..330b33f7c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c
@@ -0,0 +1 @@
+#include "fxstatat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c
new file mode 100644
index 0000000000..2be4e59ba4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c
@@ -0,0 +1 @@
+/* fstatfs64 is the same as fstatfs. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c
new file mode 100644
index 0000000000..5803b6f882
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c
@@ -0,0 +1,5 @@
+#define __fstatvfs64(file, buf) __no_fstatvfs64(file, buf)
+#define fstatvfs64(file, buf) no_fstatvfs64(file, buf)
+#include "../fstatvfs.c"
+strong_alias (__fstatvfs, __fstatvfs64)
+weak_alias (__fstatvfs, fstatvfs64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c
new file mode 100644
index 0000000000..60f3dfec61
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c
@@ -0,0 +1 @@
+/* fstatvfs64 is the same as fstatvfs. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c
new file mode 100644
index 0000000000..00f0517772
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c
@@ -0,0 +1,45 @@
+/* fxstat using old-style Unix fstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __fxstat64 __fxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file FD in BUF.  */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+    return INLINE_SYSCALL (fstat, 2, fd, buf);
+
+  __set_errno (EINVAL);
+  return -1;
+}
+
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+#undef __fxstat64
+strong_alias (__fxstat, __fxstat64);
+hidden_ver (__fxstat, __fxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c
new file mode 100644
index 0000000000..9eff9ebeb7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c
@@ -0,0 +1 @@
+/* fxstat64 is in fxstat.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c
new file mode 100644
index 0000000000..f00bf01ee9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c
@@ -0,0 +1,48 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, since fxstatat == fxstatat64 we must get rid of the
+   prototype or gcc will complain since they don't strictly match.  */
+#define __fxstatat64 __fxstatat64_disable
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+/* Get information about the file NAME relative to FD in ST.  */
+int
+__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
+{
+  if (vers != _STAT_VER_KERNEL && vers != _STAT_VER_LINUX)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return INLINE_SYSCALL (newfstatat, 4, fd, file, st, flag);
+}
+libc_hidden_def (__fxstatat)
+#undef __fxstatat64
+strong_alias (__fxstatat, __fxstatat64);
+strong_alias (__fxstatat64, __GI___fxstatat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c
new file mode 100644
index 0000000000..05e7f413bb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c
@@ -0,0 +1 @@
+/* fxstatat64 is in fxstatat.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents.c
new file mode 100644
index 0000000000..5ea4c572a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents.c
@@ -0,0 +1,4 @@
+#define __getdents64 __no___getdents64_decl
+#include <sysdeps/unix/sysv/linux/getdents.c>
+#undef __getdents64
+weak_alias (__getdents, __getdents64);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c
new file mode 100644
index 0000000000..0df2c8f4c6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c
@@ -0,0 +1 @@
+/* getdents64 is in getdents.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c
new file mode 100644
index 0000000000..298d1e9e91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c
@@ -0,0 +1,3 @@
+#include "../getdirentries.c"
+
+weak_alias (getdirentries, getdirentries64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c
new file mode 100644
index 0000000000..622baf0c87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c
@@ -0,0 +1 @@
+/* Defined in getdirentries.c.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/glob64.c
new file mode 100644
index 0000000000..eab7703d5c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/glob64.c
@@ -0,0 +1,2 @@
+/* This file is here so sysdeps/gnu/glob64.c doesn't take precedence.  */
+#include <sysdeps/wordsize-64/glob64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c
new file mode 100644
index 0000000000..d2a3509c6d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c
@@ -0,0 +1 @@
+/* Nothing.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c
new file mode 100644
index 0000000000..25ee5a3507
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c
@@ -0,0 +1,13 @@
+#define lio_listio64 __renamed_lio_listio64
+
+#include "../../../../pthread/lio_listio.c"
+
+#undef lio_listio64
+
+#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_4)
+strong_alias (__lio_listio_21, __lio_listio64_21)
+compat_symbol (librt, __lio_listio64_21, lio_listio64, GLIBC_2_1);
+#endif
+
+strong_alias (__lio_listio_item_notify, __lio_listio64_item_notify)
+versioned_symbol (librt, __lio_listio64_item_notify, lio_listio64, GLIBC_2_4);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c
new file mode 100644
index 0000000000..1dabae3692
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c
@@ -0,0 +1 @@
+/* Defined in lio_listio.c.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c
new file mode 100644
index 0000000000..dad9e267d7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c
@@ -0,0 +1,45 @@
+/* lxstat using old-style Unix lstat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file FD in BUF.  */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+    return INLINE_SYSCALL (lstat, 2, name, buf);
+
+  __set_errno (EINVAL);
+  return -1;
+}
+
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+#undef __lxstat64
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c
new file mode 100644
index 0000000000..bb5dbd0fff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c
@@ -0,0 +1 @@
+/* lxstat64 is in lxstat.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat.c
new file mode 100644
index 0000000000..be31a35105
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat.c
@@ -0,0 +1,11 @@
+#define __openat64 __rename___openat64
+#define openat64 __rename_openat64
+
+#include "../openat.c"
+
+#undef __openat64
+#undef openat64
+
+strong_alias (__openat, __openat64)
+hidden_ver (__openat, __openat64)
+weak_alias (openat, openat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat64.c
new file mode 100644
index 0000000000..b4a864b040
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/openat64.c
@@ -0,0 +1 @@
+/* Defined in openat.c.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
new file mode 100644
index 0000000000..e197d93b00
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
@@ -0,0 +1,7 @@
+#define readdir64 __no_readdir64_decl
+#define __readdir64 __no___readdir64_decl
+#include <sysdeps/posix/readdir.c>
+#undef __readdir64
+strong_alias (__readdir, __readdir64)
+#undef readdir64
+weak_alias (__readdir, readdir64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c
new file mode 100644
index 0000000000..9796431dc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c
@@ -0,0 +1 @@
+/* readdir64 is in readdir.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c
new file mode 100644
index 0000000000..b8fe9a31b4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c
@@ -0,0 +1 @@
+/* readdir64_r is in readdir_r.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
new file mode 100644
index 0000000000..290f2c8f6c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
@@ -0,0 +1,4 @@
+#define readdir64_r __no_readdir64_r_decl
+#include <sysdeps/posix/readdir_r.c>
+#undef readdir64_r
+weak_alias (__readdir_r, readdir64_r)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c
new file mode 100644
index 0000000000..4c451bd093
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c
@@ -0,0 +1 @@
+/* sendfile64 is alias of sendfile syscall.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c
new file mode 100644
index 0000000000..06bc68826f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c
@@ -0,0 +1 @@
+/* statfs64 is the same as statfs. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c
new file mode 100644
index 0000000000..1e1c96333b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c
@@ -0,0 +1,5 @@
+#define __statvfs64(file, buf) __no_statvfs64(file, buf)
+#define statvfs64(file, buf) no_statvfs64(file, buf)
+#include "../statvfs.c"
+strong_alias (__statvfs, __statvfs64)
+weak_alias (__statvfs, statvfs64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c
new file mode 100644
index 0000000000..510015e420
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c
@@ -0,0 +1 @@
+/* statvfs64 is the same as statvfs. */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
new file mode 100644
index 0000000000..5c78677d77
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
@@ -0,0 +1,11 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
+statfs		-	statfs		i:sp	__statfs	statfs statfs64
+readahead	-	readahead	i:iii	__readahead	readahead
+sendfile	-	sendfile	i:iipi	sendfile	sendfile64
+sync_file_range	-	sync_file_range	Ci:iiii	sync_file_range
+prlimit		EXTRA	prlimit64	i:iipp	prlimit		prlimit64
+
+fanotify_mark	EXTRA	fanotify_mark	i:iiiis	fanotify_mark
+personality	EXTRA	personality	i:i	__personality	personality
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat.c
new file mode 100644
index 0000000000..af9f5dd5bd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat.c
@@ -0,0 +1,44 @@
+/* xstat using old-style Unix stat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+    return INLINE_SYSCALL (stat, 2, name, buf);
+
+  __set_errno (EINVAL);
+  return -1;
+}
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+#undef __xstat64
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c
new file mode 100644
index 0000000000..e7acd3b45e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c
@@ -0,0 +1 @@
+/* xstat64 is in xstat.c */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/write.c b/REORG.TODO/sysdeps/unix/sysv/linux/write.c
new file mode 100644
index 0000000000..d49514502e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/write.c
@@ -0,0 +1,33 @@
+/* Linux write syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+/* Write NBYTES of BUF to FD.  Return the number written, or -1.  */
+ssize_t
+__libc_write (int fd, const void *buf, size_t nbytes)
+{
+  return SYSCALL_CANCEL (write, fd, buf, nbytes);
+}
+libc_hidden_def (__libc_write)
+
+weak_alias (__libc_write, __write)
+libc_hidden_weak (__write)
+weak_alias (__libc_write, write)
+libc_hidden_weak (write)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/writev.c b/REORG.TODO/sysdeps/unix/sysv/linux/writev.c
new file mode 100644
index 0000000000..1b56cbb709
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/writev.c
@@ -0,0 +1,27 @@
+/* Linux writev syscall implementation.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <sysdep-cancel.h>
+
+ssize_t
+__writev (int fd, const struct iovec *iov, int iovcnt)
+{
+  return SYSCALL_CANCEL (writev, fd, iov, iovcnt);
+}
+weak_alias (__writev, writev)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/x86/Implies
new file mode 100644
index 0000000000..e454b288aa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/Implies
@@ -0,0 +1 @@
+x86/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86/Makefile
new file mode 100644
index 0000000000..9e6ec44b3a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/Makefile
@@ -0,0 +1,24 @@
+# We don't need any header files.
+abi-includes :=
+
+abi-variants := 32 64 x32
+
+abi-32-options := -D__i386__ -U__x86_64__
+abi-32-condition := !defined __x86_64__
+abi-64-options := -U__i386__ -D__x86_64__ -U__ILP32__ -D__LP64__
+abi-64-condition := defined __x86_64__ && defined __LP64__
+abi-x32-options := -U__i386__ -D__x86_64__ -D__ILP32__ -U__LP64__
+abi-x32-condition := defined __x86_64__ && defined __ILP32__
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
+			      elision-trylock
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/a.out.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/a.out.h
new file mode 100644
index 0000000000..0e4a7c911f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/a.out.h
@@ -0,0 +1,11 @@
+#ifndef __A_OUT_GNU_H__
+# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
+#endif
+
+#ifdef __x86_64__
+
+/* Signal to users of this header that this architecture really doesn't
+   support a.out binary format.  */
+#define __NO_A_OUT_SUPPORT 1
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/environments.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/environments.h
new file mode 100644
index 0000000000..2fc65cf9ec
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/environments.h
@@ -0,0 +1,105 @@
+/* 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/>.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+#include <bits/wordsize.h>
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _POSIX_V7_LP64_OFF32	   64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+   Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
+   # undef _POSIX_V6_ILP32_OFF32
+   # undef _POSIX_V6_ILP32_OFFBIG
+   # undef _XBS5_ILP32_OFF32
+   # undef _XBS5_ILP32_OFFBIG
+   and users need to check at runtime.  */
+
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64	1
+# define _POSIX_V6_LP64_OFF64	1
+# define _XBS5_LP64_OFF64	1
+
+#else /* __WORDSIZE == 32 */
+
+/* We have 32-bit wide `int', `long int' and pointers and all platforms
+   support LFS.  -mx32 has 64-bit wide `off_t'.  */
+# define _POSIX_V7_ILP32_OFFBIG	1
+# define _POSIX_V6_ILP32_OFFBIG 1
+# define _XBS5_ILP32_OFFBIG	1
+
+# ifndef __x86_64__
+/* -m32 has 32-bit wide `off_t'.  */
+#  define _POSIX_V7_ILP32_OFF32	1
+#  define _POSIX_V6_ILP32_OFF32	1
+#  define _XBS5_ILP32_OFF32	1
+# endif
+
+/* We optionally provide an environment with the above size but an 64-bit
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
+
+/* Environments with 64-bit wide pointers can be provided,
+   so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
+   # undef _POSIX_V6_LP64_OFF64
+   # undef _POSIX_V6_LPBIG_OFFBIG
+   # undef _XBS5_LP64_OFF64
+   # undef _XBS5_LPBIG_OFFBIG
+   and sysconf tests for it at runtime.  */
+
+#endif /* __WORDSIZE == 32 */
+
+#define __ILP32_OFF32_CFLAGS	"-m32"
+#define __ILP32_OFF32_LDFLAGS	"-m32"
+#if defined __x86_64__ && defined __ILP32__
+# define __ILP32_OFFBIG_CFLAGS	"-mx32"
+# define __ILP32_OFFBIG_LDFLAGS	"-mx32"
+#else
+# define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+# define __ILP32_OFFBIG_LDFLAGS	"-m32"
+#endif
+#define __LP64_OFF64_CFLAGS	"-m64"
+#define __LP64_OFF64_LDFLAGS	"-m64"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/epoll.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/epoll.h
new file mode 100644
index 0000000000..96c9403619
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/epoll.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_EPOLL_H
+# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
+#endif
+
+/* Flags to be passed to epoll_create1.  */
+enum
+  {
+    EPOLL_CLOEXEC = 02000000
+#define EPOLL_CLOEXEC EPOLL_CLOEXEC
+  };
+
+#define __EPOLL_PACKED __attribute__ ((__packed__))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
new file mode 100644
index 0000000000..2cf690c9a6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
@@ -0,0 +1,61 @@
+/* O_*, F_*, FD_* bit values for Linux/x86.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#ifdef __x86_64__
+# define __O_LARGEFILE	0
+#endif
+
+#ifdef __x86_64__
+/* Not necessary, we always have 64-bit offsets.  */
+# define F_GETLK64	5	/* Get record locking info.  */
+# define F_SETLK64	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	7	/* Set record locking info (blocking).	*/
+#endif
+
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+#ifndef __USE_FILE_OFFSET64
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#else
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#endif
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h
new file mode 100644
index 0000000000..486b0148c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h
@@ -0,0 +1,33 @@
+/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
+   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/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#ifndef _BITS_IPCTYPES_H
+#define _BITS_IPCTYPES_H	1
+
+/* Used in `struct shmid_ds'.  */
+# ifdef __x86_64__
+typedef int __ipc_pid_t;
+# else
+typedef unsigned short int __ipc_pid_t;
+# endif
+
+#endif /* bits/ipctypes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/mman.h
new file mode 100644
index 0000000000..017abf2f29
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/mman.h
@@ -0,0 +1,45 @@
+/* Definitions for POSIX memory map interface.  Linux/x86_64 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/>.  */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* The following definitions basically come from the kernel headers.
+   But the kernel header is not namespace clean.  */
+
+/* Other flags.  */
+#ifdef __USE_MISC
+# define MAP_32BIT	0x40		/* Only give out 32-bit addresses.  */
+#endif
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/msq.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/msq.h
new file mode 100644
index 0000000000..78b575c740
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/msq.h
@@ -0,0 +1,82 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions.  */
+#define MSG_NOERROR	010000	/* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT	020000	/* recv any msg except of specified type */
+# define MSG_COPY	040000	/* copy (not remove) all queue messages */
+#endif
+
+/* Types used in the structure definition.  */
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __time_t msg_stime;		/* time of last msgsnd command */
+#ifndef __x86_64__
+  unsigned long int __glibc_reserved1;
+#endif
+  __time_t msg_rtime;		/* time of last msgrcv command */
+#ifndef __x86_64__
+  unsigned long int __glibc_reserved2;
+#endif
+  __time_t msg_ctime;		/* time of last change */
+#ifndef __x86_64__
+  unsigned long int __glibc_reserved3;
+#endif
+  __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  __syscall_ulong_t __glibc_reserved4;
+  __syscall_ulong_t __glibc_reserved5;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes	__msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+  {
+    int msgpool;
+    int msgmap;
+    int msgmax;
+    int msgmnb;
+    int msgmni;
+    int msgssz;
+    int msgtql;
+    unsigned short int msgseg;
+  };
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sem.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sem.h
new file mode 100644
index 0000000000..b3e0047dd2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sem.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
+#endif
+
+#include <sys/types.h>
+
+/* Flags for `semop'.  */
+#define SEM_UNDO	0x1000		/* undo the operation on exit */
+
+/* Commands for `semctl'.  */
+#define GETPID		11		/* get sempid */
+#define GETVAL		12		/* get semval */
+#define GETALL		13		/* get all semval's */
+#define GETNCNT		14		/* get semncnt */
+#define GETZCNT		15		/* get semzcnt */
+#define SETVAL		16		/* set semval */
+#define SETALL		17		/* set all semval's */
+
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __time_t sem_otime;			/* last semop() time */
+  __syscall_ulong_t __glibc_reserved1;
+  __time_t sem_ctime;			/* last time changed by semctl() */
+  __syscall_ulong_t __glibc_reserved2;
+  __syscall_ulong_t sem_nsems;		/* number of semaphores in set */
+  __syscall_ulong_t __glibc_reserved3;
+  __syscall_ulong_t __glibc_reserved4;
+};
+
+/* The user should define a union like the following to use it for arguments
+   for `semctl'.
+
+   union semun
+   {
+     int val;				<= value for SETVAL
+     struct semid_ds *buf;		<= buffer for IPC_STAT & IPC_SET
+     unsigned short int *array;		<= array for GETALL & SETALL
+     struct seminfo *__buf;		<= buffer for IPC_INFO
+   };
+
+   Previous versions of this file used to define this union but this is
+   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
+   one must define the union or not.  */
+#define _SEM_SEMUN_UNDEFINED	1
+
+#ifdef __USE_MISC
+
+/* ipcs ctl cmds */
+# define SEM_STAT 18
+# define SEM_INFO 19
+
+struct  seminfo
+{
+  int semmap;
+  int semmni;
+  int semmns;
+  int semmnu;
+  int semmsl;
+  int semopm;
+  int semume;
+  int semusz;
+  int semvmx;
+  int semaem;
+};
+
+#endif /* __USE_MISC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/shm.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/shm.h
new file mode 100644
index 0000000000..5f8e2e1575
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/shm.h
@@ -0,0 +1,109 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Permission flag for shmget.  */
+#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
+#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
+
+/* Flags for `shmat'.  */
+#define SHM_RDONLY	010000		/* attach read-only else read-write */
+#define SHM_RND		020000		/* round attach address to SHMLBA */
+#define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
+
+/* Commands for `shmctl'.  */
+#define SHM_LOCK	11		/* lock segment (root only) */
+#define SHM_UNLOCK	12		/* unlock segment (root only) */
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple.  */
+#define SHMLBA		(__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+
+/* Type to count number of attaches.  */
+typedef __syscall_ulong_t shmatt_t;
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+    size_t shm_segsz;			/* size of segment in bytes */
+    __time_t shm_atime;			/* time of last shmat() */
+#ifndef __x86_64__
+    unsigned long int __glibc_reserved1;
+#endif
+    __time_t shm_dtime;			/* time of last shmdt() */
+#ifndef __x86_64__
+    unsigned long int __glibc_reserved2;
+#endif
+    __time_t shm_ctime;			/* time of last change by shmctl() */
+#ifndef __x86_64__
+    unsigned long int __glibc_reserved3;
+#endif
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    __syscall_ulong_t __glibc_reserved4;
+    __syscall_ulong_t __glibc_reserved5;
+  };
+
+#ifdef __USE_MISC
+
+/* ipcs ctl commands */
+# define SHM_STAT 	13
+# define SHM_INFO 	14
+
+/* shm_mode upper byte flags */
+# define SHM_DEST	01000	/* segment will be destroyed on last detach */
+# define SHM_LOCKED	02000   /* segment will not be swapped */
+# define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
+
+struct	shminfo
+  {
+    __syscall_ulong_t shmmax;
+    __syscall_ulong_t shmmin;
+    __syscall_ulong_t shmmni;
+    __syscall_ulong_t shmseg;
+    __syscall_ulong_t shmall;
+    __syscall_ulong_t __glibc_reserved1;
+    __syscall_ulong_t __glibc_reserved2;
+    __syscall_ulong_t __glibc_reserved3;
+    __syscall_ulong_t __glibc_reserved4;
+  };
+
+struct shm_info
+  {
+    int used_ids;
+    __syscall_ulong_t shm_tot;	/* total allocated shm */
+    __syscall_ulong_t shm_rss;	/* total resident shm */
+    __syscall_ulong_t shm_swp;	/* total swapped shm */
+    __syscall_ulong_t swap_attempts;
+    __syscall_ulong_t swap_successes;
+  };
+
+#endif /* __USE_MISC */
+
+__END_DECLS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
new file mode 100644
index 0000000000..cff595b94a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
@@ -0,0 +1,196 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H  1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
+#include <bits/types.h>
+
+#define FP_XSTATE_MAGIC1	0x46505853U
+#define FP_XSTATE_MAGIC2	0x46505845U
+#define FP_XSTATE_MAGIC2_SIZE	sizeof(FP_XSTATE_MAGIC2)
+
+struct _fpx_sw_bytes
+{
+  __uint32_t magic1;
+  __uint32_t extended_size;
+  __uint64_t xstate_bv;
+  __uint32_t xstate_size;
+  __uint32_t __glibc_reserved1[7];
+};
+
+struct _fpreg
+{
+  unsigned short significand[4];
+  unsigned short exponent;
+};
+
+struct _fpxreg
+{
+  unsigned short significand[4];
+  unsigned short exponent;
+  unsigned short __glibc_reserved1[3];
+};
+
+struct _xmmreg
+{
+  __uint32_t	element[4];
+};
+
+
+
+#ifndef __x86_64__
+
+struct _fpstate
+{
+  /* Regular FPU environment.  */
+  __uint32_t	cw;
+  __uint32_t		sw;
+  __uint32_t		tag;
+  __uint32_t		ipoff;
+  __uint32_t		cssel;
+  __uint32_t		dataoff;
+  __uint32_t		datasel;
+  struct _fpreg	_st[8];
+  unsigned short status;
+  unsigned short magic;
+
+  /* FXSR FPU environment.  */
+  __uint32_t		_fxsr_env[6];
+  __uint32_t		mxcsr;
+  __uint32_t		__glibc_reserved1;
+  struct _fpxreg	_fxsr_st[8];
+  struct _xmmreg	_xmm[8];
+  __uint32_t		__glibc_reserved2[56];
+};
+
+#ifndef sigcontext_struct
+/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
+   we need sigcontext.  Some packages have come to rely on
+   sigcontext_struct being defined on 32-bit x86, so define this for
+   their benefit.  */
+# define sigcontext_struct sigcontext
+#endif
+
+#define X86_FXSR_MAGIC		0x0000
+
+struct sigcontext
+{
+  unsigned short gs, __gsh;
+  unsigned short fs, __fsh;
+  unsigned short es, __esh;
+  unsigned short ds, __dsh;
+  unsigned long edi;
+  unsigned long esi;
+  unsigned long ebp;
+  unsigned long esp;
+  unsigned long ebx;
+  unsigned long edx;
+  unsigned long ecx;
+  unsigned long eax;
+  unsigned long trapno;
+  unsigned long err;
+  unsigned long eip;
+  unsigned short cs, __csh;
+  unsigned long eflags;
+  unsigned long esp_at_signal;
+  unsigned short ss, __ssh;
+  struct _fpstate * fpstate;
+  unsigned long oldmask;
+  unsigned long cr2;
+};
+
+#else /* __x86_64__ */
+
+struct _fpstate
+{
+  /* FPU environment matching the 64-bit FXSAVE layout.  */
+  __uint16_t		cwd;
+  __uint16_t		swd;
+  __uint16_t		ftw;
+  __uint16_t		fop;
+  __uint64_t		rip;
+  __uint64_t		rdp;
+  __uint32_t		mxcsr;
+  __uint32_t		mxcr_mask;
+  struct _fpxreg	_st[8];
+  struct _xmmreg	_xmm[16];
+  __uint32_t		__glibc_reserved1[24];
+};
+
+struct sigcontext
+{
+  __uint64_t r8;
+  __uint64_t r9;
+  __uint64_t r10;
+  __uint64_t r11;
+  __uint64_t r12;
+  __uint64_t r13;
+  __uint64_t r14;
+  __uint64_t r15;
+  __uint64_t rdi;
+  __uint64_t rsi;
+  __uint64_t rbp;
+  __uint64_t rbx;
+  __uint64_t rdx;
+  __uint64_t rax;
+  __uint64_t rcx;
+  __uint64_t rsp;
+  __uint64_t rip;
+  __uint64_t eflags;
+  unsigned short cs;
+  unsigned short gs;
+  unsigned short fs;
+  unsigned short __pad0;
+  __uint64_t err;
+  __uint64_t trapno;
+  __uint64_t oldmask;
+  __uint64_t cr2;
+  __extension__ union
+    {
+      struct _fpstate * fpstate;
+      __uint64_t __fpstate_word;
+    };
+  __uint64_t __reserved1 [8];
+};
+
+#endif /* __x86_64__ */
+
+struct _xsave_hdr
+{
+  __uint64_t xstate_bv;
+  __uint64_t __glibc_reserved1[2];
+  __uint64_t __glibc_reserved2[5];
+};
+
+struct _ymmh_state
+{
+  __uint32_t ymmh_space[64];
+};
+
+struct _xstate
+{
+  struct _fpstate fpstate;
+  struct _xsave_hdr xstate_hdr;
+  struct _ymmh_state ymmh;
+};
+
+#endif /* _BITS_SIGCONTEXT_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
new file mode 100644
index 0000000000..7688a8d66d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
@@ -0,0 +1,17 @@
+/* Architecture-specific adjustments to siginfo_t.  x86 version.  */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+#if defined __x86_64__ && __WORDSIZE == 32
+/* si_utime and si_stime must be 4 byte aligned for x32 to match the
+   kernel.  We align siginfo_t to 8 bytes so that si_utime and
+   si_stime are actually aligned to 8 bytes since their offsets are
+   multiple of 8 bytes.  Note: with some compilers, the alignment
+   attribute would be ignored if it were put in __SI_CLOCK_T instead
+   of encapsulated in a typedef.  */
+typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
+# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
+# define __SI_CLOCK_T __sigchld_clock_t
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/stat.h
new file mode 100644
index 0000000000..5a44b40c86
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/stat.h
@@ -0,0 +1,210 @@
+/* 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/>.  */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
+
+/* Versions of the `struct stat' data structure.  */
+#ifndef __x86_64__
+# define _STAT_VER_LINUX_OLD	1
+# define _STAT_VER_KERNEL	1
+# define _STAT_VER_SVR4		2
+# define _STAT_VER_LINUX	3
+
+/* i386 versions of the `xmknod' interface.  */
+# define _MKNOD_VER_LINUX	1
+# define _MKNOD_VER_SVR4	2
+# define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
+#else
+# define _STAT_VER_KERNEL	0
+# define _STAT_VER_LINUX	1
+
+/* x86-64 versions of the `xmknod' interface.  */
+# define _MKNOD_VER_LINUX	0
+#endif
+
+#define _STAT_VER		_STAT_VER_LINUX
+
+struct stat
+  {
+    __dev_t st_dev;		/* Device.  */
+#ifndef __x86_64__
+    unsigned short int __pad1;
+#endif
+#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
+    __ino_t st_ino;		/* File serial number.	*/
+#else
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+#endif
+#ifndef __x86_64__
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+#else
+    __nlink_t st_nlink;		/* Link count.  */
+    __mode_t st_mode;		/* File mode.  */
+#endif
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+#ifdef __x86_64__
+    int __pad0;
+#endif
+    __dev_t st_rdev;		/* Device number, if device.  */
+#ifndef __x86_64__
+    unsigned short int __pad2;
+#endif
+#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
+    __off_t st_size;			/* Size of file, in bytes.  */
+#else
+    __off64_t st_size;			/* Size of file, in bytes.  */
+#endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+#if defined __x86_64__  || !defined __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+#else
+    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    __syscall_ulong_t st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    __syscall_ulong_t st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    __syscall_ulong_t st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+#ifdef __x86_64__
+    __syscall_slong_t __glibc_reserved[3];
+#else
+# ifndef __USE_FILE_OFFSET64
+    unsigned long int __glibc_reserved4;
+    unsigned long int __glibc_reserved5;
+# else
+    __ino64_t st_ino;			/* File serial number.	*/
+# endif
+#endif
+  };
+
+#ifdef __USE_LARGEFILE64
+/* Note stat64 has the same shape as stat for x86-64.  */
+struct stat64
+  {
+    __dev_t st_dev;		/* Device.  */
+# ifdef __x86_64__
+    __ino64_t st_ino;		/* File serial number.  */
+    __nlink_t st_nlink;		/* Link count.  */
+    __mode_t st_mode;		/* File mode.  */
+# else
+    unsigned int __pad1;
+    __ino_t __st_ino;			/* 32bit file serial number.	*/
+    __mode_t st_mode;			/* File mode.  */
+    __nlink_t st_nlink;			/* Link count.  */
+# endif
+    __uid_t st_uid;		/* User ID of the file's owner.	*/
+    __gid_t st_gid;		/* Group ID of the file's group.*/
+# ifdef __x86_64__
+    int __pad0;
+    __dev_t st_rdev;		/* Device number, if device.  */
+    __off_t st_size;		/* Size of file, in bytes.  */
+# else
+    __dev_t st_rdev;			/* Device number, if device.  */
+    unsigned int __pad2;
+    __off64_t st_size;			/* Size of file, in bytes.  */
+# endif
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;		/* Time of last access.  */
+    struct timespec st_mtim;		/* Time of last modification.  */
+    struct timespec st_ctim;		/* Time of last status change.  */
+# else
+    __time_t st_atime;			/* Time of last access.  */
+    __syscall_ulong_t st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    __syscall_ulong_t st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    __syscall_ulong_t st_ctimensec;	/* Nsecs of last status change.  */
+# endif
+# ifdef __x86_64__
+    __syscall_slong_t __glibc_reserved[3];
+# else
+    __ino64_t st_ino;			/* File serial number.		*/
+# endif
+  };
+#endif
+
+/* Tell code we have these members.  */
+#define	_STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
+
+/* Encoding of the file mode.  */
+
+#define	__S_IFMT	0170000	/* These bits determine file type.  */
+
+/* File types.  */
+#define	__S_IFDIR	0040000	/* Directory.  */
+#define	__S_IFCHR	0020000	/* Character device.  */
+#define	__S_IFBLK	0060000	/* Block device.  */
+#define	__S_IFREG	0100000	/* Regular file.  */
+#define	__S_IFIFO	0010000	/* FIFO.  */
+#define	__S_IFLNK	0120000	/* Symbolic link.  */
+#define	__S_IFSOCK	0140000	/* Socket.  */
+
+/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
+   they do it by enforcing the correct use of the macros.  */
+#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits.  */
+
+#define	__S_ISUID	04000	/* Set user ID on execution.  */
+#define	__S_ISGID	02000	/* Set group ID on execution.  */
+#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
+#define	__S_IREAD	0400	/* Read by owner.  */
+#define	__S_IWRITE	0200	/* Write by owner.  */
+#define	__S_IEXEC	0100	/* Execute by owner.  */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW	((1l << 30) - 1l)
+# define UTIME_OMIT	((1l << 30) - 2l)
+#endif
+
+#endif	/* bits/stat.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sysctl.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sysctl.h
new file mode 100644
index 0000000000..399261a2c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/sysctl.h
@@ -0,0 +1,20 @@
+/* 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/>.  */
+
+#if defined __x86_64__ && defined __ILP32__
+# error "sysctl system call is unsupported in x32 kernel"
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
new file mode 100644
index 0000000000..73962eb859
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
@@ -0,0 +1,95 @@
+/* bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
+   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/>.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef	_BITS_TYPESIZES_H
+#define	_BITS_TYPESIZES_H	1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+/* X32 kernel interface is 64-bit.  */
+#if defined __x86_64__ && defined __ILP32__
+# define __SYSCALL_SLONG_TYPE	__SQUAD_TYPE
+# define __SYSCALL_ULONG_TYPE	__UQUAD_TYPE
+#else
+# define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+# define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#endif
+
+#define __DEV_T_TYPE		__UQUAD_TYPE
+#define __UID_T_TYPE		__U32_TYPE
+#define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__SYSCALL_ULONG_TYPE
+#define __INO64_T_TYPE		__UQUAD_TYPE
+#define __MODE_T_TYPE		__U32_TYPE
+#ifdef __x86_64__
+# define __NLINK_T_TYPE		__SYSCALL_ULONG_TYPE
+# define __FSWORD_T_TYPE	__SYSCALL_SLONG_TYPE
+#else
+# define __NLINK_T_TYPE		__UWORD_TYPE
+# define __FSWORD_T_TYPE	__SWORD_TYPE
+#endif
+#define __OFF_T_TYPE		__SYSCALL_SLONG_TYPE
+#define __OFF64_T_TYPE		__SQUAD_TYPE
+#define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__SYSCALL_ULONG_TYPE
+#define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define __BLKCNT_T_TYPE		__SYSCALL_SLONG_TYPE
+#define __BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define __FSBLKCNT_T_TYPE	__SYSCALL_ULONG_TYPE
+#define __FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define __FSFILCNT_T_TYPE	__SYSCALL_ULONG_TYPE
+#define __FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define __ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SYSCALL_SLONG_TYPE
+#define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE
+#define __USECONDS_T_TYPE	__U32_TYPE
+#define __SUSECONDS_T_TYPE	__SYSCALL_SLONG_TYPE
+#define __DADDR_T_TYPE		__S32_TYPE
+#define __KEY_T_TYPE		__S32_TYPE
+#define __CLOCKID_T_TYPE	__S32_TYPE
+#define __TIMER_T_TYPE		void *
+#define __BLKSIZE_T_TYPE	__SYSCALL_SLONG_TYPE
+#define __FSID_T_TYPE		struct { int __val[2]; }
+#define __SSIZE_T_TYPE		__SWORD_TYPE
+#define __CPU_MASK_TYPE 	__SYSCALL_ULONG_TYPE
+
+#ifdef __x86_64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
+
+/* And for __rlim_t and __rlim64_t.  */
+# define __RLIM_T_MATCHES_RLIM64_T	1
+#else
+# define __RLIM_T_MATCHES_RLIM64_T	0
+#endif
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define __FD_SETSIZE		1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.c
new file mode 100644
index 0000000000..673b0005a7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.c
@@ -0,0 +1,78 @@
+/* elision-conf.c: Lock elision tunable parameters.
+   Copyright (C) 2013-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 "config.h"
+#include <pthreadP.h>
+#include <init-arch.h>
+#include <elision-conf.h>
+#include <unistd.h>
+
+/* Reasonable initial tuning values, may be revised in the future.
+   This is a conservative initial value.  */
+
+struct elision_config __elision_aconf =
+  {
+    /* How often to not attempt to use elision if a transaction aborted
+       because the lock is already acquired.  Expressed in number of lock
+       acquisition attempts.  */
+    .skip_lock_busy = 3,
+    /* How often to not attempt to use elision if a transaction aborted due
+       to reasons other than other threads' memory accesses.  Expressed in
+       number of lock acquisition attempts.  */
+    .skip_lock_internal_abort = 3,
+    /* How often we retry using elision if there is chance for the transaction
+       to finish execution (e.g., it wasn't aborted due to the lock being
+       already acquired.  */
+    .retry_try_xbegin = 3,
+    /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock.  */
+    .skip_trylock_internal_abort = 3,
+  };
+
+/* Force elision for all new locks.  This is used to decide whether existing
+   DEFAULT locks should be automatically upgraded to elision in
+   pthread_mutex_lock().  Disabled for suid programs.  Only used when elision
+   is available.  */
+
+int __pthread_force_elision attribute_hidden;
+
+/* Initialize elison.  */
+
+static void
+elision_init (int argc __attribute__ ((unused)),
+	      char **argv  __attribute__ ((unused)),
+	      char **environ)
+{
+  int elision_available = HAS_CPU_FEATURE (RTM);
+#ifdef ENABLE_LOCK_ELISION
+  __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
+#endif
+  if (!elision_available)
+    __elision_aconf.retry_try_xbegin = 0; /* Disable elision on rwlocks */
+}
+
+#ifdef SHARED
+# define INIT_SECTION ".init_array"
+#else
+# define INIT_SECTION ".preinit_array"
+#endif
+
+void (*const __pthread_init_array []) (int, char **, char **)
+  __attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
+{
+  &elision_init
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.h
new file mode 100644
index 0000000000..f187d72d40
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-conf.h
@@ -0,0 +1,41 @@
+/* elision-conf.h: Lock elision tunable parameters.
+   Copyright (C) 2013-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 _ELISION_CONF_H
+#define _ELISION_CONF_H 1
+
+#include <pthread.h>
+#include <time.h>
+
+/* Should make sure there is no false sharing on this.  */
+
+struct elision_config
+{
+  int skip_lock_busy;
+  int skip_lock_internal_abort;
+  int retry_try_xbegin;
+  int skip_trylock_internal_abort;
+};
+
+extern struct elision_config __elision_aconf attribute_hidden;
+
+extern int __pthread_force_elision attribute_hidden;
+
+/* Tell the test suite to test elision for this architecture.  */
+#define HAVE_ELISION 1
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-lock.c
new file mode 100644
index 0000000000..f5ff111dd3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-lock.c
@@ -0,0 +1,107 @@
+/* elision-lock.c: Elided pthread mutex lock.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include "pthreadP.h"
+#include "lowlevellock.h"
+#include "hle.h"
+#include <elision-conf.h>
+
+#if !defined(LLL_LOCK) && !defined(EXTRAARG)
+/* Make sure the configuration code is always linked in for static
+   libraries.  */
+#include "elision-conf.c"
+#endif
+
+#ifndef EXTRAARG
+#define EXTRAARG
+#endif
+#ifndef LLL_LOCK
+#define LLL_LOCK(a,b) lll_lock(a,b), 0
+#endif
+
+#define aconf __elision_aconf
+
+/* Adaptive lock using transactions.
+   By default the lock region is run as a transaction, and when it
+   aborts or the lock is busy the lock adapts itself.  */
+
+int
+__lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private)
+{
+  /* adapt_count can be accessed concurrently; these accesses can be both
+     inside of transactions (if critical sections are nested and the outer
+     critical section uses lock elision) and outside of transactions.  Thus,
+     we need to use atomic accesses to avoid data races.  However, the
+     value of adapt_count is just a hint, so relaxed MO accesses are
+     sufficient.  */
+  if (atomic_load_relaxed (adapt_count) <= 0)
+    {
+      unsigned status;
+      int try_xbegin;
+
+      for (try_xbegin = aconf.retry_try_xbegin;
+	   try_xbegin > 0;
+	   try_xbegin--)
+	{
+	  if ((status = _xbegin()) == _XBEGIN_STARTED)
+	    {
+	      if (*futex == 0)
+		return 0;
+
+	      /* Lock was busy.  Fall back to normal locking.
+		 Could also _xend here but xabort with 0xff code
+		 is more visible in the profiler.  */
+	      _xabort (_ABORT_LOCK_BUSY);
+	    }
+
+	  if (!(status & _XABORT_RETRY))
+	    {
+	      if ((status & _XABORT_EXPLICIT)
+			&& _XABORT_CODE (status) == _ABORT_LOCK_BUSY)
+	        {
+		  /* Right now we skip here.  Better would be to wait a bit
+		     and retry.  This likely needs some spinning.  See
+		     above for why relaxed MO is sufficient.  */
+		  if (atomic_load_relaxed (adapt_count)
+		      != aconf.skip_lock_busy)
+		    atomic_store_relaxed (adapt_count, aconf.skip_lock_busy);
+		}
+	      /* Internal abort.  There is no chance for retry.
+		 Use the normal locking and next time use lock.
+		 Be careful to avoid writing to the lock.  See above for why
+		 relaxed MO is sufficient.  */
+	      else if (atomic_load_relaxed (adapt_count)
+		  != aconf.skip_lock_internal_abort)
+		atomic_store_relaxed (adapt_count,
+		    aconf.skip_lock_internal_abort);
+	      break;
+	    }
+	}
+    }
+  else
+    {
+      /* Use a normal lock until the threshold counter runs out.
+	 Lost updates possible.  */
+      atomic_store_relaxed (adapt_count,
+	  atomic_load_relaxed (adapt_count) - 1);
+    }
+
+  /* Use a normal lock here.  */
+  return LLL_LOCK ((*futex), private);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-timed.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-timed.c
new file mode 100644
index 0000000000..47b81c08c8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-timed.c
@@ -0,0 +1,26 @@
+/* elision-timed.c: Lock elision timed lock.
+   Copyright (C) 2013-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 <time.h>
+#include <elision-conf.h>
+#include "lowlevellock.h"
+#define __lll_lock_elision __lll_timedlock_elision
+#define EXTRAARG const struct timespec *t,
+#undef LLL_LOCK
+#define LLL_LOCK(a, b) lll_timedlock(a, t, b)
+#include "elision-lock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-trylock.c
new file mode 100644
index 0000000000..c19293bf7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-trylock.c
@@ -0,0 +1,75 @@
+/* elision-trylock.c: Lock eliding trylock for pthreads.
+   Copyright (C) 2013-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 <pthread.h>
+#include <pthreadP.h>
+#include <lowlevellock.h>
+#include "hle.h"
+#include <elision-conf.h>
+
+#define aconf __elision_aconf
+
+/* Try to elide a futex trylock.  FUTEX is the futex variable.  ADAPT_COUNT is
+   the adaptation counter in the mutex.  */
+
+int
+__lll_trylock_elision (int *futex, short *adapt_count)
+{
+  /* Implement POSIX semantics by forbiding nesting
+     trylock.  Sorry.  After the abort the code is re-executed
+     non transactional and if the lock was already locked
+     return an error.  */
+  _xabort (_ABORT_NESTED_TRYLOCK);
+
+  /* Only try a transaction if it's worth it.  See __lll_lock_elision for
+     why we need atomic accesses.  Relaxed MO is sufficient because this is
+     just a hint.  */
+  if (atomic_load_relaxed (adapt_count) <= 0)
+    {
+      unsigned status;
+
+      if ((status = _xbegin()) == _XBEGIN_STARTED)
+	{
+	  if (*futex == 0)
+	    return 0;
+
+	  /* Lock was busy.  Fall back to normal locking.
+	     Could also _xend here but xabort with 0xff code
+	     is more visible in the profiler.  */
+	  _xabort (_ABORT_LOCK_BUSY);
+	}
+
+      if (!(status & _XABORT_RETRY))
+        {
+          /* Internal abort.  No chance for retry.  For future
+             locks don't try speculation for some time.  See above for MO.  */
+          if (atomic_load_relaxed (adapt_count)
+              != aconf.skip_lock_internal_abort)
+            atomic_store_relaxed (adapt_count, aconf.skip_lock_internal_abort);
+        }
+      /* Could do some retries here.  */
+    }
+  else
+    {
+      /* Lost updates are possible but harmless (see above).  */
+      atomic_store_relaxed (adapt_count,
+	  atomic_load_relaxed (adapt_count) - 1);
+    }
+
+  return lll_trylock (*futex);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-unlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-unlock.c
new file mode 100644
index 0000000000..a3d07cbf21
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/elision-unlock.c
@@ -0,0 +1,33 @@
+/* elision-unlock.c: Commit an elided pthread lock.
+   Copyright (C) 2013-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 "pthreadP.h"
+#include "lowlevellock.h"
+#include "hle.h"
+
+int
+__lll_unlock_elision(int *lock, int private)
+{
+  /* When the lock was free we're in a transaction.
+     When you crash here you unlocked a free lock.  */
+  if (*lock == 0)
+    _xend();
+  else
+    lll_unlock ((*lock), private);
+  return 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/force-elision.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/force-elision.h
new file mode 100644
index 0000000000..2e93a0699a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/force-elision.h
@@ -0,0 +1,26 @@
+/* force-elision.h: Automatic enabling of elision for mutexes
+   Copyright (C) 2013-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/>.  */
+
+/* Automatically enable elision for existing user lock kinds.  */
+#define FORCE_ELISION(m, s)						\
+  if (__pthread_force_elision						\
+      && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0)	\
+    {									\
+      mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP;			\
+      s;								\
+    }
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/gettimeofday.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/gettimeofday.c
new file mode 100644
index 0000000000..fee2fd2da3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/gettimeofday.c
@@ -0,0 +1,61 @@
+/* gettimeofday - get the time.  Linux/x86 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/time.h>
+
+#ifdef SHARED
+
+# include <dl-vdso.h>
+# include <errno.h>
+
+static int
+__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
+}
+
+# ifndef __gettimeofday_type
+/* The i386 gettimeofday.c includes this file with a defined
+   __gettimeofday_type macro.  For x86_64 we have to define it to __gettimeofday
+   as the internal symbol is the ifunc'ed one.  */
+#  define __gettimeofday_type __gettimeofday
+# endif
+
+# undef INIT_ARCH
+# define INIT_ARCH() PREPARE_VERSION_KNOWN (linux26, LINUX_2_6)
+/* If the vDSO is not available we fall back to syscall.  */
+libc_ifunc_hidden (__gettimeofday_type, __gettimeofday,
+		   (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26)
+		    ?: &__gettimeofday_syscall))
+libc_hidden_def (__gettimeofday)
+
+#else
+
+# include <sysdep.h>
+# include <errno.h>
+
+int
+__gettimeofday (struct timeval *tv, struct timezone *tz)
+{
+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
+}
+libc_hidden_def (__gettimeofday)
+
+#endif
+weak_alias (__gettimeofday, gettimeofday)
+libc_hidden_weak (gettimeofday)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/hle.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/hle.h
new file mode 100644
index 0000000000..4a7b9e3bf7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/hle.h
@@ -0,0 +1,75 @@
+/* Shared RTM header.  Emulate TSX intrinsics for compilers and assemblers
+   that do not support the intrinsics and instructions yet.  */
+#ifndef _HLE_H
+#define _HLE_H 1
+
+#ifdef __ASSEMBLER__
+
+.macro XBEGIN target
+	.byte 0xc7,0xf8
+	.long \target-1f
+1:
+.endm
+
+.macro XEND
+	.byte 0x0f,0x01,0xd5
+.endm
+
+.macro XABORT code
+	.byte 0xc6,0xf8,\code
+.endm
+
+.macro XTEST
+	 .byte 0x0f,0x01,0xd6
+.endm
+
+#endif
+
+/* Official RTM intrinsics interface matching gcc/icc, but works
+   on older gcc compatible compilers and binutils.
+   We should somehow detect if the compiler supports it, because
+   it may be able to generate slightly better code.  */
+
+#define _XBEGIN_STARTED		(~0u)
+#define _XABORT_EXPLICIT	(1 << 0)
+#define _XABORT_RETRY		(1 << 1)
+#define _XABORT_CONFLICT	(1 << 2)
+#define _XABORT_CAPACITY	(1 << 3)
+#define _XABORT_DEBUG		(1 << 4)
+#define _XABORT_NESTED		(1 << 5)
+#define _XABORT_CODE(x)		(((x) >> 24) & 0xff)
+
+#define _ABORT_LOCK_BUSY 	0xff
+#define _ABORT_LOCK_IS_LOCKED	0xfe
+#define _ABORT_NESTED_TRYLOCK	0xfd
+
+#ifndef __ASSEMBLER__
+
+#define __force_inline __attribute__((__always_inline__)) inline
+
+static __force_inline int _xbegin(void)
+{
+  int ret = _XBEGIN_STARTED;
+  asm volatile (".byte 0xc7,0xf8 ; .long 0" : "+a" (ret) :: "memory");
+  return ret;
+}
+
+static __force_inline void _xend(void)
+{
+  asm volatile (".byte 0x0f,0x01,0xd5" ::: "memory");
+}
+
+static __force_inline void _xabort(const unsigned int status)
+{
+  asm volatile (".byte 0xc6,0xf8,%P0" :: "i" (status) : "memory");
+}
+
+static __force_inline int _xtest(void)
+{
+  unsigned char out;
+  asm volatile (".byte 0x0f,0x01,0xd6 ; setnz %0" : "=r" (out) :: "memory");
+  return out;
+}
+
+#endif
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/libc-vdso.h
new file mode 100644
index 0000000000..6cc3285461
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/libc-vdso.h
@@ -0,0 +1,36 @@
+/* Resolve function pointers to VDSO functions.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#include <time.h>
+#include <sys/time.h>
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
+  attribute_hidden;
+
+extern long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
new file mode 100644
index 0000000000..a4e61c38c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2013-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* The cond lock is not actually elided yet, but we still need to handle
+   already elided locks.  */
+#include <elision-conf.h>
+
+#include <nptl/pthread_mutex_cond_lock.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
new file mode 100644
index 0000000000..8a40c86502
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_lock.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include "force-elision.h"
+
+#include "nptl/pthread_mutex_lock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
new file mode 100644
index 0000000000..33fe1b46de
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_timedlock.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include "force-elision.h"
+
+#include "nptl/pthread_mutex_timedlock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
new file mode 100644
index 0000000000..435839a292
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
@@ -0,0 +1,22 @@
+/* Elided version of pthread_mutex_trylock.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <elision-conf.h>
+#include "force-elision.h"
+
+#include "nptl/pthread_mutex_trylock.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/debugreg.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/debugreg.h
new file mode 100644
index 0000000000..eaa79a882b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/debugreg.h
@@ -0,0 +1,88 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_DEBUGREG_H
+#define _SYS_DEBUGREG_H	1
+
+/* Indicate the register numbers for a number of the specific
+   debug registers.  Registers 0-3 contain the addresses we wish to trap on */
+#define DR_FIRSTADDR 0        /* u_debugreg[DR_FIRSTADDR] */
+#define DR_LASTADDR 3         /* u_debugreg[DR_LASTADDR]  */
+
+#define DR_STATUS 6           /* u_debugreg[DR_STATUS]     */
+#define DR_CONTROL 7          /* u_debugreg[DR_CONTROL] */
+
+/* Define a few things for the status register.  We can use this to determine
+   which debugging register was responsible for the trap.  The other bits
+   are either reserved or not of interest to us. */
+
+#define DR_TRAP0	(0x1)		/* db0 */
+#define DR_TRAP1	(0x2)		/* db1 */
+#define DR_TRAP2	(0x4)		/* db2 */
+#define DR_TRAP3	(0x8)		/* db3 */
+
+#define DR_STEP		(0x4000)	/* single-step */
+#define DR_SWITCH	(0x8000)	/* task switch */
+
+/* Now define a bunch of things for manipulating the control register.
+   The top two bytes of the control register consist of 4 fields of 4
+   bits - each field corresponds to one of the four debug registers,
+   and indicates what types of access we trap on, and how large the data
+   field is that we are looking at */
+
+#define DR_CONTROL_SHIFT 16   /* Skip this many bits in ctl register */
+#define DR_CONTROL_SIZE  4    /* 4 control bits per register */
+
+#define DR_RW_EXECUTE	(0x0) /* Settings for the access types to trap on */
+#define DR_RW_WRITE	(0x1)
+#define DR_RW_READ	(0x3)
+
+#define DR_LEN_1 (0x0)	      /* Settings for data length to trap on */
+#define DR_LEN_2 (0x4)
+#define DR_LEN_4 (0xC)
+#ifdef __x86_64__
+# define DR_LEN_8 (0x8)
+#endif
+
+/* The low byte to the control register determine which registers are
+   enabled.  There are 4 fields of two bits.  One bit is "local", meaning
+   that the processor will reset the bit after a task switch and the other
+   is global meaning that we have to explicitly reset the bit.  With linux,
+   you can use either one, since we explicitly zero the register when we enter
+   kernel mode. */
+
+#define DR_LOCAL_ENABLE_SHIFT  0   /* Extra shift to the local enable bit */
+#define DR_GLOBAL_ENABLE_SHIFT 1   /* Extra shift to the global enable bit */
+#define DR_ENABLE_SIZE	       2   /* 2 enable bits per register */
+
+#define DR_LOCAL_ENABLE_MASK  (0x55) /* Set  local bits for all 4 regs */
+#define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */
+
+/* The second byte to the control register has a few special
+   things.  */
+
+
+
+#ifdef __x86_64__
+# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00ULL) /* Reserved */
+#else
+# define DR_CONTROL_RESERVED (0x00FC00U) /* Reserved */
+#endif
+#define DR_LOCAL_SLOWDOWN   (0x100)  /* Local slow the pipeline */
+#define DR_GLOBAL_SLOWDOWN  (0x200)  /* Global slow the pipeline */
+
+#endif	/* sys/debugreg.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/elf.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/elf.h
new file mode 100644
index 0000000000..9b58e1a540
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/elf.h
@@ -0,0 +1,29 @@
+/* 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 _SYS_ELF_H
+#define _SYS_ELF_H	1
+
+#ifdef __x86_64__
+# error This header is unsupported on x86-64.
+#else
+# warning "This header is obsolete; use <sys/procfs.h> instead."
+
+# include <sys/procfs.h>
+#endif
+
+#endif	/* _SYS_ELF_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/io.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/io.h
new file mode 100644
index 0000000000..3041a59c1a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/io.h
@@ -0,0 +1,183 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_IO_H
+#define	_SYS_IO_H	1
+
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* If TURN_ON is TRUE, request for permission to do direct i/o on the
+   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
+   permission off for that range.  This call requires root privileges.
+
+   Portability note: not all Linux platforms support this call.  Most
+   platforms based on the PC I/O architecture probably will, however.
+   E.g., Linux/Alpha for Alpha PCs supports this.  */
+extern int ioperm (unsigned long int __from, unsigned long int __num,
+                   int __turn_on) __THROW;
+
+/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
+   access any I/O port is granted.  This call requires root
+   privileges. */
+extern int iopl (int __level) __THROW;
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+static __inline unsigned char
+inb (unsigned short int __port)
+{
+  unsigned char _v;
+
+  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline unsigned char
+inb_p (unsigned short int __port)
+{
+  unsigned char _v;
+
+  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline unsigned short int
+inw (unsigned short int __port)
+{
+  unsigned short _v;
+
+  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline unsigned short int
+inw_p (unsigned short int __port)
+{
+  unsigned short int _v;
+
+  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline unsigned int
+inl (unsigned short int __port)
+{
+  unsigned int _v;
+
+  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline unsigned int
+inl_p (unsigned short int __port)
+{
+  unsigned int _v;
+  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static __inline void
+outb (unsigned char __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
+}
+
+static __inline void
+outb_p (unsigned char __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
+			"Nd" (__port));
+}
+
+static __inline void
+outw (unsigned short int __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
+
+}
+
+static __inline void
+outw_p (unsigned short int __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
+			"Nd" (__port));
+}
+
+static __inline void
+outl (unsigned int __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
+}
+
+static __inline void
+outl_p (unsigned int __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
+			"Nd" (__port));
+}
+
+static __inline void
+insb (unsigned short int __port, void *__addr, unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+static __inline void
+insw (unsigned short int __port, void *__addr, unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+static __inline void
+insl (unsigned short int __port, void *__addr, unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+static __inline void
+outsb (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+static __inline void
+outsw (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+static __inline void
+outsl (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
+{
+  __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
+			:"d" (__port), "0" (__addr), "1" (__count));
+}
+
+#endif	/* GNU C */
+
+__END_DECLS
+#endif /* _SYS_IO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/perm.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/perm.h
new file mode 100644
index 0000000000..a6e0c0c5a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/perm.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PERM_H
+
+#define _SYS_PERM_H	1
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* Set port input/output permissions.  */
+extern int ioperm (unsigned long int __from, unsigned long int __num,
+		   int __turn_on) __THROW;
+
+
+/* Change I/O privilege level.  */
+extern int iopl (int __level) __THROW;
+
+__END_DECLS
+
+#endif	/* _SYS_PERM_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/procfs.h
new file mode 100644
index 0000000000..577c3de655
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/procfs.h
@@ -0,0 +1,145 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H	1
+
+/* This is somewhat modelled after the file of the same name on SVR4
+   systems.  It provides a definition of the core file format for ELF
+   used on Linux.  It doesn't have anything to do with the /proc file
+   system, even though Linux has one.
+
+   Anyway, the whole purpose of this file is for GDB and GDB only.
+   Don't read too much into it.  Don't use it for anything other than
+   GDB unless you know what you are doing.  */
+
+#include <features.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+#ifdef __x86_64__
+__extension__ typedef unsigned long long elf_greg_t;
+#else
+typedef unsigned long elf_greg_t;
+#endif
+
+/* And the whole bunch of them.  We could have used `struct
+   user_regs_struct' directly in the typedef, but tradition says that
+   the register set is an array, which does have some peculiar
+   semantics, so leave it that way.  */
+#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+#ifndef __x86_64__
+/* Register set for the floating-point registers.  */
+typedef struct user_fpregs_struct elf_fpregset_t;
+
+/* Register set for the extended floating-point registers.  Includes
+   the Pentium III SSE registers in addition to the classic
+   floating-point stuff.  */
+typedef struct user_fpxregs_struct elf_fpxregset_t;
+#else
+/* Register set for the extended floating-point registers.  Includes
+   the Pentium III SSE registers in addition to the classic
+   floating-point stuff.  */
+typedef struct user_fpregs_struct elf_fpregset_t;
+#endif
+
+/* Signal info.  */
+struct elf_siginfo
+  {
+    int si_signo;			/* Signal number.  */
+    int si_code;			/* Extra code.  */
+    int si_errno;			/* Errno.  */
+  };
+
+
+/* Definitions to generate Intel SVR4-like core files.  These mostly
+   have the same names as the SVR4 types with "elf_" tacked on the
+   front to prevent clashes with Linux definitions, and the typedef
+   forms have been avoided.  This is mostly like the SVR4 structure,
+   but more Linuxy, with things that Linux does not support and which
+   GDB doesn't really use excluded.  */
+
+struct elf_prstatus
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned long int pr_sigpend;	/* Set of pending signals.  */
+    unsigned long int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct timeval pr_utime;		/* User time.  */
+    struct timeval pr_stime;		/* System time.  */
+    struct timeval pr_cutime;		/* Cumulative user time.  */
+    struct timeval pr_cstime;		/* Cumulative system time.  */
+    elf_gregset_t pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+
+#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
+
+struct elf_prpsinfo
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned long int pr_flag;		/* Flags.  */
+#if __WORDSIZE == 32
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+#else
+    unsigned int pr_uid;
+    unsigned int pr_gid;
+#endif
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+
+/* The rest of this file provides the types for emulation of the
+   Solaris <proc_service.h> interfaces that should be implemented by
+   users of libthread_db.  */
+
+/* Addresses.  */
+typedef void *psaddr_t;
+
+/* Register sets.  Linux has different names.  */
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
+
+/* We don't have any differences between processes and threads,
+   therefore have only one PID type.  */
+typedef __pid_t lwpid_t;
+
+/* Process status and info.  In the end we do provide typedefs for them.  */
+typedef struct elf_prstatus prstatus_t;
+typedef struct elf_prpsinfo prpsinfo_t;
+
+__END_DECLS
+
+#endif	/* sys/procfs.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/reg.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/reg.h
new file mode 100644
index 0000000000..ceca1334e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/reg.h
@@ -0,0 +1,77 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_REG_H
+#define _SYS_REG_H	1
+
+
+#ifdef __x86_64__
+/* Index into an array of 8 byte longs returned from ptrace for
+   location of the users' stored general purpose registers.  */
+
+# define R15	0
+# define R14	1
+# define R13	2
+# define R12	3
+# define RBP	4
+# define RBX	5
+# define R11	6
+# define R10	7
+# define R9	8
+# define R8	9
+# define RAX	10
+# define RCX	11
+# define RDX	12
+# define RSI	13
+# define RDI	14
+# define ORIG_RAX 15
+# define RIP	16
+# define CS	17
+# define EFLAGS	18
+# define RSP	19
+# define SS	20
+# define FS_BASE 21
+# define GS_BASE 22
+# define DS	23
+# define ES	24
+# define FS	25
+# define GS	26
+#else
+
+/* Index into an array of 4 byte integers returned from ptrace for
+ * location of the users' stored general purpose registers. */
+
+# define EBX 0
+# define ECX 1
+# define EDX 2
+# define ESI 3
+# define EDI 4
+# define EBP 5
+# define EAX 6
+# define DS 7
+# define ES 8
+# define FS 9
+# define GS 10
+# define ORIG_EAX 11
+# define EIP 12
+# define CS  13
+# define EFL 14
+# define UESP 15
+# define SS   16
+#endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
new file mode 100644
index 0000000000..5fd64bf801
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
@@ -0,0 +1,260 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+#ifdef __x86_64__
+
+/* Type for general register.  */
+__extension__ typedef long long int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	23
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_GNU
+/* Number of each register in the `gregset_t' array.  */
+enum
+{
+  REG_R8 = 0,
+# define REG_R8		REG_R8
+  REG_R9,
+# define REG_R9		REG_R9
+  REG_R10,
+# define REG_R10	REG_R10
+  REG_R11,
+# define REG_R11	REG_R11
+  REG_R12,
+# define REG_R12	REG_R12
+  REG_R13,
+# define REG_R13	REG_R13
+  REG_R14,
+# define REG_R14	REG_R14
+  REG_R15,
+# define REG_R15	REG_R15
+  REG_RDI,
+# define REG_RDI	REG_RDI
+  REG_RSI,
+# define REG_RSI	REG_RSI
+  REG_RBP,
+# define REG_RBP	REG_RBP
+  REG_RBX,
+# define REG_RBX	REG_RBX
+  REG_RDX,
+# define REG_RDX	REG_RDX
+  REG_RAX,
+# define REG_RAX	REG_RAX
+  REG_RCX,
+# define REG_RCX	REG_RCX
+  REG_RSP,
+# define REG_RSP	REG_RSP
+  REG_RIP,
+# define REG_RIP	REG_RIP
+  REG_EFL,
+# define REG_EFL	REG_EFL
+  REG_CSGSFS,		/* Actually short cs, gs, fs, __pad0.  */
+# define REG_CSGSFS	REG_CSGSFS
+  REG_ERR,
+# define REG_ERR	REG_ERR
+  REG_TRAPNO,
+# define REG_TRAPNO	REG_TRAPNO
+  REG_OLDMASK,
+# define REG_OLDMASK	REG_OLDMASK
+  REG_CR2
+# define REG_CR2	REG_CR2
+};
+#endif
+
+struct _libc_fpxreg
+{
+  unsigned short int __ctx(significand)[4];
+  unsigned short int __ctx(exponent);
+  unsigned short int __glibc_reserved1[3];
+};
+
+struct _libc_xmmreg
+{
+  __uint32_t	element[4];
+};
+
+struct _libc_fpstate
+{
+  /* 64-bit FXSAVE format.  */
+  __uint16_t		__ctx(cwd);
+  __uint16_t		__ctx(swd);
+  __uint16_t		__ctx(ftw);
+  __uint16_t		__ctx(fop);
+  __uint64_t		__ctx(rip);
+  __uint64_t		__ctx(rdp);
+  __uint32_t		__ctx(mxcsr);
+  __uint32_t		__ctx(mxcr_mask);
+  struct _libc_fpxreg	_st[8];
+  struct _libc_xmmreg	_xmm[16];
+  __uint32_t		__glibc_reserved1[24];
+};
+
+/* Structure to describe FPU registers.  */
+typedef struct _libc_fpstate *fpregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    gregset_t __ctx(gregs);
+    /* Note that fpregs is a pointer.  */
+    fpregset_t __ctx(fpregs);
+    __extension__ unsigned long long __reserved1 [8];
+} mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+    struct _libc_fpstate __fpregs_mem;
+  } ucontext_t;
+
+#else /* !__x86_64__ */
+
+/* Type for general register.  */
+typedef int greg_t;
+
+/* Number of general registers.  */
+#define __NGREG	19
+#ifdef __USE_MISC
+# define NGREG	__NGREG
+#endif
+
+/* Container for all general registers.  */
+typedef greg_t gregset_t[__NGREG];
+
+#ifdef __USE_GNU
+/* Number of each register is the `gregset_t' array.  */
+enum
+{
+  REG_GS = 0,
+# define REG_GS		REG_GS
+  REG_FS,
+# define REG_FS		REG_FS
+  REG_ES,
+# define REG_ES		REG_ES
+  REG_DS,
+# define REG_DS		REG_DS
+  REG_EDI,
+# define REG_EDI	REG_EDI
+  REG_ESI,
+# define REG_ESI	REG_ESI
+  REG_EBP,
+# define REG_EBP	REG_EBP
+  REG_ESP,
+# define REG_ESP	REG_ESP
+  REG_EBX,
+# define REG_EBX	REG_EBX
+  REG_EDX,
+# define REG_EDX	REG_EDX
+  REG_ECX,
+# define REG_ECX	REG_ECX
+  REG_EAX,
+# define REG_EAX	REG_EAX
+  REG_TRAPNO,
+# define REG_TRAPNO	REG_TRAPNO
+  REG_ERR,
+# define REG_ERR	REG_ERR
+  REG_EIP,
+# define REG_EIP	REG_EIP
+  REG_CS,
+# define REG_CS		REG_CS
+  REG_EFL,
+# define REG_EFL	REG_EFL
+  REG_UESP,
+# define REG_UESP	REG_UESP
+  REG_SS
+# define REG_SS	REG_SS
+};
+#endif
+
+/* Definitions taken from the kernel headers.  */
+struct _libc_fpreg
+{
+  unsigned short int __ctx(significand)[4];
+  unsigned short int __ctx(exponent);
+};
+
+struct _libc_fpstate
+{
+  unsigned long int __ctx(cw);
+  unsigned long int __ctx(sw);
+  unsigned long int __ctx(tag);
+  unsigned long int __ctx(ipoff);
+  unsigned long int __ctx(cssel);
+  unsigned long int __ctx(dataoff);
+  unsigned long int __ctx(datasel);
+  struct _libc_fpreg _st[8];
+  unsigned long int __ctx(status);
+};
+
+/* Structure to describe FPU registers.  */
+typedef struct _libc_fpstate *fpregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    gregset_t __ctx(gregs);
+    /* Due to Linux's history we have to use a pointer here.  The SysV/i386
+       ABI requires a struct with the values.  */
+    fpregset_t __ctx(fpregs);
+    unsigned long int __ctx(oldmask);
+    unsigned long int __ctx(cr2);
+  } mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    sigset_t uc_sigmask;
+    struct _libc_fpstate __fpregs_mem;
+  } ucontext_t;
+
+#endif /* !__x86_64__ */
+
+#undef __ctx
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/user.h
new file mode 100644
index 0000000000..b705239e61
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/user.h
@@ -0,0 +1,180 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+#ifdef __x86_64__
+
+struct user_fpregs_struct
+{
+  unsigned short int	cwd;
+  unsigned short int	swd;
+  unsigned short int	ftw;
+  unsigned short int	fop;
+  __extension__ unsigned long long int rip;
+  __extension__ unsigned long long int rdp;
+  unsigned int		mxcsr;
+  unsigned int		mxcr_mask;
+  unsigned int		st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
+  unsigned int		xmm_space[64];  /* 16*16 bytes for each XMM-reg = 256 bytes */
+  unsigned int		padding[24];
+};
+
+struct user_regs_struct
+{
+  __extension__ unsigned long long int r15;
+  __extension__ unsigned long long int r14;
+  __extension__ unsigned long long int r13;
+  __extension__ unsigned long long int r12;
+  __extension__ unsigned long long int rbp;
+  __extension__ unsigned long long int rbx;
+  __extension__ unsigned long long int r11;
+  __extension__ unsigned long long int r10;
+  __extension__ unsigned long long int r9;
+  __extension__ unsigned long long int r8;
+  __extension__ unsigned long long int rax;
+  __extension__ unsigned long long int rcx;
+  __extension__ unsigned long long int rdx;
+  __extension__ unsigned long long int rsi;
+  __extension__ unsigned long long int rdi;
+  __extension__ unsigned long long int orig_rax;
+  __extension__ unsigned long long int rip;
+  __extension__ unsigned long long int cs;
+  __extension__ unsigned long long int eflags;
+  __extension__ unsigned long long int rsp;
+  __extension__ unsigned long long int ss;
+  __extension__ unsigned long long int fs_base;
+  __extension__ unsigned long long int gs_base;
+  __extension__ unsigned long long int ds;
+  __extension__ unsigned long long int es;
+  __extension__ unsigned long long int fs;
+  __extension__ unsigned long long int gs;
+};
+
+struct user
+{
+  struct user_regs_struct	regs;
+  int				u_fpvalid;
+  struct user_fpregs_struct	i387;
+  __extension__ unsigned long long int	u_tsize;
+  __extension__ unsigned long long int	u_dsize;
+  __extension__ unsigned long long int	u_ssize;
+  __extension__ unsigned long long int	start_code;
+  __extension__ unsigned long long int	start_stack;
+  __extension__ long long int		signal;
+  int				reserved;
+  __extension__ union
+    {
+      struct user_regs_struct*	u_ar0;
+      __extension__ unsigned long long int	__u_ar0_word;
+    };
+  __extension__ union
+    {
+      struct user_fpregs_struct*	u_fpstate;
+      __extension__ unsigned long long int	__u_fpstate_word;
+    };
+  __extension__ unsigned long long int	magic;
+  char				u_comm [32];
+  __extension__ unsigned long long int	u_debugreg [8];
+};
+
+#else
+/* These are the 32-bit x86 structures.  */
+struct user_fpregs_struct
+{
+  long int cwd;
+  long int swd;
+  long int twd;
+  long int fip;
+  long int fcs;
+  long int foo;
+  long int fos;
+  long int st_space [20];
+};
+
+struct user_fpxregs_struct
+{
+  unsigned short int cwd;
+  unsigned short int swd;
+  unsigned short int twd;
+  unsigned short int fop;
+  long int fip;
+  long int fcs;
+  long int foo;
+  long int fos;
+  long int mxcsr;
+  long int reserved;
+  long int st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
+  long int xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
+  long int padding[56];
+};
+
+struct user_regs_struct
+{
+  long int ebx;
+  long int ecx;
+  long int edx;
+  long int esi;
+  long int edi;
+  long int ebp;
+  long int eax;
+  long int xds;
+  long int xes;
+  long int xfs;
+  long int xgs;
+  long int orig_eax;
+  long int eip;
+  long int xcs;
+  long int eflags;
+  long int esp;
+  long int xss;
+};
+
+struct user
+{
+  struct user_regs_struct	regs;
+  int				u_fpvalid;
+  struct user_fpregs_struct	i387;
+  unsigned long int		u_tsize;
+  unsigned long int		u_dsize;
+  unsigned long int		u_ssize;
+  unsigned long int		start_code;
+  unsigned long int		start_stack;
+  long int			signal;
+  int				reserved;
+  struct user_regs_struct*	u_ar0;
+  struct user_fpregs_struct*	u_fpstate;
+  unsigned long int		magic;
+  char				u_comm [32];
+  int				u_debugreg [8];
+};
+#endif  /* __x86_64__ */
+
+#define PAGE_SHIFT		12
+#define PAGE_SIZE		(1UL << PAGE_SHIFT)
+#define PAGE_MASK		(~(PAGE_SIZE-1))
+#define NBPG			PAGE_SIZE
+#define UPAGES			1
+#define HOST_TEXT_START_ADDR	(u.start_code)
+#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
+
+#endif	/* _SYS_USER_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/vm86.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/vm86.h
new file mode 100644
index 0000000000..07f09c2030
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sys/vm86.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_VM86_H
+
+#define _SYS_VM86_H	1
+#include <features.h>
+
+#ifdef __x86_64__
+# error This header is unsupported on x86-64.
+#else
+/* Get constants and data types from kernel header file.  */
+# include <asm/vm86.h>
+
+__BEGIN_DECLS
+
+/* Enter virtual 8086 mode.  */
+extern int vm86 (unsigned long int __subfunction,
+		 struct vm86plus_struct *__info) __THROW;
+
+__END_DECLS
+# endif
+
+#endif	/* _SYS_VM86_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/sysconf.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sysconf.c
new file mode 100644
index 0000000000..ec4e620d2a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/sysconf.c
@@ -0,0 +1,42 @@
+/* Get file-specific information about a file.  Linux version.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+
+static long int linux_sysconf (int name);
+extern long int __cache_sysconf (int) attribute_hidden;
+
+
+/* Get the value of the system variable NAME.  */
+long int
+__sysconf (int name)
+{
+  if (name >= _SC_LEVEL1_ICACHE_SIZE && name <= _SC_LEVEL4_CACHE_LINESIZE)
+    return __cache_sysconf (name);
+
+  return linux_sysconf (name);
+}
+
+/* Now the generic Linux version.  */
+#undef __sysconf
+#define __sysconf static linux_sysconf
+#include "../sysconf.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86/time.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86/time.c
new file mode 100644
index 0000000000..fac81b3812
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86/time.c
@@ -0,0 +1,59 @@
+/* time -- Get number of seconds since Epoch.  Linux/x86 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <time.h>
+
+#ifdef SHARED
+
+#include <dl-vdso.h>
+#include <errno.h>
+
+static time_t
+__time_syscall (time_t *t)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (time, err, 1, t);
+}
+
+# ifndef time_type
+/* The i386 time.c includes this file with a defined time_type macro.
+   For x86_64 we have to define it to time as the internal symbol is the
+   ifunc'ed one.  */
+#  define time_type time
+# endif
+
+#undef INIT_ARCH
+#define INIT_ARCH() PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
+/* If the vDSO is not available we fall back on the syscall.  */
+libc_ifunc_hidden (time_type, time,
+		   (_dl_vdso_vsym ("__vdso_time", &linux26)
+		    ?:  &__time_syscall))
+libc_hidden_def (time)
+
+#else
+
+# include <sysdep.h>
+
+time_t
+time (time_t *t)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  return INTERNAL_SYSCALL (time, err, 1, t);
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile
new file mode 100644
index 0000000000..a7b6dc5a53
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile
@@ -0,0 +1,2 @@
+# The default ABI is 64.
+default-abi := 64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data
new file mode 100644
index 0000000000..23c11dc41b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/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:m
+off64_t:l
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:l
+register_t:l
+rlim64_t:m
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:m
+socklen_t:j
+ssize_t:l
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:m
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:m
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure
new file mode 100644
index 0000000000..9d1a8d271d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/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/x86_64/64.
+
+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/x86_64/64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
new file mode 100644
index 0000000000..8e863b94ad
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/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/x86_64/64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
new file mode 100644
index 0000000000..8d474d0d04
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
@@ -0,0 +1,44 @@
+/* Optional code to distinguish library flavours.  x86-64 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_LIBRECON_H
+
+#include <sysdeps/unix/sysv/linux/dl-librecon.h>
+
+/* Recognizing extra environment variables.  For 64-bit applications,
+   branch prediction performance may be negatively impacted when the
+   target of a branch is more than 4GB away from the branch.  Add the
+   Prefer_MAP_32BIT_EXEC bit so that mmap will try to map executable
+   pages with MAP_32BIT first.  NB: MAP_32BIT will map to lower 2GB,
+   not lower 4GB, address.  Prefer_MAP_32BIT_EXEC reduces bits available
+   for address space layout randomization (ASLR).  Prefer_MAP_32BIT_EXEC
+   is always disabled for SUID programs and can be enabled by setting
+   environment variable, LD_PREFER_MAP_32BIT_EXEC.  */
+#define EXTRA_LD_ENVVARS \
+  case 21:								  \
+    if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
+      GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
+	|= bit_arch_Prefer_MAP_32BIT_EXEC;				  \
+    break;
+
+/* Extra unsecure variables.  The names are all stuffed in a single
+   string which means they have to be terminated with a '\0' explicitly.  */
+#define EXTRA_UNSECURE_ENVVARS \
+  "LD_PREFER_MAP_32BIT_EXEC\0"
+
+#endif /* dl-librecon.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
new file mode 100644
index 0000000000..07cab4bd7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
@@ -0,0 +1,11 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 __libc_stack_end D 0x8
+GLIBC_2.2.5 _dl_mcount F
+GLIBC_2.2.5 _r_debug D 0x28
+GLIBC_2.2.5 calloc F
+GLIBC_2.2.5 free F
+GLIBC_2.2.5 malloc F
+GLIBC_2.2.5 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/x86_64/64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..907c72986f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist
new file mode 100644
index 0000000000..a104f7562a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 gai_cancel F
+GLIBC_2.2.5 gai_error F
+GLIBC_2.2.5 gai_suspend F
+GLIBC_2.2.5 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
new file mode 100644
index 0000000000..513524d932
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -0,0 +1,2171 @@
+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 __fentry__ F
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 memcpy F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 _Exit F
+GLIBC_2.2.5 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.2.5 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.2.5 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.2.5 _IO_adjust_column F
+GLIBC_2.2.5 _IO_adjust_wcolumn F
+GLIBC_2.2.5 _IO_default_doallocate F
+GLIBC_2.2.5 _IO_default_finish F
+GLIBC_2.2.5 _IO_default_pbackfail F
+GLIBC_2.2.5 _IO_default_uflow F
+GLIBC_2.2.5 _IO_default_xsgetn F
+GLIBC_2.2.5 _IO_default_xsputn F
+GLIBC_2.2.5 _IO_do_write F
+GLIBC_2.2.5 _IO_doallocbuf F
+GLIBC_2.2.5 _IO_fclose F
+GLIBC_2.2.5 _IO_fdopen F
+GLIBC_2.2.5 _IO_feof F
+GLIBC_2.2.5 _IO_ferror F
+GLIBC_2.2.5 _IO_fflush F
+GLIBC_2.2.5 _IO_fgetpos F
+GLIBC_2.2.5 _IO_fgetpos64 F
+GLIBC_2.2.5 _IO_fgets F
+GLIBC_2.2.5 _IO_file_attach F
+GLIBC_2.2.5 _IO_file_close F
+GLIBC_2.2.5 _IO_file_close_it F
+GLIBC_2.2.5 _IO_file_doallocate F
+GLIBC_2.2.5 _IO_file_finish F
+GLIBC_2.2.5 _IO_file_fopen F
+GLIBC_2.2.5 _IO_file_init F
+GLIBC_2.2.5 _IO_file_jumps D 0xa8
+GLIBC_2.2.5 _IO_file_open F
+GLIBC_2.2.5 _IO_file_overflow F
+GLIBC_2.2.5 _IO_file_read F
+GLIBC_2.2.5 _IO_file_seek F
+GLIBC_2.2.5 _IO_file_seekoff F
+GLIBC_2.2.5 _IO_file_setbuf F
+GLIBC_2.2.5 _IO_file_stat F
+GLIBC_2.2.5 _IO_file_sync F
+GLIBC_2.2.5 _IO_file_underflow F
+GLIBC_2.2.5 _IO_file_write F
+GLIBC_2.2.5 _IO_file_xsputn F
+GLIBC_2.2.5 _IO_flockfile F
+GLIBC_2.2.5 _IO_flush_all F
+GLIBC_2.2.5 _IO_flush_all_linebuffered F
+GLIBC_2.2.5 _IO_fopen F
+GLIBC_2.2.5 _IO_fprintf F
+GLIBC_2.2.5 _IO_fputs F
+GLIBC_2.2.5 _IO_fread F
+GLIBC_2.2.5 _IO_free_backup_area F
+GLIBC_2.2.5 _IO_free_wbackup_area F
+GLIBC_2.2.5 _IO_fsetpos F
+GLIBC_2.2.5 _IO_fsetpos64 F
+GLIBC_2.2.5 _IO_ftell F
+GLIBC_2.2.5 _IO_ftrylockfile F
+GLIBC_2.2.5 _IO_funlockfile F
+GLIBC_2.2.5 _IO_fwrite F
+GLIBC_2.2.5 _IO_getc F
+GLIBC_2.2.5 _IO_getline F
+GLIBC_2.2.5 _IO_getline_info F
+GLIBC_2.2.5 _IO_gets F
+GLIBC_2.2.5 _IO_init F
+GLIBC_2.2.5 _IO_init_marker F
+GLIBC_2.2.5 _IO_init_wmarker F
+GLIBC_2.2.5 _IO_iter_begin F
+GLIBC_2.2.5 _IO_iter_end F
+GLIBC_2.2.5 _IO_iter_file F
+GLIBC_2.2.5 _IO_iter_next F
+GLIBC_2.2.5 _IO_least_wmarker F
+GLIBC_2.2.5 _IO_link_in F
+GLIBC_2.2.5 _IO_list_all D 0x8
+GLIBC_2.2.5 _IO_list_lock F
+GLIBC_2.2.5 _IO_list_resetlock F
+GLIBC_2.2.5 _IO_list_unlock F
+GLIBC_2.2.5 _IO_marker_delta F
+GLIBC_2.2.5 _IO_marker_difference F
+GLIBC_2.2.5 _IO_padn F
+GLIBC_2.2.5 _IO_peekc_locked F
+GLIBC_2.2.5 _IO_popen F
+GLIBC_2.2.5 _IO_printf F
+GLIBC_2.2.5 _IO_proc_close F
+GLIBC_2.2.5 _IO_proc_open F
+GLIBC_2.2.5 _IO_putc F
+GLIBC_2.2.5 _IO_puts F
+GLIBC_2.2.5 _IO_remove_marker F
+GLIBC_2.2.5 _IO_seekmark F
+GLIBC_2.2.5 _IO_seekoff F
+GLIBC_2.2.5 _IO_seekpos F
+GLIBC_2.2.5 _IO_seekwmark F
+GLIBC_2.2.5 _IO_setb F
+GLIBC_2.2.5 _IO_setbuffer F
+GLIBC_2.2.5 _IO_setvbuf F
+GLIBC_2.2.5 _IO_sgetn F
+GLIBC_2.2.5 _IO_sprintf F
+GLIBC_2.2.5 _IO_sputbackc F
+GLIBC_2.2.5 _IO_sputbackwc F
+GLIBC_2.2.5 _IO_sscanf F
+GLIBC_2.2.5 _IO_str_init_readonly F
+GLIBC_2.2.5 _IO_str_init_static F
+GLIBC_2.2.5 _IO_str_overflow F
+GLIBC_2.2.5 _IO_str_pbackfail F
+GLIBC_2.2.5 _IO_str_seekoff F
+GLIBC_2.2.5 _IO_str_underflow F
+GLIBC_2.2.5 _IO_sungetc F
+GLIBC_2.2.5 _IO_sungetwc F
+GLIBC_2.2.5 _IO_switch_to_get_mode F
+GLIBC_2.2.5 _IO_switch_to_main_wget_area F
+GLIBC_2.2.5 _IO_switch_to_wbackup_area F
+GLIBC_2.2.5 _IO_switch_to_wget_mode F
+GLIBC_2.2.5 _IO_un_link F
+GLIBC_2.2.5 _IO_ungetc F
+GLIBC_2.2.5 _IO_unsave_markers F
+GLIBC_2.2.5 _IO_unsave_wmarkers F
+GLIBC_2.2.5 _IO_vfprintf F
+GLIBC_2.2.5 _IO_vfscanf F
+GLIBC_2.2.5 _IO_vsprintf F
+GLIBC_2.2.5 _IO_wdefault_doallocate F
+GLIBC_2.2.5 _IO_wdefault_finish F
+GLIBC_2.2.5 _IO_wdefault_pbackfail F
+GLIBC_2.2.5 _IO_wdefault_uflow F
+GLIBC_2.2.5 _IO_wdefault_xsgetn F
+GLIBC_2.2.5 _IO_wdefault_xsputn F
+GLIBC_2.2.5 _IO_wdo_write F
+GLIBC_2.2.5 _IO_wdoallocbuf F
+GLIBC_2.2.5 _IO_wfile_jumps D 0xa8
+GLIBC_2.2.5 _IO_wfile_overflow F
+GLIBC_2.2.5 _IO_wfile_seekoff F
+GLIBC_2.2.5 _IO_wfile_sync F
+GLIBC_2.2.5 _IO_wfile_underflow F
+GLIBC_2.2.5 _IO_wfile_xsputn F
+GLIBC_2.2.5 _IO_wmarker_delta F
+GLIBC_2.2.5 _IO_wsetb F
+GLIBC_2.2.5 __adjtimex F
+GLIBC_2.2.5 __after_morecore_hook D 0x8
+GLIBC_2.2.5 __arch_prctl F
+GLIBC_2.2.5 __argz_count F
+GLIBC_2.2.5 __argz_next F
+GLIBC_2.2.5 __argz_stringify F
+GLIBC_2.2.5 __asprintf F
+GLIBC_2.2.5 __assert F
+GLIBC_2.2.5 __assert_fail F
+GLIBC_2.2.5 __assert_perror_fail F
+GLIBC_2.2.5 __backtrace F
+GLIBC_2.2.5 __backtrace_symbols F
+GLIBC_2.2.5 __backtrace_symbols_fd F
+GLIBC_2.2.5 __bsd_getpgrp F
+GLIBC_2.2.5 __bzero F
+GLIBC_2.2.5 __check_rhosts_file D 0x4
+GLIBC_2.2.5 __clone F
+GLIBC_2.2.5 __close F
+GLIBC_2.2.5 __cmsg_nxthdr F
+GLIBC_2.2.5 __connect F
+GLIBC_2.2.5 __ctype32_b D 0x8
+GLIBC_2.2.5 __ctype32_tolower D 0x8
+GLIBC_2.2.5 __ctype32_toupper D 0x8
+GLIBC_2.2.5 __ctype_b D 0x8
+GLIBC_2.2.5 __ctype_get_mb_cur_max F
+GLIBC_2.2.5 __ctype_tolower D 0x8
+GLIBC_2.2.5 __ctype_toupper D 0x8
+GLIBC_2.2.5 __curbrk D 0x8
+GLIBC_2.2.5 __cxa_atexit F
+GLIBC_2.2.5 __cxa_finalize F
+GLIBC_2.2.5 __cyg_profile_func_enter F
+GLIBC_2.2.5 __cyg_profile_func_exit F
+GLIBC_2.2.5 __daylight D 0x4
+GLIBC_2.2.5 __dcgettext F
+GLIBC_2.2.5 __default_morecore F
+GLIBC_2.2.5 __dgettext F
+GLIBC_2.2.5 __dup2 F
+GLIBC_2.2.5 __duplocale F
+GLIBC_2.2.5 __endmntent F
+GLIBC_2.2.5 __environ D 0x8
+GLIBC_2.2.5 __errno_location F
+GLIBC_2.2.5 __fbufsize F
+GLIBC_2.2.5 __fcntl F
+GLIBC_2.2.5 __ffs F
+GLIBC_2.2.5 __finite F
+GLIBC_2.2.5 __finitef F
+GLIBC_2.2.5 __finitel F
+GLIBC_2.2.5 __flbf F
+GLIBC_2.2.5 __fork F
+GLIBC_2.2.5 __fpending F
+GLIBC_2.2.5 __fpu_control D 0x2
+GLIBC_2.2.5 __fpurge F
+GLIBC_2.2.5 __freadable F
+GLIBC_2.2.5 __freading F
+GLIBC_2.2.5 __free_hook D 0x8
+GLIBC_2.2.5 __freelocale F
+GLIBC_2.2.5 __fsetlocking F
+GLIBC_2.2.5 __fwritable F
+GLIBC_2.2.5 __fwriting F
+GLIBC_2.2.5 __fxstat F
+GLIBC_2.2.5 __fxstat64 F
+GLIBC_2.2.5 __getdelim F
+GLIBC_2.2.5 __getmntent_r F
+GLIBC_2.2.5 __getpagesize F
+GLIBC_2.2.5 __getpgid F
+GLIBC_2.2.5 __getpid F
+GLIBC_2.2.5 __gettimeofday F
+GLIBC_2.2.5 __gmtime_r F
+GLIBC_2.2.5 __h_errno_location F
+GLIBC_2.2.5 __isalnum_l F
+GLIBC_2.2.5 __isalpha_l F
+GLIBC_2.2.5 __isascii_l F
+GLIBC_2.2.5 __isblank_l F
+GLIBC_2.2.5 __iscntrl_l F
+GLIBC_2.2.5 __isdigit_l F
+GLIBC_2.2.5 __isgraph_l F
+GLIBC_2.2.5 __isinf F
+GLIBC_2.2.5 __isinff F
+GLIBC_2.2.5 __isinfl F
+GLIBC_2.2.5 __islower_l F
+GLIBC_2.2.5 __isnan F
+GLIBC_2.2.5 __isnanf F
+GLIBC_2.2.5 __isnanl F
+GLIBC_2.2.5 __isprint_l F
+GLIBC_2.2.5 __ispunct_l F
+GLIBC_2.2.5 __isspace_l F
+GLIBC_2.2.5 __isupper_l F
+GLIBC_2.2.5 __iswalnum_l F
+GLIBC_2.2.5 __iswalpha_l F
+GLIBC_2.2.5 __iswblank_l F
+GLIBC_2.2.5 __iswcntrl_l F
+GLIBC_2.2.5 __iswctype F
+GLIBC_2.2.5 __iswctype_l F
+GLIBC_2.2.5 __iswdigit_l F
+GLIBC_2.2.5 __iswgraph_l F
+GLIBC_2.2.5 __iswlower_l F
+GLIBC_2.2.5 __iswprint_l F
+GLIBC_2.2.5 __iswpunct_l F
+GLIBC_2.2.5 __iswspace_l F
+GLIBC_2.2.5 __iswupper_l F
+GLIBC_2.2.5 __iswxdigit_l F
+GLIBC_2.2.5 __isxdigit_l F
+GLIBC_2.2.5 __ivaliduser F
+GLIBC_2.2.5 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.2.5 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.2.5 __key_gendes_LOCAL D 0x8
+GLIBC_2.2.5 __libc_allocate_rtsig F
+GLIBC_2.2.5 __libc_calloc F
+GLIBC_2.2.5 __libc_current_sigrtmax F
+GLIBC_2.2.5 __libc_current_sigrtmin F
+GLIBC_2.2.5 __libc_free F
+GLIBC_2.2.5 __libc_freeres F
+GLIBC_2.2.5 __libc_init_first F
+GLIBC_2.2.5 __libc_mallinfo F
+GLIBC_2.2.5 __libc_malloc F
+GLIBC_2.2.5 __libc_mallopt F
+GLIBC_2.2.5 __libc_memalign F
+GLIBC_2.2.5 __libc_pvalloc F
+GLIBC_2.2.5 __libc_realloc F
+GLIBC_2.2.5 __libc_sa_len F
+GLIBC_2.2.5 __libc_start_main F
+GLIBC_2.2.5 __libc_valloc F
+GLIBC_2.2.5 __lseek F
+GLIBC_2.2.5 __lxstat F
+GLIBC_2.2.5 __lxstat64 F
+GLIBC_2.2.5 __malloc_hook D 0x8
+GLIBC_2.2.5 __malloc_initialize_hook D 0x8
+GLIBC_2.2.5 __mbrlen F
+GLIBC_2.2.5 __mbrtowc F
+GLIBC_2.2.5 __memalign_hook D 0x8
+GLIBC_2.2.5 __mempcpy F
+GLIBC_2.2.5 __mempcpy_small F
+GLIBC_2.2.5 __monstartup F
+GLIBC_2.2.5 __morecore D 0x8
+GLIBC_2.2.5 __newlocale F
+GLIBC_2.2.5 __nl_langinfo_l F
+GLIBC_2.2.5 __nss_configure_lookup F
+GLIBC_2.2.5 __nss_database_lookup F
+GLIBC_2.2.5 __nss_group_lookup F
+GLIBC_2.2.5 __nss_hostname_digits_dots F
+GLIBC_2.2.5 __nss_hosts_lookup F
+GLIBC_2.2.5 __nss_next F
+GLIBC_2.2.5 __nss_passwd_lookup F
+GLIBC_2.2.5 __open F
+GLIBC_2.2.5 __open64 F
+GLIBC_2.2.5 __overflow F
+GLIBC_2.2.5 __pipe F
+GLIBC_2.2.5 __poll F
+GLIBC_2.2.5 __pread64 F
+GLIBC_2.2.5 __printf_fp F
+GLIBC_2.2.5 __profile_frequency F
+GLIBC_2.2.5 __progname D 0x8
+GLIBC_2.2.5 __progname_full D 0x8
+GLIBC_2.2.5 __pwrite64 F
+GLIBC_2.2.5 __rawmemchr F
+GLIBC_2.2.5 __rcmd_errstr D 0x8
+GLIBC_2.2.5 __read F
+GLIBC_2.2.5 __realloc_hook D 0x8
+GLIBC_2.2.5 __res_init F
+GLIBC_2.2.5 __res_nclose F
+GLIBC_2.2.5 __res_ninit F
+GLIBC_2.2.5 __res_randomid F
+GLIBC_2.2.5 __res_state F
+GLIBC_2.2.5 __rpc_thread_createerr F
+GLIBC_2.2.5 __rpc_thread_svc_fdset F
+GLIBC_2.2.5 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.5 __rpc_thread_svc_pollfd F
+GLIBC_2.2.5 __sbrk F
+GLIBC_2.2.5 __sched_get_priority_max F
+GLIBC_2.2.5 __sched_get_priority_min F
+GLIBC_2.2.5 __sched_getparam F
+GLIBC_2.2.5 __sched_getscheduler F
+GLIBC_2.2.5 __sched_setscheduler F
+GLIBC_2.2.5 __sched_yield F
+GLIBC_2.2.5 __secure_getenv F
+GLIBC_2.2.5 __select F
+GLIBC_2.2.5 __send F
+GLIBC_2.2.5 __setmntent F
+GLIBC_2.2.5 __setpgid F
+GLIBC_2.2.5 __sigaction F
+GLIBC_2.2.5 __sigaddset F
+GLIBC_2.2.5 __sigdelset F
+GLIBC_2.2.5 __sigismember F
+GLIBC_2.2.5 __signbit F
+GLIBC_2.2.5 __signbitf F
+GLIBC_2.2.5 __signbitl F
+GLIBC_2.2.5 __sigpause F
+GLIBC_2.2.5 __sigsetjmp F
+GLIBC_2.2.5 __sigsuspend F
+GLIBC_2.2.5 __statfs F
+GLIBC_2.2.5 __stpcpy F
+GLIBC_2.2.5 __stpcpy_small F
+GLIBC_2.2.5 __stpncpy F
+GLIBC_2.2.5 __strcasecmp F
+GLIBC_2.2.5 __strcasecmp_l F
+GLIBC_2.2.5 __strcasestr F
+GLIBC_2.2.5 __strcoll_l F
+GLIBC_2.2.5 __strcpy_small F
+GLIBC_2.2.5 __strcspn_c1 F
+GLIBC_2.2.5 __strcspn_c2 F
+GLIBC_2.2.5 __strcspn_c3 F
+GLIBC_2.2.5 __strdup F
+GLIBC_2.2.5 __strerror_r F
+GLIBC_2.2.5 __strfmon_l F
+GLIBC_2.2.5 __strncasecmp_l F
+GLIBC_2.2.5 __strndup F
+GLIBC_2.2.5 __strpbrk_c2 F
+GLIBC_2.2.5 __strpbrk_c3 F
+GLIBC_2.2.5 __strsep_1c F
+GLIBC_2.2.5 __strsep_2c F
+GLIBC_2.2.5 __strsep_3c F
+GLIBC_2.2.5 __strsep_g F
+GLIBC_2.2.5 __strspn_c1 F
+GLIBC_2.2.5 __strspn_c2 F
+GLIBC_2.2.5 __strspn_c3 F
+GLIBC_2.2.5 __strtod_internal F
+GLIBC_2.2.5 __strtod_l F
+GLIBC_2.2.5 __strtof_internal F
+GLIBC_2.2.5 __strtof_l F
+GLIBC_2.2.5 __strtok_r F
+GLIBC_2.2.5 __strtok_r_1c F
+GLIBC_2.2.5 __strtol_internal F
+GLIBC_2.2.5 __strtol_l F
+GLIBC_2.2.5 __strtold_internal F
+GLIBC_2.2.5 __strtold_l F
+GLIBC_2.2.5 __strtoll_internal F
+GLIBC_2.2.5 __strtoll_l F
+GLIBC_2.2.5 __strtoul_internal F
+GLIBC_2.2.5 __strtoul_l F
+GLIBC_2.2.5 __strtoull_internal F
+GLIBC_2.2.5 __strtoull_l F
+GLIBC_2.2.5 __strverscmp F
+GLIBC_2.2.5 __strxfrm_l F
+GLIBC_2.2.5 __sysconf F
+GLIBC_2.2.5 __sysctl F
+GLIBC_2.2.5 __sysv_signal F
+GLIBC_2.2.5 __timezone D 0x8
+GLIBC_2.2.5 __toascii_l F
+GLIBC_2.2.5 __tolower_l F
+GLIBC_2.2.5 __toupper_l F
+GLIBC_2.2.5 __towctrans F
+GLIBC_2.2.5 __towctrans_l F
+GLIBC_2.2.5 __towlower_l F
+GLIBC_2.2.5 __towupper_l F
+GLIBC_2.2.5 __tzname D 0x10
+GLIBC_2.2.5 __uflow F
+GLIBC_2.2.5 __underflow F
+GLIBC_2.2.5 __vfork F
+GLIBC_2.2.5 __vfscanf F
+GLIBC_2.2.5 __vsnprintf F
+GLIBC_2.2.5 __vsscanf F
+GLIBC_2.2.5 __wait F
+GLIBC_2.2.5 __waitpid F
+GLIBC_2.2.5 __wcscasecmp_l F
+GLIBC_2.2.5 __wcscoll_l F
+GLIBC_2.2.5 __wcsncasecmp_l F
+GLIBC_2.2.5 __wcstod_internal F
+GLIBC_2.2.5 __wcstod_l F
+GLIBC_2.2.5 __wcstof_internal F
+GLIBC_2.2.5 __wcstof_l F
+GLIBC_2.2.5 __wcstol_internal F
+GLIBC_2.2.5 __wcstol_l F
+GLIBC_2.2.5 __wcstold_internal F
+GLIBC_2.2.5 __wcstold_l F
+GLIBC_2.2.5 __wcstoll_internal F
+GLIBC_2.2.5 __wcstoll_l F
+GLIBC_2.2.5 __wcstoul_internal F
+GLIBC_2.2.5 __wcstoul_l F
+GLIBC_2.2.5 __wcstoull_internal F
+GLIBC_2.2.5 __wcstoull_l F
+GLIBC_2.2.5 __wcsxfrm_l F
+GLIBC_2.2.5 __wctrans_l F
+GLIBC_2.2.5 __wctype_l F
+GLIBC_2.2.5 __woverflow F
+GLIBC_2.2.5 __write F
+GLIBC_2.2.5 __wuflow F
+GLIBC_2.2.5 __wunderflow F
+GLIBC_2.2.5 __xmknod F
+GLIBC_2.2.5 __xpg_basename F
+GLIBC_2.2.5 __xpg_sigpause F
+GLIBC_2.2.5 __xstat F
+GLIBC_2.2.5 __xstat64 F
+GLIBC_2.2.5 _authenticate F
+GLIBC_2.2.5 _dl_mcount_wrapper F
+GLIBC_2.2.5 _dl_mcount_wrapper_check F
+GLIBC_2.2.5 _environ D 0x8
+GLIBC_2.2.5 _exit F
+GLIBC_2.2.5 _flushlbf F
+GLIBC_2.2.5 _libc_intl_domainname D 0x5
+GLIBC_2.2.5 _longjmp F
+GLIBC_2.2.5 _mcleanup F
+GLIBC_2.2.5 _mcount F
+GLIBC_2.2.5 _nl_default_dirname D 0x12
+GLIBC_2.2.5 _nl_domain_bindings D 0x8
+GLIBC_2.2.5 _nl_msg_cat_cntr D 0x4
+GLIBC_2.2.5 _null_auth D 0x18
+GLIBC_2.2.5 _obstack D 0x8
+GLIBC_2.2.5 _obstack_allocated_p F
+GLIBC_2.2.5 _obstack_begin F
+GLIBC_2.2.5 _obstack_begin_1 F
+GLIBC_2.2.5 _obstack_free F
+GLIBC_2.2.5 _obstack_memory_used F
+GLIBC_2.2.5 _obstack_newchunk F
+GLIBC_2.2.5 _res D 0x238
+GLIBC_2.2.5 _res_hconf D 0x48
+GLIBC_2.2.5 _rpc_dtablesize F
+GLIBC_2.2.5 _seterr_reply F
+GLIBC_2.2.5 _setjmp F
+GLIBC_2.2.5 _sys_errlist D 0x3e8
+GLIBC_2.2.5 _sys_nerr D 0x4
+GLIBC_2.2.5 _sys_siglist D 0x200
+GLIBC_2.2.5 _tolower F
+GLIBC_2.2.5 _toupper F
+GLIBC_2.2.5 a64l F
+GLIBC_2.2.5 abort F
+GLIBC_2.2.5 abs F
+GLIBC_2.2.5 accept F
+GLIBC_2.2.5 access F
+GLIBC_2.2.5 acct F
+GLIBC_2.2.5 addmntent F
+GLIBC_2.2.5 addseverity F
+GLIBC_2.2.5 adjtime F
+GLIBC_2.2.5 adjtimex F
+GLIBC_2.2.5 advance F
+GLIBC_2.2.5 alarm F
+GLIBC_2.2.5 alphasort F
+GLIBC_2.2.5 alphasort64 F
+GLIBC_2.2.5 arch_prctl F
+GLIBC_2.2.5 argp_err_exit_status D 0x4
+GLIBC_2.2.5 argp_error F
+GLIBC_2.2.5 argp_failure F
+GLIBC_2.2.5 argp_help F
+GLIBC_2.2.5 argp_parse F
+GLIBC_2.2.5 argp_program_bug_address D 0x8
+GLIBC_2.2.5 argp_program_version D 0x8
+GLIBC_2.2.5 argp_program_version_hook D 0x8
+GLIBC_2.2.5 argp_state_help F
+GLIBC_2.2.5 argp_usage F
+GLIBC_2.2.5 argz_add F
+GLIBC_2.2.5 argz_add_sep F
+GLIBC_2.2.5 argz_append F
+GLIBC_2.2.5 argz_count F
+GLIBC_2.2.5 argz_create F
+GLIBC_2.2.5 argz_create_sep F
+GLIBC_2.2.5 argz_delete F
+GLIBC_2.2.5 argz_extract F
+GLIBC_2.2.5 argz_insert F
+GLIBC_2.2.5 argz_next F
+GLIBC_2.2.5 argz_replace F
+GLIBC_2.2.5 argz_stringify F
+GLIBC_2.2.5 asctime F
+GLIBC_2.2.5 asctime_r F
+GLIBC_2.2.5 asprintf F
+GLIBC_2.2.5 atof F
+GLIBC_2.2.5 atoi F
+GLIBC_2.2.5 atol F
+GLIBC_2.2.5 atoll F
+GLIBC_2.2.5 authdes_create F
+GLIBC_2.2.5 authdes_getucred F
+GLIBC_2.2.5 authdes_pk_create F
+GLIBC_2.2.5 authnone_create F
+GLIBC_2.2.5 authunix_create F
+GLIBC_2.2.5 authunix_create_default F
+GLIBC_2.2.5 backtrace F
+GLIBC_2.2.5 backtrace_symbols F
+GLIBC_2.2.5 backtrace_symbols_fd F
+GLIBC_2.2.5 basename F
+GLIBC_2.2.5 bcmp F
+GLIBC_2.2.5 bcopy F
+GLIBC_2.2.5 bdflush F
+GLIBC_2.2.5 bind F
+GLIBC_2.2.5 bind_textdomain_codeset F
+GLIBC_2.2.5 bindresvport F
+GLIBC_2.2.5 bindtextdomain F
+GLIBC_2.2.5 brk F
+GLIBC_2.2.5 bsd_signal F
+GLIBC_2.2.5 bsearch F
+GLIBC_2.2.5 btowc F
+GLIBC_2.2.5 bzero F
+GLIBC_2.2.5 calloc F
+GLIBC_2.2.5 callrpc F
+GLIBC_2.2.5 canonicalize_file_name F
+GLIBC_2.2.5 capget F
+GLIBC_2.2.5 capset F
+GLIBC_2.2.5 catclose F
+GLIBC_2.2.5 catgets F
+GLIBC_2.2.5 catopen F
+GLIBC_2.2.5 cbc_crypt F
+GLIBC_2.2.5 cfgetispeed F
+GLIBC_2.2.5 cfgetospeed F
+GLIBC_2.2.5 cfmakeraw F
+GLIBC_2.2.5 cfree F
+GLIBC_2.2.5 cfsetispeed F
+GLIBC_2.2.5 cfsetospeed F
+GLIBC_2.2.5 cfsetspeed F
+GLIBC_2.2.5 chdir F
+GLIBC_2.2.5 chflags F
+GLIBC_2.2.5 chmod F
+GLIBC_2.2.5 chown F
+GLIBC_2.2.5 chroot F
+GLIBC_2.2.5 clearenv F
+GLIBC_2.2.5 clearerr F
+GLIBC_2.2.5 clearerr_unlocked F
+GLIBC_2.2.5 clnt_broadcast F
+GLIBC_2.2.5 clnt_create F
+GLIBC_2.2.5 clnt_pcreateerror F
+GLIBC_2.2.5 clnt_perrno F
+GLIBC_2.2.5 clnt_perror F
+GLIBC_2.2.5 clnt_spcreateerror F
+GLIBC_2.2.5 clnt_sperrno F
+GLIBC_2.2.5 clnt_sperror F
+GLIBC_2.2.5 clntraw_create F
+GLIBC_2.2.5 clnttcp_create F
+GLIBC_2.2.5 clntudp_bufcreate F
+GLIBC_2.2.5 clntudp_create F
+GLIBC_2.2.5 clntunix_create F
+GLIBC_2.2.5 clock F
+GLIBC_2.2.5 clone F
+GLIBC_2.2.5 close F
+GLIBC_2.2.5 closedir F
+GLIBC_2.2.5 closelog F
+GLIBC_2.2.5 confstr F
+GLIBC_2.2.5 connect F
+GLIBC_2.2.5 copysign F
+GLIBC_2.2.5 copysignf F
+GLIBC_2.2.5 copysignl F
+GLIBC_2.2.5 creat F
+GLIBC_2.2.5 creat64 F
+GLIBC_2.2.5 create_module F
+GLIBC_2.2.5 ctermid F
+GLIBC_2.2.5 ctime F
+GLIBC_2.2.5 ctime_r F
+GLIBC_2.2.5 cuserid F
+GLIBC_2.2.5 daemon F
+GLIBC_2.2.5 daylight D 0x4
+GLIBC_2.2.5 dcgettext F
+GLIBC_2.2.5 dcngettext F
+GLIBC_2.2.5 delete_module F
+GLIBC_2.2.5 des_setparity F
+GLIBC_2.2.5 dgettext F
+GLIBC_2.2.5 difftime F
+GLIBC_2.2.5 dirfd F
+GLIBC_2.2.5 dirname F
+GLIBC_2.2.5 div F
+GLIBC_2.2.5 dl_iterate_phdr F
+GLIBC_2.2.5 dngettext F
+GLIBC_2.2.5 dprintf F
+GLIBC_2.2.5 drand48 F
+GLIBC_2.2.5 drand48_r F
+GLIBC_2.2.5 dup F
+GLIBC_2.2.5 dup2 F
+GLIBC_2.2.5 dysize F
+GLIBC_2.2.5 ecb_crypt F
+GLIBC_2.2.5 ecvt F
+GLIBC_2.2.5 ecvt_r F
+GLIBC_2.2.5 endaliasent F
+GLIBC_2.2.5 endfsent F
+GLIBC_2.2.5 endgrent F
+GLIBC_2.2.5 endhostent F
+GLIBC_2.2.5 endmntent F
+GLIBC_2.2.5 endnetent F
+GLIBC_2.2.5 endnetgrent F
+GLIBC_2.2.5 endprotoent F
+GLIBC_2.2.5 endpwent F
+GLIBC_2.2.5 endrpcent F
+GLIBC_2.2.5 endservent F
+GLIBC_2.2.5 endspent F
+GLIBC_2.2.5 endttyent F
+GLIBC_2.2.5 endusershell F
+GLIBC_2.2.5 endutent F
+GLIBC_2.2.5 endutxent F
+GLIBC_2.2.5 environ D 0x8
+GLIBC_2.2.5 envz_add F
+GLIBC_2.2.5 envz_entry F
+GLIBC_2.2.5 envz_get F
+GLIBC_2.2.5 envz_merge F
+GLIBC_2.2.5 envz_remove F
+GLIBC_2.2.5 envz_strip F
+GLIBC_2.2.5 erand48 F
+GLIBC_2.2.5 erand48_r F
+GLIBC_2.2.5 err F
+GLIBC_2.2.5 error F
+GLIBC_2.2.5 error_at_line F
+GLIBC_2.2.5 error_message_count D 0x4
+GLIBC_2.2.5 error_one_per_line D 0x4
+GLIBC_2.2.5 error_print_progname D 0x8
+GLIBC_2.2.5 errx F
+GLIBC_2.2.5 ether_aton F
+GLIBC_2.2.5 ether_aton_r F
+GLIBC_2.2.5 ether_hostton F
+GLIBC_2.2.5 ether_line F
+GLIBC_2.2.5 ether_ntoa F
+GLIBC_2.2.5 ether_ntoa_r F
+GLIBC_2.2.5 ether_ntohost F
+GLIBC_2.2.5 euidaccess F
+GLIBC_2.2.5 execl F
+GLIBC_2.2.5 execle F
+GLIBC_2.2.5 execlp F
+GLIBC_2.2.5 execv F
+GLIBC_2.2.5 execve F
+GLIBC_2.2.5 execvp F
+GLIBC_2.2.5 exit F
+GLIBC_2.2.5 fattach F
+GLIBC_2.2.5 fchdir F
+GLIBC_2.2.5 fchflags F
+GLIBC_2.2.5 fchmod F
+GLIBC_2.2.5 fchown F
+GLIBC_2.2.5 fclose F
+GLIBC_2.2.5 fcloseall F
+GLIBC_2.2.5 fcntl F
+GLIBC_2.2.5 fcvt F
+GLIBC_2.2.5 fcvt_r F
+GLIBC_2.2.5 fdatasync F
+GLIBC_2.2.5 fdetach F
+GLIBC_2.2.5 fdopen F
+GLIBC_2.2.5 feof F
+GLIBC_2.2.5 feof_unlocked F
+GLIBC_2.2.5 ferror F
+GLIBC_2.2.5 ferror_unlocked F
+GLIBC_2.2.5 fexecve F
+GLIBC_2.2.5 fflush F
+GLIBC_2.2.5 fflush_unlocked F
+GLIBC_2.2.5 ffs F
+GLIBC_2.2.5 ffsl F
+GLIBC_2.2.5 ffsll F
+GLIBC_2.2.5 fgetc F
+GLIBC_2.2.5 fgetc_unlocked F
+GLIBC_2.2.5 fgetgrent F
+GLIBC_2.2.5 fgetgrent_r F
+GLIBC_2.2.5 fgetpos F
+GLIBC_2.2.5 fgetpos64 F
+GLIBC_2.2.5 fgetpwent F
+GLIBC_2.2.5 fgetpwent_r F
+GLIBC_2.2.5 fgets F
+GLIBC_2.2.5 fgets_unlocked F
+GLIBC_2.2.5 fgetspent F
+GLIBC_2.2.5 fgetspent_r F
+GLIBC_2.2.5 fgetwc F
+GLIBC_2.2.5 fgetwc_unlocked F
+GLIBC_2.2.5 fgetws F
+GLIBC_2.2.5 fgetws_unlocked F
+GLIBC_2.2.5 fileno F
+GLIBC_2.2.5 fileno_unlocked F
+GLIBC_2.2.5 finite F
+GLIBC_2.2.5 finitef F
+GLIBC_2.2.5 finitel F
+GLIBC_2.2.5 flock F
+GLIBC_2.2.5 flockfile F
+GLIBC_2.2.5 fmemopen F
+GLIBC_2.2.5 fmtmsg F
+GLIBC_2.2.5 fnmatch F
+GLIBC_2.2.5 fopen F
+GLIBC_2.2.5 fopen64 F
+GLIBC_2.2.5 fopencookie F
+GLIBC_2.2.5 fork F
+GLIBC_2.2.5 fpathconf F
+GLIBC_2.2.5 fprintf F
+GLIBC_2.2.5 fputc F
+GLIBC_2.2.5 fputc_unlocked F
+GLIBC_2.2.5 fputs F
+GLIBC_2.2.5 fputs_unlocked F
+GLIBC_2.2.5 fputwc F
+GLIBC_2.2.5 fputwc_unlocked F
+GLIBC_2.2.5 fputws F
+GLIBC_2.2.5 fputws_unlocked F
+GLIBC_2.2.5 fread F
+GLIBC_2.2.5 fread_unlocked F
+GLIBC_2.2.5 free F
+GLIBC_2.2.5 freeaddrinfo F
+GLIBC_2.2.5 freopen F
+GLIBC_2.2.5 freopen64 F
+GLIBC_2.2.5 frexp F
+GLIBC_2.2.5 frexpf F
+GLIBC_2.2.5 frexpl F
+GLIBC_2.2.5 fscanf F
+GLIBC_2.2.5 fseek F
+GLIBC_2.2.5 fseeko F
+GLIBC_2.2.5 fseeko64 F
+GLIBC_2.2.5 fsetpos F
+GLIBC_2.2.5 fsetpos64 F
+GLIBC_2.2.5 fstatfs F
+GLIBC_2.2.5 fstatfs64 F
+GLIBC_2.2.5 fstatvfs F
+GLIBC_2.2.5 fstatvfs64 F
+GLIBC_2.2.5 fsync F
+GLIBC_2.2.5 ftell F
+GLIBC_2.2.5 ftello F
+GLIBC_2.2.5 ftello64 F
+GLIBC_2.2.5 ftime F
+GLIBC_2.2.5 ftok F
+GLIBC_2.2.5 ftruncate F
+GLIBC_2.2.5 ftruncate64 F
+GLIBC_2.2.5 ftrylockfile F
+GLIBC_2.2.5 fts_children F
+GLIBC_2.2.5 fts_close F
+GLIBC_2.2.5 fts_open F
+GLIBC_2.2.5 fts_read F
+GLIBC_2.2.5 fts_set F
+GLIBC_2.2.5 ftw F
+GLIBC_2.2.5 ftw64 F
+GLIBC_2.2.5 funlockfile F
+GLIBC_2.2.5 fwide F
+GLIBC_2.2.5 fwprintf F
+GLIBC_2.2.5 fwrite F
+GLIBC_2.2.5 fwrite_unlocked F
+GLIBC_2.2.5 fwscanf F
+GLIBC_2.2.5 gai_strerror F
+GLIBC_2.2.5 gcvt F
+GLIBC_2.2.5 get_avphys_pages F
+GLIBC_2.2.5 get_current_dir_name F
+GLIBC_2.2.5 get_kernel_syms F
+GLIBC_2.2.5 get_myaddress F
+GLIBC_2.2.5 get_nprocs F
+GLIBC_2.2.5 get_nprocs_conf F
+GLIBC_2.2.5 get_phys_pages F
+GLIBC_2.2.5 getaddrinfo F
+GLIBC_2.2.5 getaliasbyname F
+GLIBC_2.2.5 getaliasbyname_r F
+GLIBC_2.2.5 getaliasent F
+GLIBC_2.2.5 getaliasent_r F
+GLIBC_2.2.5 getc F
+GLIBC_2.2.5 getc_unlocked F
+GLIBC_2.2.5 getchar F
+GLIBC_2.2.5 getchar_unlocked F
+GLIBC_2.2.5 getcontext F
+GLIBC_2.2.5 getcwd F
+GLIBC_2.2.5 getdate F
+GLIBC_2.2.5 getdate_err D 0x4
+GLIBC_2.2.5 getdate_r F
+GLIBC_2.2.5 getdelim F
+GLIBC_2.2.5 getdirentries F
+GLIBC_2.2.5 getdirentries64 F
+GLIBC_2.2.5 getdomainname F
+GLIBC_2.2.5 getdtablesize F
+GLIBC_2.2.5 getegid F
+GLIBC_2.2.5 getenv F
+GLIBC_2.2.5 geteuid F
+GLIBC_2.2.5 getfsent F
+GLIBC_2.2.5 getfsfile F
+GLIBC_2.2.5 getfsspec F
+GLIBC_2.2.5 getgid F
+GLIBC_2.2.5 getgrent F
+GLIBC_2.2.5 getgrent_r F
+GLIBC_2.2.5 getgrgid F
+GLIBC_2.2.5 getgrgid_r F
+GLIBC_2.2.5 getgrnam F
+GLIBC_2.2.5 getgrnam_r F
+GLIBC_2.2.5 getgrouplist F
+GLIBC_2.2.5 getgroups F
+GLIBC_2.2.5 gethostbyaddr F
+GLIBC_2.2.5 gethostbyaddr_r F
+GLIBC_2.2.5 gethostbyname F
+GLIBC_2.2.5 gethostbyname2 F
+GLIBC_2.2.5 gethostbyname2_r F
+GLIBC_2.2.5 gethostbyname_r F
+GLIBC_2.2.5 gethostent F
+GLIBC_2.2.5 gethostent_r F
+GLIBC_2.2.5 gethostid F
+GLIBC_2.2.5 gethostname F
+GLIBC_2.2.5 getitimer F
+GLIBC_2.2.5 getline F
+GLIBC_2.2.5 getloadavg F
+GLIBC_2.2.5 getlogin F
+GLIBC_2.2.5 getlogin_r F
+GLIBC_2.2.5 getmntent F
+GLIBC_2.2.5 getmntent_r F
+GLIBC_2.2.5 getmsg F
+GLIBC_2.2.5 getnameinfo F
+GLIBC_2.2.5 getnetbyaddr F
+GLIBC_2.2.5 getnetbyaddr_r F
+GLIBC_2.2.5 getnetbyname F
+GLIBC_2.2.5 getnetbyname_r F
+GLIBC_2.2.5 getnetent F
+GLIBC_2.2.5 getnetent_r F
+GLIBC_2.2.5 getnetgrent F
+GLIBC_2.2.5 getnetgrent_r F
+GLIBC_2.2.5 getnetname F
+GLIBC_2.2.5 getopt F
+GLIBC_2.2.5 getopt_long F
+GLIBC_2.2.5 getopt_long_only F
+GLIBC_2.2.5 getpagesize F
+GLIBC_2.2.5 getpass F
+GLIBC_2.2.5 getpeername F
+GLIBC_2.2.5 getpgid F
+GLIBC_2.2.5 getpgrp F
+GLIBC_2.2.5 getpid F
+GLIBC_2.2.5 getpmsg F
+GLIBC_2.2.5 getppid F
+GLIBC_2.2.5 getpriority F
+GLIBC_2.2.5 getprotobyname F
+GLIBC_2.2.5 getprotobyname_r F
+GLIBC_2.2.5 getprotobynumber F
+GLIBC_2.2.5 getprotobynumber_r F
+GLIBC_2.2.5 getprotoent F
+GLIBC_2.2.5 getprotoent_r F
+GLIBC_2.2.5 getpt F
+GLIBC_2.2.5 getpublickey F
+GLIBC_2.2.5 getpw F
+GLIBC_2.2.5 getpwent F
+GLIBC_2.2.5 getpwent_r F
+GLIBC_2.2.5 getpwnam F
+GLIBC_2.2.5 getpwnam_r F
+GLIBC_2.2.5 getpwuid F
+GLIBC_2.2.5 getpwuid_r F
+GLIBC_2.2.5 getresgid F
+GLIBC_2.2.5 getresuid F
+GLIBC_2.2.5 getrlimit F
+GLIBC_2.2.5 getrlimit64 F
+GLIBC_2.2.5 getrpcbyname F
+GLIBC_2.2.5 getrpcbyname_r F
+GLIBC_2.2.5 getrpcbynumber F
+GLIBC_2.2.5 getrpcbynumber_r F
+GLIBC_2.2.5 getrpcent F
+GLIBC_2.2.5 getrpcent_r F
+GLIBC_2.2.5 getrpcport F
+GLIBC_2.2.5 getrusage F
+GLIBC_2.2.5 gets F
+GLIBC_2.2.5 getsecretkey F
+GLIBC_2.2.5 getservbyname F
+GLIBC_2.2.5 getservbyname_r F
+GLIBC_2.2.5 getservbyport F
+GLIBC_2.2.5 getservbyport_r F
+GLIBC_2.2.5 getservent F
+GLIBC_2.2.5 getservent_r F
+GLIBC_2.2.5 getsid F
+GLIBC_2.2.5 getsockname F
+GLIBC_2.2.5 getsockopt F
+GLIBC_2.2.5 getspent F
+GLIBC_2.2.5 getspent_r F
+GLIBC_2.2.5 getspnam F
+GLIBC_2.2.5 getspnam_r F
+GLIBC_2.2.5 getsubopt F
+GLIBC_2.2.5 gettext F
+GLIBC_2.2.5 gettimeofday F
+GLIBC_2.2.5 getttyent F
+GLIBC_2.2.5 getttynam F
+GLIBC_2.2.5 getuid F
+GLIBC_2.2.5 getusershell F
+GLIBC_2.2.5 getutent F
+GLIBC_2.2.5 getutent_r F
+GLIBC_2.2.5 getutid F
+GLIBC_2.2.5 getutid_r F
+GLIBC_2.2.5 getutline F
+GLIBC_2.2.5 getutline_r F
+GLIBC_2.2.5 getutmp F
+GLIBC_2.2.5 getutmpx F
+GLIBC_2.2.5 getutxent F
+GLIBC_2.2.5 getutxid F
+GLIBC_2.2.5 getutxline F
+GLIBC_2.2.5 getw F
+GLIBC_2.2.5 getwc F
+GLIBC_2.2.5 getwc_unlocked F
+GLIBC_2.2.5 getwchar F
+GLIBC_2.2.5 getwchar_unlocked F
+GLIBC_2.2.5 getwd F
+GLIBC_2.2.5 glob F
+GLIBC_2.2.5 glob64 F
+GLIBC_2.2.5 glob_pattern_p F
+GLIBC_2.2.5 globfree F
+GLIBC_2.2.5 globfree64 F
+GLIBC_2.2.5 gmtime F
+GLIBC_2.2.5 gmtime_r F
+GLIBC_2.2.5 gnu_get_libc_release F
+GLIBC_2.2.5 gnu_get_libc_version F
+GLIBC_2.2.5 grantpt F
+GLIBC_2.2.5 group_member F
+GLIBC_2.2.5 gsignal F
+GLIBC_2.2.5 gtty F
+GLIBC_2.2.5 h_errlist D 0x28
+GLIBC_2.2.5 h_nerr D 0x4
+GLIBC_2.2.5 hasmntopt F
+GLIBC_2.2.5 hcreate F
+GLIBC_2.2.5 hcreate_r F
+GLIBC_2.2.5 hdestroy F
+GLIBC_2.2.5 hdestroy_r F
+GLIBC_2.2.5 herror F
+GLIBC_2.2.5 host2netname F
+GLIBC_2.2.5 hsearch F
+GLIBC_2.2.5 hsearch_r F
+GLIBC_2.2.5 hstrerror F
+GLIBC_2.2.5 htonl F
+GLIBC_2.2.5 htons F
+GLIBC_2.2.5 iconv F
+GLIBC_2.2.5 iconv_close F
+GLIBC_2.2.5 iconv_open F
+GLIBC_2.2.5 if_freenameindex F
+GLIBC_2.2.5 if_indextoname F
+GLIBC_2.2.5 if_nameindex F
+GLIBC_2.2.5 if_nametoindex F
+GLIBC_2.2.5 imaxabs F
+GLIBC_2.2.5 imaxdiv F
+GLIBC_2.2.5 in6addr_any D 0x10
+GLIBC_2.2.5 in6addr_loopback D 0x10
+GLIBC_2.2.5 index F
+GLIBC_2.2.5 inet_addr F
+GLIBC_2.2.5 inet_aton F
+GLIBC_2.2.5 inet_lnaof F
+GLIBC_2.2.5 inet_makeaddr F
+GLIBC_2.2.5 inet_netof F
+GLIBC_2.2.5 inet_network F
+GLIBC_2.2.5 inet_nsap_addr F
+GLIBC_2.2.5 inet_nsap_ntoa F
+GLIBC_2.2.5 inet_ntoa F
+GLIBC_2.2.5 inet_ntop F
+GLIBC_2.2.5 inet_pton F
+GLIBC_2.2.5 init_module F
+GLIBC_2.2.5 initgroups F
+GLIBC_2.2.5 initstate F
+GLIBC_2.2.5 initstate_r F
+GLIBC_2.2.5 innetgr F
+GLIBC_2.2.5 insque F
+GLIBC_2.2.5 ioctl F
+GLIBC_2.2.5 ioperm F
+GLIBC_2.2.5 iopl F
+GLIBC_2.2.5 iruserok F
+GLIBC_2.2.5 iruserok_af F
+GLIBC_2.2.5 isalnum F
+GLIBC_2.2.5 isalpha F
+GLIBC_2.2.5 isascii F
+GLIBC_2.2.5 isastream F
+GLIBC_2.2.5 isatty F
+GLIBC_2.2.5 isblank F
+GLIBC_2.2.5 iscntrl F
+GLIBC_2.2.5 isdigit F
+GLIBC_2.2.5 isfdtype F
+GLIBC_2.2.5 isgraph F
+GLIBC_2.2.5 isinf F
+GLIBC_2.2.5 isinff F
+GLIBC_2.2.5 isinfl F
+GLIBC_2.2.5 islower F
+GLIBC_2.2.5 isnan F
+GLIBC_2.2.5 isnanf F
+GLIBC_2.2.5 isnanl F
+GLIBC_2.2.5 isprint F
+GLIBC_2.2.5 ispunct F
+GLIBC_2.2.5 isspace F
+GLIBC_2.2.5 isupper F
+GLIBC_2.2.5 iswalnum F
+GLIBC_2.2.5 iswalpha F
+GLIBC_2.2.5 iswblank F
+GLIBC_2.2.5 iswcntrl F
+GLIBC_2.2.5 iswctype F
+GLIBC_2.2.5 iswdigit F
+GLIBC_2.2.5 iswgraph F
+GLIBC_2.2.5 iswlower F
+GLIBC_2.2.5 iswprint F
+GLIBC_2.2.5 iswpunct F
+GLIBC_2.2.5 iswspace F
+GLIBC_2.2.5 iswupper F
+GLIBC_2.2.5 iswxdigit F
+GLIBC_2.2.5 isxdigit F
+GLIBC_2.2.5 jrand48 F
+GLIBC_2.2.5 jrand48_r F
+GLIBC_2.2.5 key_decryptsession F
+GLIBC_2.2.5 key_decryptsession_pk F
+GLIBC_2.2.5 key_encryptsession F
+GLIBC_2.2.5 key_encryptsession_pk F
+GLIBC_2.2.5 key_gendes F
+GLIBC_2.2.5 key_get_conv F
+GLIBC_2.2.5 key_secretkey_is_set F
+GLIBC_2.2.5 key_setnet F
+GLIBC_2.2.5 key_setsecret F
+GLIBC_2.2.5 kill F
+GLIBC_2.2.5 killpg F
+GLIBC_2.2.5 klogctl F
+GLIBC_2.2.5 l64a F
+GLIBC_2.2.5 labs F
+GLIBC_2.2.5 lchown F
+GLIBC_2.2.5 lckpwdf F
+GLIBC_2.2.5 lcong48 F
+GLIBC_2.2.5 lcong48_r F
+GLIBC_2.2.5 ldexp F
+GLIBC_2.2.5 ldexpf F
+GLIBC_2.2.5 ldexpl F
+GLIBC_2.2.5 ldiv F
+GLIBC_2.2.5 lfind F
+GLIBC_2.2.5 link F
+GLIBC_2.2.5 listen F
+GLIBC_2.2.5 llabs F
+GLIBC_2.2.5 lldiv F
+GLIBC_2.2.5 llseek F
+GLIBC_2.2.5 loc1 D 0x8
+GLIBC_2.2.5 loc2 D 0x8
+GLIBC_2.2.5 localeconv F
+GLIBC_2.2.5 localtime F
+GLIBC_2.2.5 localtime_r F
+GLIBC_2.2.5 lockf F
+GLIBC_2.2.5 lockf64 F
+GLIBC_2.2.5 locs D 0x8
+GLIBC_2.2.5 longjmp F
+GLIBC_2.2.5 lrand48 F
+GLIBC_2.2.5 lrand48_r F
+GLIBC_2.2.5 lsearch F
+GLIBC_2.2.5 lseek F
+GLIBC_2.2.5 lseek64 F
+GLIBC_2.2.5 madvise F
+GLIBC_2.2.5 makecontext F
+GLIBC_2.2.5 mallinfo F
+GLIBC_2.2.5 malloc F
+GLIBC_2.2.5 malloc_get_state F
+GLIBC_2.2.5 malloc_set_state F
+GLIBC_2.2.5 malloc_stats F
+GLIBC_2.2.5 malloc_trim F
+GLIBC_2.2.5 malloc_usable_size F
+GLIBC_2.2.5 mallopt F
+GLIBC_2.2.5 mallwatch D 0x8
+GLIBC_2.2.5 mblen F
+GLIBC_2.2.5 mbrlen F
+GLIBC_2.2.5 mbrtowc F
+GLIBC_2.2.5 mbsinit F
+GLIBC_2.2.5 mbsnrtowcs F
+GLIBC_2.2.5 mbsrtowcs F
+GLIBC_2.2.5 mbstowcs F
+GLIBC_2.2.5 mbtowc F
+GLIBC_2.2.5 mcheck F
+GLIBC_2.2.5 mcheck_check_all F
+GLIBC_2.2.5 mcheck_pedantic F
+GLIBC_2.2.5 mcount F
+GLIBC_2.2.5 memalign F
+GLIBC_2.2.5 memccpy F
+GLIBC_2.2.5 memchr F
+GLIBC_2.2.5 memcmp F
+GLIBC_2.2.5 memcpy F
+GLIBC_2.2.5 memfrob F
+GLIBC_2.2.5 memmem F
+GLIBC_2.2.5 memmove F
+GLIBC_2.2.5 mempcpy F
+GLIBC_2.2.5 memrchr F
+GLIBC_2.2.5 memset F
+GLIBC_2.2.5 mincore F
+GLIBC_2.2.5 mkdir F
+GLIBC_2.2.5 mkdtemp F
+GLIBC_2.2.5 mkfifo F
+GLIBC_2.2.5 mkstemp F
+GLIBC_2.2.5 mkstemp64 F
+GLIBC_2.2.5 mktemp F
+GLIBC_2.2.5 mktime F
+GLIBC_2.2.5 mlock F
+GLIBC_2.2.5 mlockall F
+GLIBC_2.2.5 mmap F
+GLIBC_2.2.5 mmap64 F
+GLIBC_2.2.5 modf F
+GLIBC_2.2.5 modff F
+GLIBC_2.2.5 modfl F
+GLIBC_2.2.5 modify_ldt F
+GLIBC_2.2.5 moncontrol F
+GLIBC_2.2.5 monstartup F
+GLIBC_2.2.5 mount F
+GLIBC_2.2.5 mprobe F
+GLIBC_2.2.5 mprotect F
+GLIBC_2.2.5 mrand48 F
+GLIBC_2.2.5 mrand48_r F
+GLIBC_2.2.5 mremap F
+GLIBC_2.2.5 msgctl F
+GLIBC_2.2.5 msgget F
+GLIBC_2.2.5 msgrcv F
+GLIBC_2.2.5 msgsnd F
+GLIBC_2.2.5 msync F
+GLIBC_2.2.5 mtrace F
+GLIBC_2.2.5 munlock F
+GLIBC_2.2.5 munlockall F
+GLIBC_2.2.5 munmap F
+GLIBC_2.2.5 muntrace F
+GLIBC_2.2.5 nanosleep F
+GLIBC_2.2.5 netname2host F
+GLIBC_2.2.5 netname2user F
+GLIBC_2.2.5 nfsservctl F
+GLIBC_2.2.5 nftw F
+GLIBC_2.2.5 nftw64 F
+GLIBC_2.2.5 ngettext F
+GLIBC_2.2.5 nice F
+GLIBC_2.2.5 nl_langinfo F
+GLIBC_2.2.5 nrand48 F
+GLIBC_2.2.5 nrand48_r F
+GLIBC_2.2.5 ntohl F
+GLIBC_2.2.5 ntohs F
+GLIBC_2.2.5 ntp_adjtime F
+GLIBC_2.2.5 ntp_gettime F
+GLIBC_2.2.5 obstack_alloc_failed_handler D 0x8
+GLIBC_2.2.5 obstack_exit_failure D 0x4
+GLIBC_2.2.5 obstack_free F
+GLIBC_2.2.5 obstack_printf F
+GLIBC_2.2.5 obstack_vprintf F
+GLIBC_2.2.5 on_exit F
+GLIBC_2.2.5 open F
+GLIBC_2.2.5 open64 F
+GLIBC_2.2.5 open_memstream F
+GLIBC_2.2.5 opendir F
+GLIBC_2.2.5 openlog F
+GLIBC_2.2.5 optarg D 0x8
+GLIBC_2.2.5 opterr D 0x4
+GLIBC_2.2.5 optind D 0x4
+GLIBC_2.2.5 optopt D 0x4
+GLIBC_2.2.5 parse_printf_format F
+GLIBC_2.2.5 passwd2des F
+GLIBC_2.2.5 pathconf F
+GLIBC_2.2.5 pause F
+GLIBC_2.2.5 pclose F
+GLIBC_2.2.5 perror F
+GLIBC_2.2.5 personality F
+GLIBC_2.2.5 pipe F
+GLIBC_2.2.5 pivot_root F
+GLIBC_2.2.5 pmap_getmaps F
+GLIBC_2.2.5 pmap_getport F
+GLIBC_2.2.5 pmap_rmtcall F
+GLIBC_2.2.5 pmap_set F
+GLIBC_2.2.5 pmap_unset F
+GLIBC_2.2.5 poll F
+GLIBC_2.2.5 popen F
+GLIBC_2.2.5 posix_fadvise F
+GLIBC_2.2.5 posix_fadvise64 F
+GLIBC_2.2.5 posix_fallocate F
+GLIBC_2.2.5 posix_fallocate64 F
+GLIBC_2.2.5 posix_madvise F
+GLIBC_2.2.5 posix_memalign F
+GLIBC_2.2.5 posix_openpt F
+GLIBC_2.2.5 posix_spawn F
+GLIBC_2.2.5 posix_spawn_file_actions_addclose F
+GLIBC_2.2.5 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2.5 posix_spawn_file_actions_addopen F
+GLIBC_2.2.5 posix_spawn_file_actions_destroy F
+GLIBC_2.2.5 posix_spawn_file_actions_init F
+GLIBC_2.2.5 posix_spawnattr_destroy F
+GLIBC_2.2.5 posix_spawnattr_getflags F
+GLIBC_2.2.5 posix_spawnattr_getpgroup F
+GLIBC_2.2.5 posix_spawnattr_getschedparam F
+GLIBC_2.2.5 posix_spawnattr_getschedpolicy F
+GLIBC_2.2.5 posix_spawnattr_getsigdefault F
+GLIBC_2.2.5 posix_spawnattr_getsigmask F
+GLIBC_2.2.5 posix_spawnattr_init F
+GLIBC_2.2.5 posix_spawnattr_setflags F
+GLIBC_2.2.5 posix_spawnattr_setpgroup F
+GLIBC_2.2.5 posix_spawnattr_setschedparam F
+GLIBC_2.2.5 posix_spawnattr_setschedpolicy F
+GLIBC_2.2.5 posix_spawnattr_setsigdefault F
+GLIBC_2.2.5 posix_spawnattr_setsigmask F
+GLIBC_2.2.5 posix_spawnp F
+GLIBC_2.2.5 prctl F
+GLIBC_2.2.5 pread F
+GLIBC_2.2.5 pread64 F
+GLIBC_2.2.5 printf F
+GLIBC_2.2.5 printf_size F
+GLIBC_2.2.5 printf_size_info F
+GLIBC_2.2.5 profil F
+GLIBC_2.2.5 program_invocation_name D 0x8
+GLIBC_2.2.5 program_invocation_short_name D 0x8
+GLIBC_2.2.5 pselect F
+GLIBC_2.2.5 psignal F
+GLIBC_2.2.5 pthread_attr_destroy F
+GLIBC_2.2.5 pthread_attr_getdetachstate F
+GLIBC_2.2.5 pthread_attr_getinheritsched F
+GLIBC_2.2.5 pthread_attr_getschedparam F
+GLIBC_2.2.5 pthread_attr_getschedpolicy F
+GLIBC_2.2.5 pthread_attr_getscope F
+GLIBC_2.2.5 pthread_attr_init F
+GLIBC_2.2.5 pthread_attr_setdetachstate F
+GLIBC_2.2.5 pthread_attr_setinheritsched F
+GLIBC_2.2.5 pthread_attr_setschedparam F
+GLIBC_2.2.5 pthread_attr_setschedpolicy F
+GLIBC_2.2.5 pthread_attr_setscope F
+GLIBC_2.2.5 pthread_cond_broadcast F
+GLIBC_2.2.5 pthread_cond_destroy F
+GLIBC_2.2.5 pthread_cond_init F
+GLIBC_2.2.5 pthread_cond_signal F
+GLIBC_2.2.5 pthread_cond_timedwait F
+GLIBC_2.2.5 pthread_cond_wait F
+GLIBC_2.2.5 pthread_condattr_destroy F
+GLIBC_2.2.5 pthread_condattr_init F
+GLIBC_2.2.5 pthread_equal F
+GLIBC_2.2.5 pthread_exit F
+GLIBC_2.2.5 pthread_getschedparam F
+GLIBC_2.2.5 pthread_mutex_destroy F
+GLIBC_2.2.5 pthread_mutex_init F
+GLIBC_2.2.5 pthread_mutex_lock F
+GLIBC_2.2.5 pthread_mutex_unlock F
+GLIBC_2.2.5 pthread_self F
+GLIBC_2.2.5 pthread_setcancelstate F
+GLIBC_2.2.5 pthread_setcanceltype F
+GLIBC_2.2.5 pthread_setschedparam F
+GLIBC_2.2.5 ptrace F
+GLIBC_2.2.5 ptsname F
+GLIBC_2.2.5 ptsname_r F
+GLIBC_2.2.5 putc F
+GLIBC_2.2.5 putc_unlocked F
+GLIBC_2.2.5 putchar F
+GLIBC_2.2.5 putchar_unlocked F
+GLIBC_2.2.5 putenv F
+GLIBC_2.2.5 putgrent F
+GLIBC_2.2.5 putmsg F
+GLIBC_2.2.5 putpmsg F
+GLIBC_2.2.5 putpwent F
+GLIBC_2.2.5 puts F
+GLIBC_2.2.5 putspent F
+GLIBC_2.2.5 pututline F
+GLIBC_2.2.5 pututxline F
+GLIBC_2.2.5 putw F
+GLIBC_2.2.5 putwc F
+GLIBC_2.2.5 putwc_unlocked F
+GLIBC_2.2.5 putwchar F
+GLIBC_2.2.5 putwchar_unlocked F
+GLIBC_2.2.5 pvalloc F
+GLIBC_2.2.5 pwrite F
+GLIBC_2.2.5 pwrite64 F
+GLIBC_2.2.5 qecvt F
+GLIBC_2.2.5 qecvt_r F
+GLIBC_2.2.5 qfcvt F
+GLIBC_2.2.5 qfcvt_r F
+GLIBC_2.2.5 qgcvt F
+GLIBC_2.2.5 qsort F
+GLIBC_2.2.5 query_module F
+GLIBC_2.2.5 quotactl F
+GLIBC_2.2.5 raise F
+GLIBC_2.2.5 rand F
+GLIBC_2.2.5 rand_r F
+GLIBC_2.2.5 random F
+GLIBC_2.2.5 random_r F
+GLIBC_2.2.5 rawmemchr F
+GLIBC_2.2.5 rcmd F
+GLIBC_2.2.5 rcmd_af F
+GLIBC_2.2.5 re_comp F
+GLIBC_2.2.5 re_compile_fastmap F
+GLIBC_2.2.5 re_compile_pattern F
+GLIBC_2.2.5 re_exec F
+GLIBC_2.2.5 re_match F
+GLIBC_2.2.5 re_match_2 F
+GLIBC_2.2.5 re_max_failures D 0x4
+GLIBC_2.2.5 re_search F
+GLIBC_2.2.5 re_search_2 F
+GLIBC_2.2.5 re_set_registers F
+GLIBC_2.2.5 re_set_syntax F
+GLIBC_2.2.5 re_syntax_options D 0x8
+GLIBC_2.2.5 read F
+GLIBC_2.2.5 readdir F
+GLIBC_2.2.5 readdir64 F
+GLIBC_2.2.5 readdir64_r F
+GLIBC_2.2.5 readdir_r F
+GLIBC_2.2.5 readlink F
+GLIBC_2.2.5 readv F
+GLIBC_2.2.5 realloc F
+GLIBC_2.2.5 realpath F
+GLIBC_2.2.5 reboot F
+GLIBC_2.2.5 recv F
+GLIBC_2.2.5 recvfrom F
+GLIBC_2.2.5 recvmsg F
+GLIBC_2.2.5 regcomp F
+GLIBC_2.2.5 regerror F
+GLIBC_2.2.5 regexec F
+GLIBC_2.2.5 regfree F
+GLIBC_2.2.5 register_printf_function F
+GLIBC_2.2.5 registerrpc F
+GLIBC_2.2.5 remove F
+GLIBC_2.2.5 remque F
+GLIBC_2.2.5 rename F
+GLIBC_2.2.5 revoke F
+GLIBC_2.2.5 rewind F
+GLIBC_2.2.5 rewinddir F
+GLIBC_2.2.5 rexec F
+GLIBC_2.2.5 rexec_af F
+GLIBC_2.2.5 rexecoptions D 0x4
+GLIBC_2.2.5 rindex F
+GLIBC_2.2.5 rmdir F
+GLIBC_2.2.5 rpc_createerr D 0x20
+GLIBC_2.2.5 rpmatch F
+GLIBC_2.2.5 rresvport F
+GLIBC_2.2.5 rresvport_af F
+GLIBC_2.2.5 rtime F
+GLIBC_2.2.5 ruserok F
+GLIBC_2.2.5 ruserok_af F
+GLIBC_2.2.5 ruserpass F
+GLIBC_2.2.5 sbrk F
+GLIBC_2.2.5 scalbn F
+GLIBC_2.2.5 scalbnf F
+GLIBC_2.2.5 scalbnl F
+GLIBC_2.2.5 scandir F
+GLIBC_2.2.5 scandir64 F
+GLIBC_2.2.5 scanf F
+GLIBC_2.2.5 sched_get_priority_max F
+GLIBC_2.2.5 sched_get_priority_min F
+GLIBC_2.2.5 sched_getparam F
+GLIBC_2.2.5 sched_getscheduler F
+GLIBC_2.2.5 sched_rr_get_interval F
+GLIBC_2.2.5 sched_setparam F
+GLIBC_2.2.5 sched_setscheduler F
+GLIBC_2.2.5 sched_yield F
+GLIBC_2.2.5 seed48 F
+GLIBC_2.2.5 seed48_r F
+GLIBC_2.2.5 seekdir F
+GLIBC_2.2.5 select F
+GLIBC_2.2.5 semctl F
+GLIBC_2.2.5 semget F
+GLIBC_2.2.5 semop F
+GLIBC_2.2.5 send F
+GLIBC_2.2.5 sendfile F
+GLIBC_2.2.5 sendmsg F
+GLIBC_2.2.5 sendto F
+GLIBC_2.2.5 setaliasent F
+GLIBC_2.2.5 setbuf F
+GLIBC_2.2.5 setbuffer F
+GLIBC_2.2.5 setcontext F
+GLIBC_2.2.5 setdomainname F
+GLIBC_2.2.5 setegid F
+GLIBC_2.2.5 setenv F
+GLIBC_2.2.5 seteuid F
+GLIBC_2.2.5 setfsent F
+GLIBC_2.2.5 setfsgid F
+GLIBC_2.2.5 setfsuid F
+GLIBC_2.2.5 setgid F
+GLIBC_2.2.5 setgrent F
+GLIBC_2.2.5 setgroups F
+GLIBC_2.2.5 sethostent F
+GLIBC_2.2.5 sethostid F
+GLIBC_2.2.5 sethostname F
+GLIBC_2.2.5 setitimer F
+GLIBC_2.2.5 setjmp F
+GLIBC_2.2.5 setlinebuf F
+GLIBC_2.2.5 setlocale F
+GLIBC_2.2.5 setlogin F
+GLIBC_2.2.5 setlogmask F
+GLIBC_2.2.5 setmntent F
+GLIBC_2.2.5 setnetent F
+GLIBC_2.2.5 setnetgrent F
+GLIBC_2.2.5 setpgid F
+GLIBC_2.2.5 setpgrp F
+GLIBC_2.2.5 setpriority F
+GLIBC_2.2.5 setprotoent F
+GLIBC_2.2.5 setpwent F
+GLIBC_2.2.5 setregid F
+GLIBC_2.2.5 setresgid F
+GLIBC_2.2.5 setresuid F
+GLIBC_2.2.5 setreuid F
+GLIBC_2.2.5 setrlimit F
+GLIBC_2.2.5 setrlimit64 F
+GLIBC_2.2.5 setrpcent F
+GLIBC_2.2.5 setservent F
+GLIBC_2.2.5 setsid F
+GLIBC_2.2.5 setsockopt F
+GLIBC_2.2.5 setspent F
+GLIBC_2.2.5 setstate F
+GLIBC_2.2.5 setstate_r F
+GLIBC_2.2.5 settimeofday F
+GLIBC_2.2.5 setttyent F
+GLIBC_2.2.5 setuid F
+GLIBC_2.2.5 setusershell F
+GLIBC_2.2.5 setutent F
+GLIBC_2.2.5 setutxent F
+GLIBC_2.2.5 setvbuf F
+GLIBC_2.2.5 sgetspent F
+GLIBC_2.2.5 sgetspent_r F
+GLIBC_2.2.5 shmat F
+GLIBC_2.2.5 shmctl F
+GLIBC_2.2.5 shmdt F
+GLIBC_2.2.5 shmget F
+GLIBC_2.2.5 shutdown F
+GLIBC_2.2.5 sigaction F
+GLIBC_2.2.5 sigaddset F
+GLIBC_2.2.5 sigaltstack F
+GLIBC_2.2.5 sigandset F
+GLIBC_2.2.5 sigblock F
+GLIBC_2.2.5 sigdelset F
+GLIBC_2.2.5 sigemptyset F
+GLIBC_2.2.5 sigfillset F
+GLIBC_2.2.5 siggetmask F
+GLIBC_2.2.5 sighold F
+GLIBC_2.2.5 sigignore F
+GLIBC_2.2.5 siginterrupt F
+GLIBC_2.2.5 sigisemptyset F
+GLIBC_2.2.5 sigismember F
+GLIBC_2.2.5 siglongjmp F
+GLIBC_2.2.5 signal F
+GLIBC_2.2.5 sigorset F
+GLIBC_2.2.5 sigpause F
+GLIBC_2.2.5 sigpending F
+GLIBC_2.2.5 sigprocmask F
+GLIBC_2.2.5 sigqueue F
+GLIBC_2.2.5 sigrelse F
+GLIBC_2.2.5 sigreturn F
+GLIBC_2.2.5 sigset F
+GLIBC_2.2.5 sigsetmask F
+GLIBC_2.2.5 sigstack F
+GLIBC_2.2.5 sigsuspend F
+GLIBC_2.2.5 sigtimedwait F
+GLIBC_2.2.5 sigvec F
+GLIBC_2.2.5 sigwait F
+GLIBC_2.2.5 sigwaitinfo F
+GLIBC_2.2.5 sleep F
+GLIBC_2.2.5 snprintf F
+GLIBC_2.2.5 sockatmark F
+GLIBC_2.2.5 socket F
+GLIBC_2.2.5 socketpair F
+GLIBC_2.2.5 sprintf F
+GLIBC_2.2.5 sprofil F
+GLIBC_2.2.5 srand F
+GLIBC_2.2.5 srand48 F
+GLIBC_2.2.5 srand48_r F
+GLIBC_2.2.5 srandom F
+GLIBC_2.2.5 srandom_r F
+GLIBC_2.2.5 sscanf F
+GLIBC_2.2.5 ssignal F
+GLIBC_2.2.5 sstk F
+GLIBC_2.2.5 statfs F
+GLIBC_2.2.5 statfs64 F
+GLIBC_2.2.5 statvfs F
+GLIBC_2.2.5 statvfs64 F
+GLIBC_2.2.5 stderr D 0x8
+GLIBC_2.2.5 stdin D 0x8
+GLIBC_2.2.5 stdout D 0x8
+GLIBC_2.2.5 step F
+GLIBC_2.2.5 stime F
+GLIBC_2.2.5 stpcpy F
+GLIBC_2.2.5 stpncpy F
+GLIBC_2.2.5 strcasecmp F
+GLIBC_2.2.5 strcasestr F
+GLIBC_2.2.5 strcat F
+GLIBC_2.2.5 strchr F
+GLIBC_2.2.5 strchrnul F
+GLIBC_2.2.5 strcmp F
+GLIBC_2.2.5 strcoll F
+GLIBC_2.2.5 strcpy F
+GLIBC_2.2.5 strcspn F
+GLIBC_2.2.5 strdup F
+GLIBC_2.2.5 strerror F
+GLIBC_2.2.5 strerror_r F
+GLIBC_2.2.5 strfmon F
+GLIBC_2.2.5 strfry F
+GLIBC_2.2.5 strftime F
+GLIBC_2.2.5 strlen F
+GLIBC_2.2.5 strncasecmp F
+GLIBC_2.2.5 strncat F
+GLIBC_2.2.5 strncmp F
+GLIBC_2.2.5 strncpy F
+GLIBC_2.2.5 strndup F
+GLIBC_2.2.5 strnlen F
+GLIBC_2.2.5 strpbrk F
+GLIBC_2.2.5 strptime F
+GLIBC_2.2.5 strrchr F
+GLIBC_2.2.5 strsep F
+GLIBC_2.2.5 strsignal F
+GLIBC_2.2.5 strspn F
+GLIBC_2.2.5 strstr F
+GLIBC_2.2.5 strtod F
+GLIBC_2.2.5 strtof F
+GLIBC_2.2.5 strtoimax F
+GLIBC_2.2.5 strtok F
+GLIBC_2.2.5 strtok_r F
+GLIBC_2.2.5 strtol F
+GLIBC_2.2.5 strtold F
+GLIBC_2.2.5 strtoll F
+GLIBC_2.2.5 strtoq F
+GLIBC_2.2.5 strtoul F
+GLIBC_2.2.5 strtoull F
+GLIBC_2.2.5 strtoumax F
+GLIBC_2.2.5 strtouq F
+GLIBC_2.2.5 strverscmp F
+GLIBC_2.2.5 strxfrm F
+GLIBC_2.2.5 stty F
+GLIBC_2.2.5 svc_exit F
+GLIBC_2.2.5 svc_fdset D 0x80
+GLIBC_2.2.5 svc_getreq F
+GLIBC_2.2.5 svc_getreq_common F
+GLIBC_2.2.5 svc_getreq_poll F
+GLIBC_2.2.5 svc_getreqset F
+GLIBC_2.2.5 svc_max_pollfd D 0x4
+GLIBC_2.2.5 svc_pollfd D 0x8
+GLIBC_2.2.5 svc_register F
+GLIBC_2.2.5 svc_run F
+GLIBC_2.2.5 svc_sendreply F
+GLIBC_2.2.5 svc_unregister F
+GLIBC_2.2.5 svcauthdes_stats D 0x18
+GLIBC_2.2.5 svcerr_auth F
+GLIBC_2.2.5 svcerr_decode F
+GLIBC_2.2.5 svcerr_noproc F
+GLIBC_2.2.5 svcerr_noprog F
+GLIBC_2.2.5 svcerr_progvers F
+GLIBC_2.2.5 svcerr_systemerr F
+GLIBC_2.2.5 svcerr_weakauth F
+GLIBC_2.2.5 svcfd_create F
+GLIBC_2.2.5 svcraw_create F
+GLIBC_2.2.5 svctcp_create F
+GLIBC_2.2.5 svcudp_bufcreate F
+GLIBC_2.2.5 svcudp_create F
+GLIBC_2.2.5 svcudp_enablecache F
+GLIBC_2.2.5 svcunix_create F
+GLIBC_2.2.5 svcunixfd_create F
+GLIBC_2.2.5 swab F
+GLIBC_2.2.5 swapcontext F
+GLIBC_2.2.5 swapoff F
+GLIBC_2.2.5 swapon F
+GLIBC_2.2.5 swprintf F
+GLIBC_2.2.5 swscanf F
+GLIBC_2.2.5 symlink F
+GLIBC_2.2.5 sync F
+GLIBC_2.2.5 sys_errlist D 0x3e8
+GLIBC_2.2.5 sys_nerr D 0x4
+GLIBC_2.2.5 sys_sigabbrev D 0x200
+GLIBC_2.2.5 sys_siglist D 0x200
+GLIBC_2.2.5 syscall F
+GLIBC_2.2.5 sysconf F
+GLIBC_2.2.5 sysctl F
+GLIBC_2.2.5 sysinfo F
+GLIBC_2.2.5 syslog F
+GLIBC_2.2.5 system F
+GLIBC_2.2.5 sysv_signal F
+GLIBC_2.2.5 tcdrain F
+GLIBC_2.2.5 tcflow F
+GLIBC_2.2.5 tcflush F
+GLIBC_2.2.5 tcgetattr F
+GLIBC_2.2.5 tcgetpgrp F
+GLIBC_2.2.5 tcgetsid F
+GLIBC_2.2.5 tcsendbreak F
+GLIBC_2.2.5 tcsetattr F
+GLIBC_2.2.5 tcsetpgrp F
+GLIBC_2.2.5 tdelete F
+GLIBC_2.2.5 tdestroy F
+GLIBC_2.2.5 telldir F
+GLIBC_2.2.5 tempnam F
+GLIBC_2.2.5 textdomain F
+GLIBC_2.2.5 tfind F
+GLIBC_2.2.5 time F
+GLIBC_2.2.5 timegm F
+GLIBC_2.2.5 timelocal F
+GLIBC_2.2.5 times F
+GLIBC_2.2.5 timezone D 0x8
+GLIBC_2.2.5 tmpfile F
+GLIBC_2.2.5 tmpfile64 F
+GLIBC_2.2.5 tmpnam F
+GLIBC_2.2.5 tmpnam_r F
+GLIBC_2.2.5 toascii F
+GLIBC_2.2.5 tolower F
+GLIBC_2.2.5 toupper F
+GLIBC_2.2.5 towctrans F
+GLIBC_2.2.5 towlower F
+GLIBC_2.2.5 towupper F
+GLIBC_2.2.5 tr_break F
+GLIBC_2.2.5 truncate F
+GLIBC_2.2.5 truncate64 F
+GLIBC_2.2.5 tsearch F
+GLIBC_2.2.5 ttyname F
+GLIBC_2.2.5 ttyname_r F
+GLIBC_2.2.5 ttyslot F
+GLIBC_2.2.5 twalk F
+GLIBC_2.2.5 tzname D 0x10
+GLIBC_2.2.5 tzset F
+GLIBC_2.2.5 ualarm F
+GLIBC_2.2.5 ulckpwdf F
+GLIBC_2.2.5 ulimit F
+GLIBC_2.2.5 umask F
+GLIBC_2.2.5 umount F
+GLIBC_2.2.5 umount2 F
+GLIBC_2.2.5 uname F
+GLIBC_2.2.5 ungetc F
+GLIBC_2.2.5 ungetwc F
+GLIBC_2.2.5 unlink F
+GLIBC_2.2.5 unlockpt F
+GLIBC_2.2.5 unsetenv F
+GLIBC_2.2.5 updwtmp F
+GLIBC_2.2.5 updwtmpx F
+GLIBC_2.2.5 uselib F
+GLIBC_2.2.5 user2netname F
+GLIBC_2.2.5 usleep F
+GLIBC_2.2.5 ustat F
+GLIBC_2.2.5 utime F
+GLIBC_2.2.5 utimes F
+GLIBC_2.2.5 utmpname F
+GLIBC_2.2.5 utmpxname F
+GLIBC_2.2.5 valloc F
+GLIBC_2.2.5 vasprintf F
+GLIBC_2.2.5 vdprintf F
+GLIBC_2.2.5 verr F
+GLIBC_2.2.5 verrx F
+GLIBC_2.2.5 versionsort F
+GLIBC_2.2.5 versionsort64 F
+GLIBC_2.2.5 vfork F
+GLIBC_2.2.5 vfprintf F
+GLIBC_2.2.5 vfscanf F
+GLIBC_2.2.5 vfwprintf F
+GLIBC_2.2.5 vfwscanf F
+GLIBC_2.2.5 vhangup F
+GLIBC_2.2.5 vlimit F
+GLIBC_2.2.5 vprintf F
+GLIBC_2.2.5 vscanf F
+GLIBC_2.2.5 vsnprintf F
+GLIBC_2.2.5 vsprintf F
+GLIBC_2.2.5 vsscanf F
+GLIBC_2.2.5 vswprintf F
+GLIBC_2.2.5 vswscanf F
+GLIBC_2.2.5 vsyslog F
+GLIBC_2.2.5 vtimes F
+GLIBC_2.2.5 vwarn F
+GLIBC_2.2.5 vwarnx F
+GLIBC_2.2.5 vwprintf F
+GLIBC_2.2.5 vwscanf F
+GLIBC_2.2.5 wait F
+GLIBC_2.2.5 wait3 F
+GLIBC_2.2.5 wait4 F
+GLIBC_2.2.5 waitid F
+GLIBC_2.2.5 waitpid F
+GLIBC_2.2.5 warn F
+GLIBC_2.2.5 warnx F
+GLIBC_2.2.5 wcpcpy F
+GLIBC_2.2.5 wcpncpy F
+GLIBC_2.2.5 wcrtomb F
+GLIBC_2.2.5 wcscasecmp F
+GLIBC_2.2.5 wcscat F
+GLIBC_2.2.5 wcschr F
+GLIBC_2.2.5 wcschrnul F
+GLIBC_2.2.5 wcscmp F
+GLIBC_2.2.5 wcscoll F
+GLIBC_2.2.5 wcscpy F
+GLIBC_2.2.5 wcscspn F
+GLIBC_2.2.5 wcsdup F
+GLIBC_2.2.5 wcsftime F
+GLIBC_2.2.5 wcslen F
+GLIBC_2.2.5 wcsncasecmp F
+GLIBC_2.2.5 wcsncat F
+GLIBC_2.2.5 wcsncmp F
+GLIBC_2.2.5 wcsncpy F
+GLIBC_2.2.5 wcsnlen F
+GLIBC_2.2.5 wcsnrtombs F
+GLIBC_2.2.5 wcspbrk F
+GLIBC_2.2.5 wcsrchr F
+GLIBC_2.2.5 wcsrtombs F
+GLIBC_2.2.5 wcsspn F
+GLIBC_2.2.5 wcsstr F
+GLIBC_2.2.5 wcstod F
+GLIBC_2.2.5 wcstof F
+GLIBC_2.2.5 wcstoimax F
+GLIBC_2.2.5 wcstok F
+GLIBC_2.2.5 wcstol F
+GLIBC_2.2.5 wcstold F
+GLIBC_2.2.5 wcstoll F
+GLIBC_2.2.5 wcstombs F
+GLIBC_2.2.5 wcstoq F
+GLIBC_2.2.5 wcstoul F
+GLIBC_2.2.5 wcstoull F
+GLIBC_2.2.5 wcstoumax F
+GLIBC_2.2.5 wcstouq F
+GLIBC_2.2.5 wcswcs F
+GLIBC_2.2.5 wcswidth F
+GLIBC_2.2.5 wcsxfrm F
+GLIBC_2.2.5 wctob F
+GLIBC_2.2.5 wctomb F
+GLIBC_2.2.5 wctrans F
+GLIBC_2.2.5 wctype F
+GLIBC_2.2.5 wcwidth F
+GLIBC_2.2.5 wmemchr F
+GLIBC_2.2.5 wmemcmp F
+GLIBC_2.2.5 wmemcpy F
+GLIBC_2.2.5 wmemmove F
+GLIBC_2.2.5 wmempcpy F
+GLIBC_2.2.5 wmemset F
+GLIBC_2.2.5 wordexp F
+GLIBC_2.2.5 wordfree F
+GLIBC_2.2.5 wprintf F
+GLIBC_2.2.5 write F
+GLIBC_2.2.5 writev F
+GLIBC_2.2.5 wscanf F
+GLIBC_2.2.5 xdecrypt F
+GLIBC_2.2.5 xdr_accepted_reply F
+GLIBC_2.2.5 xdr_array F
+GLIBC_2.2.5 xdr_authdes_cred F
+GLIBC_2.2.5 xdr_authdes_verf F
+GLIBC_2.2.5 xdr_authunix_parms F
+GLIBC_2.2.5 xdr_bool F
+GLIBC_2.2.5 xdr_bytes F
+GLIBC_2.2.5 xdr_callhdr F
+GLIBC_2.2.5 xdr_callmsg F
+GLIBC_2.2.5 xdr_char F
+GLIBC_2.2.5 xdr_cryptkeyarg F
+GLIBC_2.2.5 xdr_cryptkeyarg2 F
+GLIBC_2.2.5 xdr_cryptkeyres F
+GLIBC_2.2.5 xdr_des_block F
+GLIBC_2.2.5 xdr_double F
+GLIBC_2.2.5 xdr_enum F
+GLIBC_2.2.5 xdr_float F
+GLIBC_2.2.5 xdr_free F
+GLIBC_2.2.5 xdr_getcredres F
+GLIBC_2.2.5 xdr_hyper F
+GLIBC_2.2.5 xdr_int F
+GLIBC_2.2.5 xdr_int16_t F
+GLIBC_2.2.5 xdr_int32_t F
+GLIBC_2.2.5 xdr_int64_t F
+GLIBC_2.2.5 xdr_int8_t F
+GLIBC_2.2.5 xdr_key_netstarg F
+GLIBC_2.2.5 xdr_key_netstres F
+GLIBC_2.2.5 xdr_keybuf F
+GLIBC_2.2.5 xdr_keystatus F
+GLIBC_2.2.5 xdr_long F
+GLIBC_2.2.5 xdr_longlong_t F
+GLIBC_2.2.5 xdr_netnamestr F
+GLIBC_2.2.5 xdr_netobj F
+GLIBC_2.2.5 xdr_opaque F
+GLIBC_2.2.5 xdr_opaque_auth F
+GLIBC_2.2.5 xdr_pmap F
+GLIBC_2.2.5 xdr_pmaplist F
+GLIBC_2.2.5 xdr_pointer F
+GLIBC_2.2.5 xdr_reference F
+GLIBC_2.2.5 xdr_rejected_reply F
+GLIBC_2.2.5 xdr_replymsg F
+GLIBC_2.2.5 xdr_rmtcall_args F
+GLIBC_2.2.5 xdr_rmtcallres F
+GLIBC_2.2.5 xdr_short F
+GLIBC_2.2.5 xdr_sizeof F
+GLIBC_2.2.5 xdr_string F
+GLIBC_2.2.5 xdr_u_char F
+GLIBC_2.2.5 xdr_u_hyper F
+GLIBC_2.2.5 xdr_u_int F
+GLIBC_2.2.5 xdr_u_long F
+GLIBC_2.2.5 xdr_u_longlong_t F
+GLIBC_2.2.5 xdr_u_short F
+GLIBC_2.2.5 xdr_uint16_t F
+GLIBC_2.2.5 xdr_uint32_t F
+GLIBC_2.2.5 xdr_uint64_t F
+GLIBC_2.2.5 xdr_uint8_t F
+GLIBC_2.2.5 xdr_union F
+GLIBC_2.2.5 xdr_unixcred F
+GLIBC_2.2.5 xdr_vector F
+GLIBC_2.2.5 xdr_void F
+GLIBC_2.2.5 xdr_wrapstring F
+GLIBC_2.2.5 xdrmem_create F
+GLIBC_2.2.5 xdrrec_create F
+GLIBC_2.2.5 xdrrec_endofrecord F
+GLIBC_2.2.5 xdrrec_eof F
+GLIBC_2.2.5 xdrrec_skiprecord F
+GLIBC_2.2.5 xdrstdio_create F
+GLIBC_2.2.5 xencrypt F
+GLIBC_2.2.5 xprt_register F
+GLIBC_2.2.5 xprt_unregister 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 0x3f0
+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 0x3f0
+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 0x420
+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 0x420
+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/x86_64/64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist
new file mode 100644
index 0000000000..df20c0f259
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 crypt F
+GLIBC_2.2.5 crypt_r F
+GLIBC_2.2.5 encrypt F
+GLIBC_2.2.5 encrypt_r F
+GLIBC_2.2.5 fcrypt F
+GLIBC_2.2.5 setkey F
+GLIBC_2.2.5 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
new file mode 100644
index 0000000000..ca3d1f7936
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
@@ -0,0 +1,12 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 dladdr F
+GLIBC_2.2.5 dlclose F
+GLIBC_2.2.5 dlerror F
+GLIBC_2.2.5 dlopen F
+GLIBC_2.2.5 dlsym F
+GLIBC_2.2.5 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/x86_64/64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
new file mode 100644
index 0000000000..fc68ef679a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -0,0 +1,465 @@
+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.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 _LIB_VERSION D 0x4
+GLIBC_2.2.5 __clog10 F
+GLIBC_2.2.5 __clog10f F
+GLIBC_2.2.5 __clog10l F
+GLIBC_2.2.5 __finite F
+GLIBC_2.2.5 __finitef F
+GLIBC_2.2.5 __finitel F
+GLIBC_2.2.5 __fpclassify F
+GLIBC_2.2.5 __fpclassifyf F
+GLIBC_2.2.5 __fpclassifyl F
+GLIBC_2.2.5 __signbit F
+GLIBC_2.2.5 __signbitf F
+GLIBC_2.2.5 __signbitl F
+GLIBC_2.2.5 acos F
+GLIBC_2.2.5 acosf F
+GLIBC_2.2.5 acosh F
+GLIBC_2.2.5 acoshf F
+GLIBC_2.2.5 acoshl F
+GLIBC_2.2.5 acosl F
+GLIBC_2.2.5 asin F
+GLIBC_2.2.5 asinf F
+GLIBC_2.2.5 asinh F
+GLIBC_2.2.5 asinhf F
+GLIBC_2.2.5 asinhl F
+GLIBC_2.2.5 asinl F
+GLIBC_2.2.5 atan F
+GLIBC_2.2.5 atan2 F
+GLIBC_2.2.5 atan2f F
+GLIBC_2.2.5 atan2l F
+GLIBC_2.2.5 atanf F
+GLIBC_2.2.5 atanh F
+GLIBC_2.2.5 atanhf F
+GLIBC_2.2.5 atanhl F
+GLIBC_2.2.5 atanl F
+GLIBC_2.2.5 cabs F
+GLIBC_2.2.5 cabsf F
+GLIBC_2.2.5 cabsl F
+GLIBC_2.2.5 cacos F
+GLIBC_2.2.5 cacosf F
+GLIBC_2.2.5 cacosh F
+GLIBC_2.2.5 cacoshf F
+GLIBC_2.2.5 cacoshl F
+GLIBC_2.2.5 cacosl F
+GLIBC_2.2.5 carg F
+GLIBC_2.2.5 cargf F
+GLIBC_2.2.5 cargl F
+GLIBC_2.2.5 casin F
+GLIBC_2.2.5 casinf F
+GLIBC_2.2.5 casinh F
+GLIBC_2.2.5 casinhf F
+GLIBC_2.2.5 casinhl F
+GLIBC_2.2.5 casinl F
+GLIBC_2.2.5 catan F
+GLIBC_2.2.5 catanf F
+GLIBC_2.2.5 catanh F
+GLIBC_2.2.5 catanhf F
+GLIBC_2.2.5 catanhl F
+GLIBC_2.2.5 catanl F
+GLIBC_2.2.5 cbrt F
+GLIBC_2.2.5 cbrtf F
+GLIBC_2.2.5 cbrtl F
+GLIBC_2.2.5 ccos F
+GLIBC_2.2.5 ccosf F
+GLIBC_2.2.5 ccosh F
+GLIBC_2.2.5 ccoshf F
+GLIBC_2.2.5 ccoshl F
+GLIBC_2.2.5 ccosl F
+GLIBC_2.2.5 ceil F
+GLIBC_2.2.5 ceilf F
+GLIBC_2.2.5 ceill F
+GLIBC_2.2.5 cexp F
+GLIBC_2.2.5 cexpf F
+GLIBC_2.2.5 cexpl F
+GLIBC_2.2.5 cimag F
+GLIBC_2.2.5 cimagf F
+GLIBC_2.2.5 cimagl F
+GLIBC_2.2.5 clog F
+GLIBC_2.2.5 clog10 F
+GLIBC_2.2.5 clog10f F
+GLIBC_2.2.5 clog10l F
+GLIBC_2.2.5 clogf F
+GLIBC_2.2.5 clogl F
+GLIBC_2.2.5 conj F
+GLIBC_2.2.5 conjf F
+GLIBC_2.2.5 conjl F
+GLIBC_2.2.5 copysign F
+GLIBC_2.2.5 copysignf F
+GLIBC_2.2.5 copysignl F
+GLIBC_2.2.5 cos F
+GLIBC_2.2.5 cosf F
+GLIBC_2.2.5 cosh F
+GLIBC_2.2.5 coshf F
+GLIBC_2.2.5 coshl F
+GLIBC_2.2.5 cosl F
+GLIBC_2.2.5 cpow F
+GLIBC_2.2.5 cpowf F
+GLIBC_2.2.5 cpowl F
+GLIBC_2.2.5 cproj F
+GLIBC_2.2.5 cprojf F
+GLIBC_2.2.5 cprojl F
+GLIBC_2.2.5 creal F
+GLIBC_2.2.5 crealf F
+GLIBC_2.2.5 creall F
+GLIBC_2.2.5 csin F
+GLIBC_2.2.5 csinf F
+GLIBC_2.2.5 csinh F
+GLIBC_2.2.5 csinhf F
+GLIBC_2.2.5 csinhl F
+GLIBC_2.2.5 csinl F
+GLIBC_2.2.5 csqrt F
+GLIBC_2.2.5 csqrtf F
+GLIBC_2.2.5 csqrtl F
+GLIBC_2.2.5 ctan F
+GLIBC_2.2.5 ctanf F
+GLIBC_2.2.5 ctanh F
+GLIBC_2.2.5 ctanhf F
+GLIBC_2.2.5 ctanhl F
+GLIBC_2.2.5 ctanl F
+GLIBC_2.2.5 drem F
+GLIBC_2.2.5 dremf F
+GLIBC_2.2.5 dreml F
+GLIBC_2.2.5 erf F
+GLIBC_2.2.5 erfc F
+GLIBC_2.2.5 erfcf F
+GLIBC_2.2.5 erfcl F
+GLIBC_2.2.5 erff F
+GLIBC_2.2.5 erfl F
+GLIBC_2.2.5 exp F
+GLIBC_2.2.5 exp10 F
+GLIBC_2.2.5 exp10f F
+GLIBC_2.2.5 exp10l F
+GLIBC_2.2.5 exp2 F
+GLIBC_2.2.5 exp2f F
+GLIBC_2.2.5 exp2l F
+GLIBC_2.2.5 expf F
+GLIBC_2.2.5 expl F
+GLIBC_2.2.5 expm1 F
+GLIBC_2.2.5 expm1f F
+GLIBC_2.2.5 expm1l F
+GLIBC_2.2.5 fabs F
+GLIBC_2.2.5 fabsf F
+GLIBC_2.2.5 fabsl F
+GLIBC_2.2.5 fdim F
+GLIBC_2.2.5 fdimf F
+GLIBC_2.2.5 fdiml F
+GLIBC_2.2.5 feclearexcept F
+GLIBC_2.2.5 fedisableexcept F
+GLIBC_2.2.5 feenableexcept F
+GLIBC_2.2.5 fegetenv F
+GLIBC_2.2.5 fegetexcept F
+GLIBC_2.2.5 fegetexceptflag F
+GLIBC_2.2.5 fegetround F
+GLIBC_2.2.5 feholdexcept F
+GLIBC_2.2.5 feraiseexcept F
+GLIBC_2.2.5 fesetenv F
+GLIBC_2.2.5 fesetexceptflag F
+GLIBC_2.2.5 fesetround F
+GLIBC_2.2.5 fetestexcept F
+GLIBC_2.2.5 feupdateenv F
+GLIBC_2.2.5 finite F
+GLIBC_2.2.5 finitef F
+GLIBC_2.2.5 finitel F
+GLIBC_2.2.5 floor F
+GLIBC_2.2.5 floorf F
+GLIBC_2.2.5 floorl F
+GLIBC_2.2.5 fma F
+GLIBC_2.2.5 fmaf F
+GLIBC_2.2.5 fmal F
+GLIBC_2.2.5 fmax F
+GLIBC_2.2.5 fmaxf F
+GLIBC_2.2.5 fmaxl F
+GLIBC_2.2.5 fmin F
+GLIBC_2.2.5 fminf F
+GLIBC_2.2.5 fminl F
+GLIBC_2.2.5 fmod F
+GLIBC_2.2.5 fmodf F
+GLIBC_2.2.5 fmodl F
+GLIBC_2.2.5 frexp F
+GLIBC_2.2.5 frexpf F
+GLIBC_2.2.5 frexpl F
+GLIBC_2.2.5 gamma F
+GLIBC_2.2.5 gammaf F
+GLIBC_2.2.5 gammal F
+GLIBC_2.2.5 hypot F
+GLIBC_2.2.5 hypotf F
+GLIBC_2.2.5 hypotl F
+GLIBC_2.2.5 ilogb F
+GLIBC_2.2.5 ilogbf F
+GLIBC_2.2.5 ilogbl F
+GLIBC_2.2.5 j0 F
+GLIBC_2.2.5 j0f F
+GLIBC_2.2.5 j0l F
+GLIBC_2.2.5 j1 F
+GLIBC_2.2.5 j1f F
+GLIBC_2.2.5 j1l F
+GLIBC_2.2.5 jn F
+GLIBC_2.2.5 jnf F
+GLIBC_2.2.5 jnl F
+GLIBC_2.2.5 ldexp F
+GLIBC_2.2.5 ldexpf F
+GLIBC_2.2.5 ldexpl F
+GLIBC_2.2.5 lgamma F
+GLIBC_2.2.5 lgamma_r F
+GLIBC_2.2.5 lgammaf F
+GLIBC_2.2.5 lgammaf_r F
+GLIBC_2.2.5 lgammal F
+GLIBC_2.2.5 lgammal_r F
+GLIBC_2.2.5 llrint F
+GLIBC_2.2.5 llrintf F
+GLIBC_2.2.5 llrintl F
+GLIBC_2.2.5 llround F
+GLIBC_2.2.5 llroundf F
+GLIBC_2.2.5 llroundl F
+GLIBC_2.2.5 log F
+GLIBC_2.2.5 log10 F
+GLIBC_2.2.5 log10f F
+GLIBC_2.2.5 log10l F
+GLIBC_2.2.5 log1p F
+GLIBC_2.2.5 log1pf F
+GLIBC_2.2.5 log1pl F
+GLIBC_2.2.5 log2 F
+GLIBC_2.2.5 log2f F
+GLIBC_2.2.5 log2l F
+GLIBC_2.2.5 logb F
+GLIBC_2.2.5 logbf F
+GLIBC_2.2.5 logbl F
+GLIBC_2.2.5 logf F
+GLIBC_2.2.5 logl F
+GLIBC_2.2.5 lrint F
+GLIBC_2.2.5 lrintf F
+GLIBC_2.2.5 lrintl F
+GLIBC_2.2.5 lround F
+GLIBC_2.2.5 lroundf F
+GLIBC_2.2.5 lroundl F
+GLIBC_2.2.5 matherr F
+GLIBC_2.2.5 modf F
+GLIBC_2.2.5 modff F
+GLIBC_2.2.5 modfl F
+GLIBC_2.2.5 nan F
+GLIBC_2.2.5 nanf F
+GLIBC_2.2.5 nanl F
+GLIBC_2.2.5 nearbyint F
+GLIBC_2.2.5 nearbyintf F
+GLIBC_2.2.5 nearbyintl F
+GLIBC_2.2.5 nextafter F
+GLIBC_2.2.5 nextafterf F
+GLIBC_2.2.5 nextafterl F
+GLIBC_2.2.5 nexttoward F
+GLIBC_2.2.5 nexttowardf F
+GLIBC_2.2.5 nexttowardl F
+GLIBC_2.2.5 pow F
+GLIBC_2.2.5 pow10 F
+GLIBC_2.2.5 pow10f F
+GLIBC_2.2.5 pow10l F
+GLIBC_2.2.5 powf F
+GLIBC_2.2.5 powl F
+GLIBC_2.2.5 remainder F
+GLIBC_2.2.5 remainderf F
+GLIBC_2.2.5 remainderl F
+GLIBC_2.2.5 remquo F
+GLIBC_2.2.5 remquof F
+GLIBC_2.2.5 remquol F
+GLIBC_2.2.5 rint F
+GLIBC_2.2.5 rintf F
+GLIBC_2.2.5 rintl F
+GLIBC_2.2.5 round F
+GLIBC_2.2.5 roundf F
+GLIBC_2.2.5 roundl F
+GLIBC_2.2.5 scalb F
+GLIBC_2.2.5 scalbf F
+GLIBC_2.2.5 scalbl F
+GLIBC_2.2.5 scalbln F
+GLIBC_2.2.5 scalblnf F
+GLIBC_2.2.5 scalblnl F
+GLIBC_2.2.5 scalbn F
+GLIBC_2.2.5 scalbnf F
+GLIBC_2.2.5 scalbnl F
+GLIBC_2.2.5 signgam D 0x4
+GLIBC_2.2.5 significand F
+GLIBC_2.2.5 significandf F
+GLIBC_2.2.5 significandl F
+GLIBC_2.2.5 sin F
+GLIBC_2.2.5 sincos F
+GLIBC_2.2.5 sincosf F
+GLIBC_2.2.5 sincosl F
+GLIBC_2.2.5 sinf F
+GLIBC_2.2.5 sinh F
+GLIBC_2.2.5 sinhf F
+GLIBC_2.2.5 sinhl F
+GLIBC_2.2.5 sinl F
+GLIBC_2.2.5 sqrt F
+GLIBC_2.2.5 sqrtf F
+GLIBC_2.2.5 sqrtl F
+GLIBC_2.2.5 tan F
+GLIBC_2.2.5 tanf F
+GLIBC_2.2.5 tanh F
+GLIBC_2.2.5 tanhf F
+GLIBC_2.2.5 tanhl F
+GLIBC_2.2.5 tanl F
+GLIBC_2.2.5 tgamma F
+GLIBC_2.2.5 tgammaf F
+GLIBC_2.2.5 tgammal F
+GLIBC_2.2.5 trunc F
+GLIBC_2.2.5 truncf F
+GLIBC_2.2.5 truncl F
+GLIBC_2.2.5 y0 F
+GLIBC_2.2.5 y0f F
+GLIBC_2.2.5 y0l F
+GLIBC_2.2.5 y1 F
+GLIBC_2.2.5 y1f F
+GLIBC_2.2.5 y1l F
+GLIBC_2.2.5 yn F
+GLIBC_2.2.5 ynf F
+GLIBC_2.2.5 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 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist
new file mode 100644
index 0000000000..571fe97d88
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 __free_fdresult F
+GLIBC_2.2.5 __nis_default_access F
+GLIBC_2.2.5 __nis_default_group F
+GLIBC_2.2.5 __nis_default_owner F
+GLIBC_2.2.5 __nis_default_ttl F
+GLIBC_2.2.5 __nis_finddirectory F
+GLIBC_2.2.5 __nis_hash F
+GLIBC_2.2.5 __nisbind_connect F
+GLIBC_2.2.5 __nisbind_create F
+GLIBC_2.2.5 __nisbind_destroy F
+GLIBC_2.2.5 __nisbind_next F
+GLIBC_2.2.5 __yp_check F
+GLIBC_2.2.5 nis_add F
+GLIBC_2.2.5 nis_add_entry F
+GLIBC_2.2.5 nis_addmember F
+GLIBC_2.2.5 nis_checkpoint F
+GLIBC_2.2.5 nis_clone_directory F
+GLIBC_2.2.5 nis_clone_object F
+GLIBC_2.2.5 nis_clone_result F
+GLIBC_2.2.5 nis_creategroup F
+GLIBC_2.2.5 nis_destroy_object F
+GLIBC_2.2.5 nis_destroygroup F
+GLIBC_2.2.5 nis_dir_cmp F
+GLIBC_2.2.5 nis_domain_of F
+GLIBC_2.2.5 nis_domain_of_r F
+GLIBC_2.2.5 nis_first_entry F
+GLIBC_2.2.5 nis_free_directory F
+GLIBC_2.2.5 nis_free_object F
+GLIBC_2.2.5 nis_free_request F
+GLIBC_2.2.5 nis_freenames F
+GLIBC_2.2.5 nis_freeresult F
+GLIBC_2.2.5 nis_freeservlist F
+GLIBC_2.2.5 nis_freetags F
+GLIBC_2.2.5 nis_getnames F
+GLIBC_2.2.5 nis_getservlist F
+GLIBC_2.2.5 nis_ismember F
+GLIBC_2.2.5 nis_leaf_of F
+GLIBC_2.2.5 nis_leaf_of_r F
+GLIBC_2.2.5 nis_lerror F
+GLIBC_2.2.5 nis_list F
+GLIBC_2.2.5 nis_local_directory F
+GLIBC_2.2.5 nis_local_group F
+GLIBC_2.2.5 nis_local_host F
+GLIBC_2.2.5 nis_local_principal F
+GLIBC_2.2.5 nis_lookup F
+GLIBC_2.2.5 nis_mkdir F
+GLIBC_2.2.5 nis_modify F
+GLIBC_2.2.5 nis_modify_entry F
+GLIBC_2.2.5 nis_name_of F
+GLIBC_2.2.5 nis_name_of_r F
+GLIBC_2.2.5 nis_next_entry F
+GLIBC_2.2.5 nis_perror F
+GLIBC_2.2.5 nis_ping F
+GLIBC_2.2.5 nis_print_directory F
+GLIBC_2.2.5 nis_print_entry F
+GLIBC_2.2.5 nis_print_group F
+GLIBC_2.2.5 nis_print_group_entry F
+GLIBC_2.2.5 nis_print_link F
+GLIBC_2.2.5 nis_print_object F
+GLIBC_2.2.5 nis_print_result F
+GLIBC_2.2.5 nis_print_rights F
+GLIBC_2.2.5 nis_print_table F
+GLIBC_2.2.5 nis_read_obj F
+GLIBC_2.2.5 nis_remove F
+GLIBC_2.2.5 nis_remove_entry F
+GLIBC_2.2.5 nis_removemember F
+GLIBC_2.2.5 nis_rmdir F
+GLIBC_2.2.5 nis_servstate F
+GLIBC_2.2.5 nis_sperrno F
+GLIBC_2.2.5 nis_sperror F
+GLIBC_2.2.5 nis_sperror_r F
+GLIBC_2.2.5 nis_stats F
+GLIBC_2.2.5 nis_verifygroup F
+GLIBC_2.2.5 nis_write_obj F
+GLIBC_2.2.5 readColdStartFile F
+GLIBC_2.2.5 writeColdStartFile F
+GLIBC_2.2.5 xdr_cback_data F
+GLIBC_2.2.5 xdr_domainname F
+GLIBC_2.2.5 xdr_keydat F
+GLIBC_2.2.5 xdr_mapname F
+GLIBC_2.2.5 xdr_obj_p F
+GLIBC_2.2.5 xdr_peername F
+GLIBC_2.2.5 xdr_valdat F
+GLIBC_2.2.5 xdr_yp_buf F
+GLIBC_2.2.5 xdr_ypall F
+GLIBC_2.2.5 xdr_ypbind_binding F
+GLIBC_2.2.5 xdr_ypbind_resp F
+GLIBC_2.2.5 xdr_ypbind_resptype F
+GLIBC_2.2.5 xdr_ypbind_setdom F
+GLIBC_2.2.5 xdr_ypdelete_args F
+GLIBC_2.2.5 xdr_ypmap_parms F
+GLIBC_2.2.5 xdr_ypmaplist F
+GLIBC_2.2.5 xdr_yppush_status F
+GLIBC_2.2.5 xdr_yppushresp_xfr F
+GLIBC_2.2.5 xdr_ypreq_key F
+GLIBC_2.2.5 xdr_ypreq_nokey F
+GLIBC_2.2.5 xdr_ypreq_xfr F
+GLIBC_2.2.5 xdr_ypresp_all F
+GLIBC_2.2.5 xdr_ypresp_key_val F
+GLIBC_2.2.5 xdr_ypresp_maplist F
+GLIBC_2.2.5 xdr_ypresp_master F
+GLIBC_2.2.5 xdr_ypresp_order F
+GLIBC_2.2.5 xdr_ypresp_val F
+GLIBC_2.2.5 xdr_ypresp_xfr F
+GLIBC_2.2.5 xdr_ypstat F
+GLIBC_2.2.5 xdr_ypupdate_args F
+GLIBC_2.2.5 xdr_ypxfrstat F
+GLIBC_2.2.5 yp_all F
+GLIBC_2.2.5 yp_bind F
+GLIBC_2.2.5 yp_first F
+GLIBC_2.2.5 yp_get_default_domain F
+GLIBC_2.2.5 yp_maplist F
+GLIBC_2.2.5 yp_master F
+GLIBC_2.2.5 yp_match F
+GLIBC_2.2.5 yp_next F
+GLIBC_2.2.5 yp_order F
+GLIBC_2.2.5 yp_unbind F
+GLIBC_2.2.5 yp_update F
+GLIBC_2.2.5 ypbinderr_string F
+GLIBC_2.2.5 yperr_string F
+GLIBC_2.2.5 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
new file mode 100644
index 0000000000..85365c057c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -0,0 +1,244 @@
+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.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 _IO_flockfile F
+GLIBC_2.2.5 _IO_ftrylockfile F
+GLIBC_2.2.5 _IO_funlockfile F
+GLIBC_2.2.5 __close F
+GLIBC_2.2.5 __connect F
+GLIBC_2.2.5 __errno_location F
+GLIBC_2.2.5 __fcntl F
+GLIBC_2.2.5 __fork F
+GLIBC_2.2.5 __h_errno_location F
+GLIBC_2.2.5 __libc_allocate_rtsig F
+GLIBC_2.2.5 __libc_current_sigrtmax F
+GLIBC_2.2.5 __libc_current_sigrtmin F
+GLIBC_2.2.5 __lseek F
+GLIBC_2.2.5 __open F
+GLIBC_2.2.5 __open64 F
+GLIBC_2.2.5 __pread64 F
+GLIBC_2.2.5 __pthread_getspecific F
+GLIBC_2.2.5 __pthread_key_create F
+GLIBC_2.2.5 __pthread_mutex_destroy F
+GLIBC_2.2.5 __pthread_mutex_init F
+GLIBC_2.2.5 __pthread_mutex_lock F
+GLIBC_2.2.5 __pthread_mutex_trylock F
+GLIBC_2.2.5 __pthread_mutex_unlock F
+GLIBC_2.2.5 __pthread_mutexattr_destroy F
+GLIBC_2.2.5 __pthread_mutexattr_init F
+GLIBC_2.2.5 __pthread_mutexattr_settype F
+GLIBC_2.2.5 __pthread_once F
+GLIBC_2.2.5 __pthread_rwlock_destroy F
+GLIBC_2.2.5 __pthread_rwlock_init F
+GLIBC_2.2.5 __pthread_rwlock_rdlock F
+GLIBC_2.2.5 __pthread_rwlock_tryrdlock F
+GLIBC_2.2.5 __pthread_rwlock_trywrlock F
+GLIBC_2.2.5 __pthread_rwlock_unlock F
+GLIBC_2.2.5 __pthread_rwlock_wrlock F
+GLIBC_2.2.5 __pthread_setspecific F
+GLIBC_2.2.5 __pwrite64 F
+GLIBC_2.2.5 __read F
+GLIBC_2.2.5 __res_state F
+GLIBC_2.2.5 __send F
+GLIBC_2.2.5 __sigaction F
+GLIBC_2.2.5 __vfork F
+GLIBC_2.2.5 __wait F
+GLIBC_2.2.5 __write F
+GLIBC_2.2.5 _pthread_cleanup_pop F
+GLIBC_2.2.5 _pthread_cleanup_pop_restore F
+GLIBC_2.2.5 _pthread_cleanup_push F
+GLIBC_2.2.5 _pthread_cleanup_push_defer F
+GLIBC_2.2.5 accept F
+GLIBC_2.2.5 close F
+GLIBC_2.2.5 connect F
+GLIBC_2.2.5 fcntl F
+GLIBC_2.2.5 flockfile F
+GLIBC_2.2.5 fork F
+GLIBC_2.2.5 fsync F
+GLIBC_2.2.5 ftrylockfile F
+GLIBC_2.2.5 funlockfile F
+GLIBC_2.2.5 longjmp F
+GLIBC_2.2.5 lseek F
+GLIBC_2.2.5 lseek64 F
+GLIBC_2.2.5 msync F
+GLIBC_2.2.5 nanosleep F
+GLIBC_2.2.5 open F
+GLIBC_2.2.5 open64 F
+GLIBC_2.2.5 pause F
+GLIBC_2.2.5 pread F
+GLIBC_2.2.5 pread64 F
+GLIBC_2.2.5 pthread_atfork F
+GLIBC_2.2.5 pthread_attr_destroy F
+GLIBC_2.2.5 pthread_attr_getdetachstate F
+GLIBC_2.2.5 pthread_attr_getguardsize F
+GLIBC_2.2.5 pthread_attr_getinheritsched F
+GLIBC_2.2.5 pthread_attr_getschedparam F
+GLIBC_2.2.5 pthread_attr_getschedpolicy F
+GLIBC_2.2.5 pthread_attr_getscope F
+GLIBC_2.2.5 pthread_attr_getstack F
+GLIBC_2.2.5 pthread_attr_getstackaddr F
+GLIBC_2.2.5 pthread_attr_getstacksize F
+GLIBC_2.2.5 pthread_attr_init F
+GLIBC_2.2.5 pthread_attr_setdetachstate F
+GLIBC_2.2.5 pthread_attr_setguardsize F
+GLIBC_2.2.5 pthread_attr_setinheritsched F
+GLIBC_2.2.5 pthread_attr_setschedparam F
+GLIBC_2.2.5 pthread_attr_setschedpolicy F
+GLIBC_2.2.5 pthread_attr_setscope F
+GLIBC_2.2.5 pthread_attr_setstack F
+GLIBC_2.2.5 pthread_attr_setstackaddr F
+GLIBC_2.2.5 pthread_attr_setstacksize F
+GLIBC_2.2.5 pthread_barrier_destroy F
+GLIBC_2.2.5 pthread_barrier_init F
+GLIBC_2.2.5 pthread_barrier_wait F
+GLIBC_2.2.5 pthread_barrierattr_destroy F
+GLIBC_2.2.5 pthread_barrierattr_init F
+GLIBC_2.2.5 pthread_barrierattr_setpshared F
+GLIBC_2.2.5 pthread_cancel F
+GLIBC_2.2.5 pthread_cond_broadcast F
+GLIBC_2.2.5 pthread_cond_destroy F
+GLIBC_2.2.5 pthread_cond_init F
+GLIBC_2.2.5 pthread_cond_signal F
+GLIBC_2.2.5 pthread_cond_timedwait F
+GLIBC_2.2.5 pthread_cond_wait F
+GLIBC_2.2.5 pthread_condattr_destroy F
+GLIBC_2.2.5 pthread_condattr_getpshared F
+GLIBC_2.2.5 pthread_condattr_init F
+GLIBC_2.2.5 pthread_condattr_setpshared F
+GLIBC_2.2.5 pthread_create F
+GLIBC_2.2.5 pthread_detach F
+GLIBC_2.2.5 pthread_equal F
+GLIBC_2.2.5 pthread_exit F
+GLIBC_2.2.5 pthread_getattr_np F
+GLIBC_2.2.5 pthread_getconcurrency F
+GLIBC_2.2.5 pthread_getcpuclockid F
+GLIBC_2.2.5 pthread_getschedparam F
+GLIBC_2.2.5 pthread_getspecific F
+GLIBC_2.2.5 pthread_join F
+GLIBC_2.2.5 pthread_key_create F
+GLIBC_2.2.5 pthread_key_delete F
+GLIBC_2.2.5 pthread_kill F
+GLIBC_2.2.5 pthread_kill_other_threads_np F
+GLIBC_2.2.5 pthread_mutex_destroy F
+GLIBC_2.2.5 pthread_mutex_init F
+GLIBC_2.2.5 pthread_mutex_lock F
+GLIBC_2.2.5 pthread_mutex_timedlock F
+GLIBC_2.2.5 pthread_mutex_trylock F
+GLIBC_2.2.5 pthread_mutex_unlock F
+GLIBC_2.2.5 pthread_mutexattr_destroy F
+GLIBC_2.2.5 pthread_mutexattr_getkind_np F
+GLIBC_2.2.5 pthread_mutexattr_getpshared F
+GLIBC_2.2.5 pthread_mutexattr_gettype F
+GLIBC_2.2.5 pthread_mutexattr_init F
+GLIBC_2.2.5 pthread_mutexattr_setkind_np F
+GLIBC_2.2.5 pthread_mutexattr_setpshared F
+GLIBC_2.2.5 pthread_mutexattr_settype F
+GLIBC_2.2.5 pthread_once F
+GLIBC_2.2.5 pthread_rwlock_destroy F
+GLIBC_2.2.5 pthread_rwlock_init F
+GLIBC_2.2.5 pthread_rwlock_rdlock F
+GLIBC_2.2.5 pthread_rwlock_timedrdlock F
+GLIBC_2.2.5 pthread_rwlock_timedwrlock F
+GLIBC_2.2.5 pthread_rwlock_tryrdlock F
+GLIBC_2.2.5 pthread_rwlock_trywrlock F
+GLIBC_2.2.5 pthread_rwlock_unlock F
+GLIBC_2.2.5 pthread_rwlock_wrlock F
+GLIBC_2.2.5 pthread_rwlockattr_destroy F
+GLIBC_2.2.5 pthread_rwlockattr_getkind_np F
+GLIBC_2.2.5 pthread_rwlockattr_getpshared F
+GLIBC_2.2.5 pthread_rwlockattr_init F
+GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
+GLIBC_2.2.5 pthread_rwlockattr_setpshared F
+GLIBC_2.2.5 pthread_self F
+GLIBC_2.2.5 pthread_setcancelstate F
+GLIBC_2.2.5 pthread_setcanceltype F
+GLIBC_2.2.5 pthread_setconcurrency F
+GLIBC_2.2.5 pthread_setschedparam F
+GLIBC_2.2.5 pthread_setspecific F
+GLIBC_2.2.5 pthread_sigmask F
+GLIBC_2.2.5 pthread_spin_destroy F
+GLIBC_2.2.5 pthread_spin_init F
+GLIBC_2.2.5 pthread_spin_lock F
+GLIBC_2.2.5 pthread_spin_trylock F
+GLIBC_2.2.5 pthread_spin_unlock F
+GLIBC_2.2.5 pthread_testcancel F
+GLIBC_2.2.5 pthread_yield F
+GLIBC_2.2.5 pwrite F
+GLIBC_2.2.5 pwrite64 F
+GLIBC_2.2.5 raise F
+GLIBC_2.2.5 read F
+GLIBC_2.2.5 recv F
+GLIBC_2.2.5 recvfrom F
+GLIBC_2.2.5 recvmsg F
+GLIBC_2.2.5 sem_close F
+GLIBC_2.2.5 sem_destroy F
+GLIBC_2.2.5 sem_getvalue F
+GLIBC_2.2.5 sem_init F
+GLIBC_2.2.5 sem_open F
+GLIBC_2.2.5 sem_post F
+GLIBC_2.2.5 sem_timedwait F
+GLIBC_2.2.5 sem_trywait F
+GLIBC_2.2.5 sem_unlink F
+GLIBC_2.2.5 sem_wait F
+GLIBC_2.2.5 send F
+GLIBC_2.2.5 sendmsg F
+GLIBC_2.2.5 sendto F
+GLIBC_2.2.5 sigaction F
+GLIBC_2.2.5 siglongjmp F
+GLIBC_2.2.5 sigwait F
+GLIBC_2.2.5 system F
+GLIBC_2.2.5 tcdrain F
+GLIBC_2.2.5 vfork F
+GLIBC_2.2.5 wait F
+GLIBC_2.2.5 waitpid F
+GLIBC_2.2.5 write F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 pthread_attr_getaffinity_np F
+GLIBC_2.3.4 pthread_attr_setaffinity_np F
+GLIBC_2.3.4 pthread_getaffinity_np F
+GLIBC_2.3.4 pthread_setaffinity_np F
+GLIBC_2.3.4 pthread_setschedprio F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
new file mode 100644
index 0000000000..a111ccc488
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
@@ -0,0 +1,94 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 __b64_ntop F
+GLIBC_2.2.5 __b64_pton F
+GLIBC_2.2.5 __dn_comp F
+GLIBC_2.2.5 __dn_count_labels F
+GLIBC_2.2.5 __dn_expand F
+GLIBC_2.2.5 __dn_skipname F
+GLIBC_2.2.5 __fp_nquery F
+GLIBC_2.2.5 __fp_query F
+GLIBC_2.2.5 __fp_resstat F
+GLIBC_2.2.5 __hostalias F
+GLIBC_2.2.5 __loc_aton F
+GLIBC_2.2.5 __loc_ntoa F
+GLIBC_2.2.5 __p_cdname F
+GLIBC_2.2.5 __p_cdnname F
+GLIBC_2.2.5 __p_class F
+GLIBC_2.2.5 __p_class_syms D 0xa8
+GLIBC_2.2.5 __p_fqname F
+GLIBC_2.2.5 __p_fqnname F
+GLIBC_2.2.5 __p_option F
+GLIBC_2.2.5 __p_query F
+GLIBC_2.2.5 __p_secstodate F
+GLIBC_2.2.5 __p_time F
+GLIBC_2.2.5 __p_type F
+GLIBC_2.2.5 __p_type_syms D 0x450
+GLIBC_2.2.5 __putlong F
+GLIBC_2.2.5 __putshort F
+GLIBC_2.2.5 __res_close F
+GLIBC_2.2.5 __res_dnok F
+GLIBC_2.2.5 __res_hnok F
+GLIBC_2.2.5 __res_hostalias F
+GLIBC_2.2.5 __res_isourserver F
+GLIBC_2.2.5 __res_mailok F
+GLIBC_2.2.5 __res_mkquery F
+GLIBC_2.2.5 __res_nameinquery F
+GLIBC_2.2.5 __res_nmkquery F
+GLIBC_2.2.5 __res_nquery F
+GLIBC_2.2.5 __res_nquerydomain F
+GLIBC_2.2.5 __res_nsearch F
+GLIBC_2.2.5 __res_nsend F
+GLIBC_2.2.5 __res_ownok F
+GLIBC_2.2.5 __res_queriesmatch F
+GLIBC_2.2.5 __res_query F
+GLIBC_2.2.5 __res_querydomain F
+GLIBC_2.2.5 __res_search F
+GLIBC_2.2.5 __res_send F
+GLIBC_2.2.5 __sym_ntop F
+GLIBC_2.2.5 __sym_ntos F
+GLIBC_2.2.5 __sym_ston F
+GLIBC_2.2.5 _gethtbyaddr F
+GLIBC_2.2.5 _gethtbyname F
+GLIBC_2.2.5 _gethtbyname2 F
+GLIBC_2.2.5 _gethtent F
+GLIBC_2.2.5 _getlong F
+GLIBC_2.2.5 _getshort F
+GLIBC_2.2.5 _res_opcodes D 0x80
+GLIBC_2.2.5 _sethtent F
+GLIBC_2.2.5 inet_net_ntop F
+GLIBC_2.2.5 inet_net_pton F
+GLIBC_2.2.5 inet_neta F
+GLIBC_2.2.5 res_gethostbyaddr F
+GLIBC_2.2.5 res_gethostbyname F
+GLIBC_2.2.5 res_gethostbyname2 F
+GLIBC_2.2.5 res_send_setqhook F
+GLIBC_2.2.5 res_send_setrhook 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/x86_64/64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
new file mode 100644
index 0000000000..d626758434
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -0,0 +1,52 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 aio_cancel F
+GLIBC_2.2.5 aio_cancel64 F
+GLIBC_2.2.5 aio_error F
+GLIBC_2.2.5 aio_error64 F
+GLIBC_2.2.5 aio_fsync F
+GLIBC_2.2.5 aio_fsync64 F
+GLIBC_2.2.5 aio_init F
+GLIBC_2.2.5 aio_read F
+GLIBC_2.2.5 aio_read64 F
+GLIBC_2.2.5 aio_return F
+GLIBC_2.2.5 aio_return64 F
+GLIBC_2.2.5 aio_suspend F
+GLIBC_2.2.5 aio_suspend64 F
+GLIBC_2.2.5 aio_write F
+GLIBC_2.2.5 aio_write64 F
+GLIBC_2.2.5 clock_getcpuclockid F
+GLIBC_2.2.5 clock_getres F
+GLIBC_2.2.5 clock_gettime F
+GLIBC_2.2.5 clock_nanosleep F
+GLIBC_2.2.5 clock_settime F
+GLIBC_2.2.5 lio_listio F
+GLIBC_2.2.5 lio_listio64 F
+GLIBC_2.2.5 shm_open F
+GLIBC_2.2.5 shm_unlink F
+GLIBC_2.2.5 timer_create F
+GLIBC_2.2.5 timer_delete F
+GLIBC_2.2.5 timer_getoverrun F
+GLIBC_2.2.5 timer_gettime F
+GLIBC_2.2.5 timer_settime 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/x86_64/64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist
new file mode 100644
index 0000000000..291a19132d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist
@@ -0,0 +1,43 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 td_init F
+GLIBC_2.2.5 td_log F
+GLIBC_2.2.5 td_symbol_list F
+GLIBC_2.2.5 td_ta_clear_event F
+GLIBC_2.2.5 td_ta_delete F
+GLIBC_2.2.5 td_ta_enable_stats F
+GLIBC_2.2.5 td_ta_event_addr F
+GLIBC_2.2.5 td_ta_event_getmsg F
+GLIBC_2.2.5 td_ta_get_nthreads F
+GLIBC_2.2.5 td_ta_get_ph F
+GLIBC_2.2.5 td_ta_get_stats F
+GLIBC_2.2.5 td_ta_map_id2thr F
+GLIBC_2.2.5 td_ta_map_lwp2thr F
+GLIBC_2.2.5 td_ta_new F
+GLIBC_2.2.5 td_ta_reset_stats F
+GLIBC_2.2.5 td_ta_set_event F
+GLIBC_2.2.5 td_ta_setconcurrency F
+GLIBC_2.2.5 td_ta_thr_iter F
+GLIBC_2.2.5 td_ta_tsd_iter F
+GLIBC_2.2.5 td_thr_clear_event F
+GLIBC_2.2.5 td_thr_dbresume F
+GLIBC_2.2.5 td_thr_dbsuspend F
+GLIBC_2.2.5 td_thr_event_enable F
+GLIBC_2.2.5 td_thr_event_getmsg F
+GLIBC_2.2.5 td_thr_get_info F
+GLIBC_2.2.5 td_thr_getfpregs F
+GLIBC_2.2.5 td_thr_getgregs F
+GLIBC_2.2.5 td_thr_getxregs F
+GLIBC_2.2.5 td_thr_getxregsize F
+GLIBC_2.2.5 td_thr_set_event F
+GLIBC_2.2.5 td_thr_setfpregs F
+GLIBC_2.2.5 td_thr_setgregs F
+GLIBC_2.2.5 td_thr_setprio F
+GLIBC_2.2.5 td_thr_setsigpending F
+GLIBC_2.2.5 td_thr_setxregs F
+GLIBC_2.2.5 td_thr_sigsetmask F
+GLIBC_2.2.5 td_thr_tsd F
+GLIBC_2.2.5 td_thr_validate 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/x86_64/64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist
new file mode 100644
index 0000000000..98d06aa9f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.2.5 GLIBC_2.2.5 A
+GLIBC_2.2.5 forkpty F
+GLIBC_2.2.5 login F
+GLIBC_2.2.5 login_tty F
+GLIBC_2.2.5 logout F
+GLIBC_2.2.5 logwtmp F
+GLIBC_2.2.5 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h
new file mode 100644
index 0000000000..06254efb94
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h
@@ -0,0 +1,42 @@
+/* Linux mmap system call.  x86-64 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef MMAP_X86_64_INTERNAL_H
+#define MMAP_X86_64_INTERNAL_H
+
+#include <ldsodefs.h>
+
+/* If the Prefer_MAP_32BIT_EXEC bit is set, try to map executable pages
+   with MAP_32BIT first.  */
+#define MMAP_PREPARE(addr, len, prot, flags, fd, offset)		\
+  if ((addr) == NULL							\
+      && ((prot) & PROT_EXEC) != 0					\
+      && HAS_ARCH_FEATURE (Prefer_MAP_32BIT_EXEC))			\
+    {									\
+      void *ret = (void*) INLINE_SYSCALL_CALL (mmap, (addr), (len),	\
+					      (prot),			\
+					      (flags) | MAP_32BIT,	\
+					      (fd), (offset));		\
+      if (ret != MAP_FAILED)						\
+	return ret;							\
+    }
+
+#include_next <mmap_internal.h>
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions
new file mode 100644
index 0000000000..7f87a8bd17
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions
@@ -0,0 +1,4 @@
+# DEFAULT			Earliest symbol set
+# ---------------		------------------------------
+DEFAULT			GLIBC_2.2.5
+ld=ld-linux-x86-64.so.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies
new file mode 100644
index 0000000000..c9be3c4711
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies
@@ -0,0 +1,3 @@
+unix/sysv/linux/x86
+unix/sysv/linux/wordsize-64
+x86_64/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile
new file mode 100644
index 0000000000..9b82155393
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile
@@ -0,0 +1,15 @@
+ifeq ($(subdir),misc)
+sysdep_routines += ioperm iopl
+endif
+
+ifeq ($(subdir),stdlib)
+sysdep_routines += __start_context
+endif
+
+ifeq ($(subdir),csu)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+ifeq ($(subdir),misc)
+gen-as-const-headers += sigaltstack-offsets.sym
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions
new file mode 100644
index 0000000000..2a7ed280fd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions
@@ -0,0 +1,17 @@
+libc {
+  GLIBC_2.2.5 {
+    arch_prctl; __arch_prctl;
+
+    ioperm; iopl;
+
+    modify_ldt;
+  }
+}
+
+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/x86_64/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
new file mode 100644
index 0000000000..2955c56a56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
@@ -0,0 +1,131 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <jmpbuf-offsets.h>
+#include <asm-syntax.h>
+#include <stap-probe.h>
+
+#include <sigaltstack-offsets.h>
+
+	.section .rodata.str1.1,"aMS",@progbits,1
+	.type	longjmp_msg,@object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size	longjmp_msg, .-longjmp_msg
+
+
+//#define __longjmp ____longjmp_chk
+
+#ifdef PIC
+# define CALL_FAIL	sub	$8, %RSP_LP;				      \
+			cfi_remember_state;				      \
+			cfi_def_cfa_offset(16);				      \
+			lea	longjmp_msg(%rip), %RDI_LP;		      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail);	      \
+			nop;						      \
+			cfi_restore_state
+#else
+# define CALL_FAIL	sub	$8, %RSP_LP;				      \
+			cfi_remember_state;				      \
+			cfi_def_cfa_offset(16);				      \
+			mov	$longjmp_msg, %RDI_LP;			      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail);	      \
+			nop;						      \
+			cfi_restore_state
+#endif
+
+/* Jump to the position specified by ENV, causing the
+   setjmp call there to return VAL, or 1 if VAL is 0.
+   void __longjmp (__jmp_buf env, int val).  */
+	.text
+ENTRY(____longjmp_chk)
+	/* Restore registers.  */
+	mov	(JB_RSP*8)(%rdi), %R8_LP
+	mov	(JB_RBP*8)(%rdi),%R9_LP
+	mov	(JB_PC*8)(%rdi), %RDX_LP
+#ifdef PTR_DEMANGLE
+	PTR_DEMANGLE (%R8_LP)
+	PTR_DEMANGLE (%R9_LP)
+	PTR_DEMANGLE (%RDX_LP)
+# ifdef __ILP32__
+	/* We ignored the high bits of the %rbp value because only the low
+	   bits are mangled.  But we cannot presume that %rbp is being used
+	   as a pointer and truncate it, so recover the high bits.  */
+	movl (JB_RBP*8 + 4)(%rdi), %eax
+	shlq $32, %rax
+	orq %rax, %r9
+# endif
+#endif
+
+	cmp	%R8_LP, %RSP_LP
+	jbe	.Lok
+
+	/* Save function parameters.  */
+	movq	%rdi, %r10
+	cfi_register (%rdi, %r10)
+	movl	%esi, %ebx
+	cfi_register (%rsi, %rbx)
+
+	xorl	%edi, %edi
+	lea	-sizeSS(%rsp), %RSI_LP
+	movl	$__NR_sigaltstack, %eax
+	syscall
+	/* Without working sigaltstack we cannot perform the test.  */
+	testl	%eax, %eax
+	jne	.Lok2
+	testl	$1, (-sizeSS + oSS_FLAGS)(%rsp)
+	jz	.Lfail
+
+	mov	(-sizeSS + oSS_SP)(%rsp), %RAX_LP
+	add	(-sizeSS + oSS_SIZE)(%rsp), %RAX_LP
+	sub	%R8_LP, %RAX_LP
+	cmp	(-sizeSS + oSS_SIZE)(%rsp), %RAX_LP
+	jae	.Lok2
+
+.Lfail:	CALL_FAIL
+
+.Lok2:	movq	%r10, %rdi
+	cfi_restore (%rdi)
+	movl	%ebx, %esi
+	cfi_restore (%rsi)
+
+.Lok:
+	LIBC_PROBE (longjmp, 3, LP_SIZE@%RDI_LP, -4@%esi, LP_SIZE@%RDX_LP)
+	/* We add unwind information for the target here.  */
+	cfi_def_cfa(%rdi, 0)
+	cfi_register(%rsp,%r8)
+	cfi_register(%rbp,%r9)
+	cfi_register(%rip,%rdx)
+	cfi_offset(%rbx,JB_RBX*8)
+	cfi_offset(%r12,JB_R12*8)
+	cfi_offset(%r13,JB_R13*8)
+	cfi_offset(%r14,JB_R14*8)
+	cfi_offset(%r15,JB_R15*8)
+	movq	(JB_RBX*8)(%rdi), %rbx
+	movq	(JB_R12*8)(%rdi), %r12
+	movq	(JB_R13*8)(%rdi), %r13
+	movq	(JB_R14*8)(%rdi), %r14
+	movq	(JB_R15*8)(%rdi), %r15
+	/* Set return value for setjmp.  */
+	movl	%esi, %eax
+	mov	%R8_LP, %RSP_LP
+	movq	%r9,%rbp
+	LIBC_PROBE (longjmp_target, 3,
+		    LP_SIZE@%RDI_LP, -4@%eax, LP_SIZE@%RDX_LP)
+	jmpq	*%rdx
+END (____longjmp_chk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S
new file mode 100644
index 0000000000..d05ddc6a01
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S
@@ -0,0 +1,49 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 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>
+
+/* 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)
+	/* This removes the parameters passed to the function given to
+	   'makecontext' from the stack.  RBX contains the address
+	   on the stack pointer for the next context.  */
+	movq	%rbx, %rsp
+
+	/* Don't use pop here so that stack is aligned to 16 bytes.  */
+	movq	(%rsp), %rdi		/* This is the next context.  */
+	testq	%rdi, %rdi
+	je	2f			/* If it is zero exit.  */
+
+	call	__setcontext
+	/* If this returns (which can happen if the syscall fails) we'll
+	   exit the program with the return error value (-1).  */
+	movq	%rax,%rdi
+
+2:
+	call	HIDDEN_JUMPTARGET(exit)
+	/* The 'exit' call should never return.  In case it does cause
+	   the process to terminate.  */
+	hlt
+END(__start_context)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h
new file mode 100644
index 0000000000..29afc00583
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h
@@ -0,0 +1,27 @@
+/* Internal definitions for thread-friendly fork implementation.  Linux/x86_64.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <sysdep.h>
+#include <tls.h>
+
+#define ARCH_FORK() \
+  INLINE_SYSCALL (clone, 4,                                                   \
+                  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
+                  NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c
new file mode 100644
index 0000000000..7f6ae7a95d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c
@@ -0,0 +1,41 @@
+/* brk system call for Linux/x86_64.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sysdep.h>
+
+/* This must be initialized data because commons can't have aliases.  */
+void *__curbrk = 0;
+
+int
+__brk (void *addr)
+{
+  void *newbrk;
+
+  __curbrk = newbrk = (void *) INLINE_SYSCALL (brk, 1, addr);
+
+  if (newbrk < addr)
+    {
+      __set_errno (ENOMEM);
+      return -1;
+    }
+
+  return 0;
+}
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S
new file mode 100644
index 0000000000..ed804df138
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S
@@ -0,0 +1,115 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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>
+#include <kernel-features.h>
+#include "lowlevellock.h"
+
+#define PTHREAD_UNWIND JUMPTARGET(__pthread_unwind)
+#if IS_IN (libpthread)
+# if defined SHARED && !defined NO_HIDDEN
+#  undef PTHREAD_UNWIND
+#  define PTHREAD_UNWIND __GI___pthread_unwind
+# endif
+#else
+# ifndef SHARED
+	.weak __pthread_unwind
+# endif
+#endif
+
+
+#ifdef __ASSUME_PRIVATE_FUTEX
+# define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+#else
+# if FUTEX_WAIT == 0
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	%fs:PRIVATE_FUTEX, reg
+# else
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT, reg
+# endif
+#endif
+
+/* It is crucial that the functions in this file don't modify registers
+   other than %rax and %r11.  The syscall wrapper code depends on this
+   because it doesn't explicitly save the other registers which hold
+   relevant values.  */
+	.text
+
+	.hidden __pthread_enable_asynccancel
+ENTRY(__pthread_enable_asynccancel)
+	movl	%fs:CANCELHANDLING, %eax
+2:	movl	%eax, %r11d
+	orl	$TCB_CANCELTYPE_BITMASK, %r11d
+	cmpl	%eax, %r11d
+	je	1f
+
+	lock
+	cmpxchgl %r11d, %fs:CANCELHANDLING
+	jnz	2b
+
+	andl	$(TCB_CANCELSTATE_BITMASK|TCB_CANCELTYPE_BITMASK|TCB_CANCELED_BITMASK|TCB_EXITING_BITMASK|TCB_CANCEL_RESTMASK|TCB_TERMINATED_BITMASK), %r11d
+	cmpl	$(TCB_CANCELTYPE_BITMASK|TCB_CANCELED_BITMASK), %r11d
+	je	3f
+
+1:	ret
+
+3:	subq	$8, %rsp
+	cfi_adjust_cfa_offset(8)
+	LP_OP(mov) $TCB_PTHREAD_CANCELED, %fs:RESULT
+	lock
+	orl	$TCB_EXITING_BITMASK, %fs:CANCELHANDLING
+	mov	%fs:CLEANUP_JMP_BUF, %RDI_LP
+	call	PTHREAD_UNWIND
+	hlt
+END(__pthread_enable_asynccancel)
+
+
+	.hidden __pthread_disable_asynccancel
+ENTRY(__pthread_disable_asynccancel)
+	testl	$TCB_CANCELTYPE_BITMASK, %edi
+	jnz	1f
+
+	movl	%fs:CANCELHANDLING, %eax
+2:	movl	%eax, %r11d
+	andl	$~TCB_CANCELTYPE_BITMASK, %r11d
+	lock
+	cmpxchgl %r11d, %fs:CANCELHANDLING
+	jnz	2b
+
+	movl	%r11d, %eax
+3:	andl	$(TCB_CANCELING_BITMASK|TCB_CANCELED_BITMASK), %eax
+	cmpl	$TCB_CANCELING_BITMASK, %eax
+	je	4f
+1:	ret
+
+	/* Performance doesn't matter in this loop.  We will
+	   delay until the thread is canceled.  And we will unlikely
+	   enter the loop twice.  */
+4:	mov	%fs:0, %RDI_LP
+	movl	$__NR_futex, %eax
+	xorq	%r10, %r10
+	addq	$CANCELHANDLING, %rdi
+	LOAD_PRIVATE_FUTEX_WAIT (%esi)
+	syscall
+	movl	%fs:CANCELHANDLING, %eax
+	jmp	3b
+END(__pthread_disable_asynccancel)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S
new file mode 100644
index 0000000000..d5c2d07885
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S
@@ -0,0 +1,107 @@
+/* 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/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <asm-syntax.h>
+
+#define CLONE_VM	0x00000100
+
+/* The userland implementation is:
+   int clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg),
+   the kernel entry is:
+   int clone (long flags, void *child_stack).
+
+   The parameters are passed in register and on the stack from userland:
+   rdi: fn
+   rsi: child_stack
+   rdx:	flags
+   rcx: arg
+   r8d:	TID field in parent
+   r9d: thread pointer
+%esp+8:	TID field in child
+
+   The kernel expects:
+   rax: system call number
+   rdi: flags
+   rsi: child_stack
+   rdx: TID field in parent
+   r10: TID field in child
+   r8:	thread pointer  */
+
+
+        .text
+ENTRY (__clone)
+	/* Sanity check arguments.  */
+	movq	$-EINVAL,%rax
+	testq	%rdi,%rdi		/* no NULL function pointers */
+	jz	SYSCALL_ERROR_LABEL
+	testq	%rsi,%rsi		/* no NULL stack pointers */
+	jz	SYSCALL_ERROR_LABEL
+
+	/* Insert the argument onto the new stack.  */
+	subq	$16,%rsi
+	movq	%rcx,8(%rsi)
+
+	/* Save the function pointer.  It will be popped off in the
+	   child in the ebx frobbing below.  */
+	movq	%rdi,0(%rsi)
+
+	/* Do the system call.  */
+	movq	%rdx, %rdi
+	movq	%r8, %rdx
+	movq	%r9, %r8
+	mov	8(%rsp), %R10_LP
+	movl	$SYS_ify(clone),%eax
+
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc;
+	syscall
+
+	testq	%rax,%rax
+	jl	SYSCALL_ERROR_LABEL
+	jz	L(thread_start)
+
+	ret
+
+L(thread_start):
+	cfi_startproc;
+	/* Clearing frame pointer is insufficient, use CFI.  */
+	cfi_undefined (rip);
+	/* Clear the frame pointer.  The ABI suggests this be done, to mark
+	   the outermost frame obviously.  */
+	xorl	%ebp, %ebp
+
+	/* Set up arguments for the function call.  */
+	popq	%rax		/* Function to call.  */
+	popq	%rdi		/* Argument.  */
+	call	*%rax
+	/* Call exit with return value from function call. */
+	movq	%rax, %rdi
+	call	HIDDEN_JUMPTARGET (_exit)
+	cfi_endproc;
+
+	cfi_startproc;
+PSEUDO_END (__clone)
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
new file mode 100644
index 0000000000..f5d5380a00
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <time.h>
+#include <sys/types.h>
+
+#define OLD_TIMER_MAX	256
+
+extern timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden;
+
+
+extern int __timer_create_new (clockid_t clock_id, struct sigevent *evp,
+			       timer_t *timerid);
+extern int __timer_delete_new (timer_t timerid);
+extern int __timer_getoverrun_new (timer_t timerid);
+extern int __timer_gettime_new (timer_t timerid, struct itimerspec *value);
+extern int __timer_settime_new (timer_t timerid, int flags,
+				const struct itimerspec *value,
+				struct itimerspec *ovalue);
+
+
+extern int __timer_create_old (clockid_t clock_id, struct sigevent *evp,
+			       int *timerid);
+extern int __timer_delete_old (int timerid);
+extern int __timer_getoverrun_old (int timerid);
+extern int __timer_gettime_old (int timerid, struct itimerspec *value);
+extern int __timer_settime_old (int timerid, int flags,
+				const struct itimerspec *value,
+				struct itimerspec *ovalue);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure
new file mode 100644
index 0000000000..cb904876ab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure
@@ -0,0 +1,4 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/x86_64.
+
+ldd_rewrite_script=sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac
new file mode 100644
index 0000000000..4a34e9458a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/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/x86_64.
+
+ldd_rewrite_script=sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
new file mode 100644
index 0000000000..fd61441245
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
@@ -0,0 +1,51 @@
+/* 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	0x303
+
+#define _dl_cache_check_flags(flags)			\
+  ((flags) == _DL_CACHE_DEFAULT_ID)
+
+#define add_system_dir(dir) \
+  do								\
+    {								\
+      size_t len = strlen (dir);				\
+      char path[len + 4];					\
+      memcpy (path, dir, len + 1);				\
+      if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6))	\
+	{							\
+	  len -= 2;						\
+	  path[len] = '\0';					\
+	}							\
+      else if (len >= 7						\
+	       && ! memcmp (path + len - 7, "/libx32", 7))	\
+	{							\
+	  len -= 3;						\
+	  path[len] = '\0';					\
+	}							\
+      add_dir (path);						\
+      if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4))	\
+	{							\
+	  memcpy (path + len, "64", 3);				\
+	  add_dir (path);					\
+	  memcpy (path + len, "x32", 4);				\
+	  add_dir (path);					\
+	}							\
+    } while (0)
+
+#include <sysdeps/generic/dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c
new file mode 100644
index 0000000000..a3c0c1931e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c
@@ -0,0 +1,5 @@
+#if IS_IN (ldconfig)
+# include <sysdeps/i386/dl-procinfo.c>
+#else
+# include <sysdeps/x86_64/dl-procinfo.c>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h
new file mode 100644
index 0000000000..7b45fe4bf8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h
@@ -0,0 +1,5 @@
+#if IS_IN (ldconfig)
+# include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
+#else
+# include <sysdeps/x86/dl-procinfo.h>
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c
new file mode 100644
index 0000000000..a58d40a9c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c
@@ -0,0 +1 @@
+#include "../i386/get_clockfreq.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S
new file mode 100644
index 0000000000..fed47d0f5d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S
@@ -0,0 +1,87 @@
+/* Save current context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 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 "ucontext_i.h"
+
+/*  int __getcontext (ucontext_t *ucp)
+
+  Saves the machine context in UCP such that when it is activated,
+  it appears as if __getcontext() returned again.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+
+ENTRY(__getcontext)
+	/* Save the preserved registers, the registers used for passing
+	   args, and the return address.  */
+	movq	%rbx, oRBX(%rdi)
+	movq	%rbp, oRBP(%rdi)
+	movq	%r12, oR12(%rdi)
+	movq	%r13, oR13(%rdi)
+	movq	%r14, oR14(%rdi)
+	movq	%r15, oR15(%rdi)
+
+	movq	%rdi, oRDI(%rdi)
+	movq	%rsi, oRSI(%rdi)
+	movq	%rdx, oRDX(%rdi)
+	movq	%rcx, oRCX(%rdi)
+	movq	%r8, oR8(%rdi)
+	movq	%r9, oR9(%rdi)
+
+	movq	(%rsp), %rcx
+	movq	%rcx, oRIP(%rdi)
+	leaq	8(%rsp), %rcx		/* Exclude the return address.  */
+	movq	%rcx, oRSP(%rdi)
+
+	/* We have separate floating-point register content memory on the
+	   stack.  We use the __fpregs_mem block in the context.  Set the
+	   links up correctly.  */
+
+	leaq	oFPREGSMEM(%rdi), %rcx
+	movq	%rcx, oFPREGS(%rdi)
+	/* Save the floating-point environment.  */
+	fnstenv	(%rcx)
+	fldenv	(%rcx)
+	stmxcsr oMXCSR(%rdi)
+
+	/* Save the current signal mask with
+	   rt_sigprocmask (SIG_BLOCK, NULL, set,_NSIG/8).  */
+	leaq	oSIGMASK(%rdi), %rdx
+	xorl	%esi,%esi
+#if SIG_BLOCK == 0
+	xorl	%edi, %edi
+#else
+	movl	$SIG_BLOCK, %edi
+#endif
+	movl	$_NSIG8,%r10d
+	movl	$__NR_rt_sigprocmask, %eax
+	syscall
+	cmpq	$-4095, %rax		/* Check %rax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* All done, return 0 for success.  */
+	xorl	%eax, %eax
+	ret
+PSEUDO_END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c
new file mode 100644
index 0000000000..f1c46cb5bc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c
@@ -0,0 +1,52 @@
+/* Initialization code run first thing by the ELF startup code.  Linux/x86-64.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <time.h>
+# include <sysdep.h>
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
+  attribute_hidden;
+long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
+  attribute_hidden;
+
+extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
+
+
+static inline void
+__vdso_platform_setup (void)
+{
+  PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
+
+  void *p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
+  if (p == NULL)
+    p = __syscall_clock_gettime;
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(clock_gettime) = p;
+
+  p = _dl_vdso_vsym ("__vdso_getcpu", &linux26);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(getcpu) = p;
+}
+
+# define VDSO_SETUP __vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h
new file mode 100644
index 0000000000..6de3cd6fc2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h
@@ -0,0 +1,32 @@
+/* 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 short uid;		/* Owner's user ID.  */
+  unsigned short gid;		/* Owner's group ID.  */
+  unsigned short cuid;		/* Creator's user ID.  */
+  unsigned short cgid;		/* Creator's group ID.  */
+  unsigned short mode;		/* Read/write permission.  */
+  unsigned short int __seq;	/* Sequence number.  */
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h
new file mode 100644
index 0000000000..115e34c090
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h
@@ -0,0 +1,26 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.  x86-64 version.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Define that x32 is a ILP32 ABI to set the correct interface to pass
+   64-bits values through syscalls.  */
+#ifdef __ILP32__
+# define __ASSUME_WORDSIZE64_ILP32	1
+#endif
+
+#include_next <kernel-features.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h
new file mode 100644
index 0000000000..945c02930c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h
@@ -0,0 +1,21 @@
+/* Definition of `struct stat' used in the kernel.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define STAT_IS_KERNEL_STAT 1
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
new file mode 100644
index 0000000000..3a7a75b7f0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
+  { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
+  { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
new file mode 100644
index 0000000000..44d76e8aa1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
@@ -0,0 +1,3 @@
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ 	]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S
new file mode 100644
index 0000000000..dc9d8226f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S
@@ -0,0 +1,21 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 __pthread_enable_asynccancel __libc_enable_asynccancel
+#define __pthread_disable_asynccancel __libc_disable_asynccancel
+#include "cancellation.S"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S
new file mode 100644
index 0000000000..1e5e150aa7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S
@@ -0,0 +1,19 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "lowlevellock.S"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist
new file mode 100644
index 0000000000..80d028a61c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist
@@ -0,0 +1,49 @@
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 _ZGVbN2v_cos F
+GLIBC_2.22 _ZGVbN2v_exp F
+GLIBC_2.22 _ZGVbN2v_log F
+GLIBC_2.22 _ZGVbN2v_sin F
+GLIBC_2.22 _ZGVbN2vv_pow F
+GLIBC_2.22 _ZGVbN2vvv_sincos F
+GLIBC_2.22 _ZGVbN4v_cosf F
+GLIBC_2.22 _ZGVbN4v_expf F
+GLIBC_2.22 _ZGVbN4v_logf F
+GLIBC_2.22 _ZGVbN4v_sinf F
+GLIBC_2.22 _ZGVbN4vv_powf F
+GLIBC_2.22 _ZGVbN4vvv_sincosf F
+GLIBC_2.22 _ZGVcN4v_cos F
+GLIBC_2.22 _ZGVcN4v_exp F
+GLIBC_2.22 _ZGVcN4v_log F
+GLIBC_2.22 _ZGVcN4v_sin F
+GLIBC_2.22 _ZGVcN4vv_pow F
+GLIBC_2.22 _ZGVcN4vvv_sincos F
+GLIBC_2.22 _ZGVcN8v_cosf F
+GLIBC_2.22 _ZGVcN8v_expf F
+GLIBC_2.22 _ZGVcN8v_logf F
+GLIBC_2.22 _ZGVcN8v_sinf F
+GLIBC_2.22 _ZGVcN8vv_powf F
+GLIBC_2.22 _ZGVcN8vvv_sincosf F
+GLIBC_2.22 _ZGVdN4v_cos F
+GLIBC_2.22 _ZGVdN4v_exp F
+GLIBC_2.22 _ZGVdN4v_log F
+GLIBC_2.22 _ZGVdN4v_sin F
+GLIBC_2.22 _ZGVdN4vv_pow F
+GLIBC_2.22 _ZGVdN4vvv_sincos F
+GLIBC_2.22 _ZGVdN8v_cosf F
+GLIBC_2.22 _ZGVdN8v_expf F
+GLIBC_2.22 _ZGVdN8v_logf F
+GLIBC_2.22 _ZGVdN8v_sinf F
+GLIBC_2.22 _ZGVdN8vv_powf F
+GLIBC_2.22 _ZGVdN8vvv_sincosf F
+GLIBC_2.22 _ZGVeN16v_cosf F
+GLIBC_2.22 _ZGVeN16v_expf F
+GLIBC_2.22 _ZGVeN16v_logf F
+GLIBC_2.22 _ZGVeN16v_sinf F
+GLIBC_2.22 _ZGVeN16vv_powf F
+GLIBC_2.22 _ZGVeN16vvv_sincosf F
+GLIBC_2.22 _ZGVeN8v_cos F
+GLIBC_2.22 _ZGVeN8v_exp F
+GLIBC_2.22 _ZGVeN8v_log F
+GLIBC_2.22 _ZGVeN8v_sin F
+GLIBC_2.22 _ZGVeN8vv_pow F
+GLIBC_2.22 _ZGVeN8vvv_sincos F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S
new file mode 100644
index 0000000000..8422939dc7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S
@@ -0,0 +1,21 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2009.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 __pthread_enable_asynccancel __librt_enable_asynccancel
+#define __pthread_disable_asynccancel __librt_disable_asynccancel
+#include "cancellation.S"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c
new file mode 100644
index 0000000000..f6875b8f89
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c
@@ -0,0 +1 @@
+/* __lll_timedlock_wait is in lowlevellock.S.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c
new file mode 100644
index 0000000000..43900c6294
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c
@@ -0,0 +1 @@
+/* __lll_timedwait_tid is in lowlevellock.S.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
new file mode 100644
index 0000000000..6e8ae053c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
@@ -0,0 +1,463 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <pthread-errnos.h>
+#include <kernel-features.h>
+#include <lowlevellock.h>
+
+#include <stap-probe.h>
+
+	.text
+
+#ifdef __ASSUME_PRIVATE_FUTEX
+# define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_PRIVATE_FUTEX_WAKE(reg) \
+	movl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_FUTEX_WAIT(reg) \
+	xorl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$(FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME), reg
+# define LOAD_FUTEX_WAKE(reg) \
+	xorl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
+#else
+# if FUTEX_WAIT == 0
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl    %fs:PRIVATE_FUTEX, reg
+# else
+#  define LOAD_PRIVATE_FUTEX_WAIT(reg) \
+	movl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT, reg
+# endif
+# define LOAD_PRIVATE_FUTEX_WAKE(reg) \
+	movl    %fs:PRIVATE_FUTEX, reg ; \
+	orl     $FUTEX_WAKE, reg
+# if FUTEX_WAIT == 0
+#  define LOAD_FUTEX_WAIT(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%fs:PRIVATE_FUTEX, reg
+# else
+#  define LOAD_FUTEX_WAIT(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT, reg
+# endif
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg
+# define LOAD_FUTEX_WAKE(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAKE, reg
+#endif
+
+
+	.globl	__lll_lock_wait_private
+	.type	__lll_lock_wait_private,@function
+	.hidden	__lll_lock_wait_private
+	.align	16
+__lll_lock_wait_private:
+	cfi_startproc
+	pushq	%r10
+	cfi_adjust_cfa_offset(8)
+	pushq	%rdx
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%r10, -16)
+	cfi_offset(%rdx, -24)
+	xorq	%r10, %r10	/* No timeout.  */
+	movl	$2, %edx
+	LOAD_PRIVATE_FUTEX_WAIT (%esi)
+
+	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
+	jne	2f
+
+1:	LIBC_PROBE (lll_lock_wait_private, 1, %rdi)
+	movl	$SYS_futex, %eax
+	syscall
+
+2:	movl	%edx, %eax
+	xchgl	%eax, (%rdi)	/* NB:	 lock is implied */
+
+	testl	%eax, %eax
+	jnz	1b
+
+	popq	%rdx
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rdx)
+	popq	%r10
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r10)
+	retq
+	cfi_endproc
+	.size	__lll_lock_wait_private,.-__lll_lock_wait_private
+
+#if !IS_IN (libc)
+	.globl	__lll_lock_wait
+	.type	__lll_lock_wait,@function
+	.hidden	__lll_lock_wait
+	.align	16
+__lll_lock_wait:
+	cfi_startproc
+	pushq	%r10
+	cfi_adjust_cfa_offset(8)
+	pushq	%rdx
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%r10, -16)
+	cfi_offset(%rdx, -24)
+	xorq	%r10, %r10	/* No timeout.  */
+	movl	$2, %edx
+	LOAD_FUTEX_WAIT (%esi)
+
+	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
+	jne	2f
+
+1:	LIBC_PROBE (lll_lock_wait, 2, %rdi, %rsi)
+	movl	$SYS_futex, %eax
+	syscall
+
+2:	movl	%edx, %eax
+	xchgl	%eax, (%rdi)	/* NB:	 lock is implied */
+
+	testl	%eax, %eax
+	jnz	1b
+
+	popq	%rdx
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rdx)
+	popq	%r10
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r10)
+	retq
+	cfi_endproc
+	.size	__lll_lock_wait,.-__lll_lock_wait
+
+	/*      %rdi: futex
+		%rsi: flags
+		%rdx: timeout
+		%eax: futex value
+	*/
+	.globl	__lll_timedlock_wait
+	.type	__lll_timedlock_wait,@function
+	.hidden	__lll_timedlock_wait
+	.align	16
+__lll_timedlock_wait:
+	cfi_startproc
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+#  ifdef PIC
+	cmpl	$0, __have_futex_clock_realtime(%rip)
+#  else
+	cmpl	$0, __have_futex_clock_realtime
+#  endif
+	je	.Lreltmo
+# endif
+
+	cmpq	$0, (%rdx)
+	js	5f
+
+	pushq	%r9
+	cfi_adjust_cfa_offset(8)
+	cfi_rel_offset(%r9, 0)
+
+	movq	%rdx, %r10
+	movl	$0xffffffff, %r9d
+	LOAD_FUTEX_WAIT_ABS (%esi)
+
+	movl	$2, %edx
+	cmpl	%edx, %eax
+	jne	2f
+
+1:	movl	$SYS_futex, %eax
+	movl	$2, %edx
+	syscall
+
+2:	xchgl	%edx, (%rdi)	/* NB:   lock is implied */
+
+	testl	%edx, %edx
+	jz	3f
+
+	cmpl	$-ETIMEDOUT, %eax
+	je	4f
+	cmpl	$-EINVAL, %eax
+	jne	1b
+4:	movl	%eax, %edx
+	negl	%edx
+
+3:	movl	%edx, %eax
+	popq	%r9
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r9)
+	retq
+
+5:	movl	$ETIMEDOUT, %eax
+	retq
+
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+.Lreltmo:
+	/* Check for a valid timeout value.  */
+	cmpq	$1000000000, 8(%rdx)
+	jae	3f
+
+	pushq	%r8
+	cfi_adjust_cfa_offset(8)
+	pushq	%r9
+	cfi_adjust_cfa_offset(8)
+	pushq	%r12
+	cfi_adjust_cfa_offset(8)
+	pushq	%r13
+	cfi_adjust_cfa_offset(8)
+	pushq	%r14
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%r8, -16)
+	cfi_offset(%r9, -24)
+	cfi_offset(%r12, -32)
+	cfi_offset(%r13, -40)
+	cfi_offset(%r14, -48)
+	pushq	%rsi
+	cfi_adjust_cfa_offset(8)
+
+	/* Stack frame for the timespec and timeval structs.  */
+	subq	$24, %rsp
+	cfi_adjust_cfa_offset(24)
+
+	movq	%rdi, %r12
+	movq	%rdx, %r13
+
+	movl	$2, %edx
+	xchgl	%edx, (%r12)
+
+	testl	%edx, %edx
+	je	6f
+
+1:
+	/* Get current time.  */
+	movq	%rsp, %rdi
+	xorl	%esi, %esi
+	/* This call works because we directly jump to a system call entry
+	   which preserves all the registers.  */
+	call	JUMPTARGET(__gettimeofday)
+
+	/* Compute relative timeout.  */
+	movq	8(%rsp), %rax
+	movl	$1000, %edi
+	mul	%rdi		/* Milli seconds to nano seconds.  */
+	movq	(%r13), %rdi
+	movq	8(%r13), %rsi
+	subq	(%rsp), %rdi
+	subq	%rax, %rsi
+	jns	4f
+	addq	$1000000000, %rsi
+	decq	%rdi
+4:	testq	%rdi, %rdi
+	js	2f		/* Time is already up.  */
+
+	/* Store relative timeout.  */
+	movq	%rdi, (%rsp)
+	movq	%rsi, 8(%rsp)
+
+	/* Futex call.  */
+	movl	$2, %edx
+	movl	$1, %eax
+	movq	%rsp, %r10
+	movl	24(%rsp), %esi
+	LOAD_FUTEX_WAIT (%esi)
+	movq	%r12, %rdi
+	movl	$SYS_futex, %eax
+	syscall
+
+	/* NB: %edx == 2 */
+	xchgl	%edx, (%r12)
+
+	testl	%edx, %edx
+	je	6f
+
+	cmpl	$-ETIMEDOUT, %eax
+	jne	1b
+2:	movl	$ETIMEDOUT, %edx
+
+6:	addq	$32, %rsp
+	cfi_adjust_cfa_offset(-32)
+	popq	%r14
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r14)
+	popq	%r13
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r13)
+	popq	%r12
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r12)
+	popq	%r9
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r9)
+	popq	%r8
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r8)
+	movl	%edx, %eax
+	retq
+
+3:	movl	$EINVAL, %eax
+	retq
+# endif
+	cfi_endproc
+	.size	__lll_timedlock_wait,.-__lll_timedlock_wait
+#endif
+
+
+	.globl	__lll_unlock_wake_private
+	.type	__lll_unlock_wake_private,@function
+	.hidden	__lll_unlock_wake_private
+	.align	16
+__lll_unlock_wake_private:
+	cfi_startproc
+	pushq	%rsi
+	cfi_adjust_cfa_offset(8)
+	pushq	%rdx
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%rsi, -16)
+	cfi_offset(%rdx, -24)
+
+	movl	$0, (%rdi)
+	LOAD_PRIVATE_FUTEX_WAKE (%esi)
+	movl	$1, %edx	/* Wake one thread.  */
+	movl	$SYS_futex, %eax
+	syscall
+
+	popq	%rdx
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rdx)
+	popq	%rsi
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rsi)
+	retq
+	cfi_endproc
+	.size	__lll_unlock_wake_private,.-__lll_unlock_wake_private
+
+#if !IS_IN (libc)
+	.globl	__lll_unlock_wake
+	.type	__lll_unlock_wake,@function
+	.hidden	__lll_unlock_wake
+	.align	16
+__lll_unlock_wake:
+	cfi_startproc
+	pushq	%rsi
+	cfi_adjust_cfa_offset(8)
+	pushq	%rdx
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%rsi, -16)
+	cfi_offset(%rdx, -24)
+
+	movl	$0, (%rdi)
+	LOAD_FUTEX_WAKE (%esi)
+	movl	$1, %edx	/* Wake one thread.  */
+	movl	$SYS_futex, %eax
+	syscall
+
+	popq	%rdx
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rdx)
+	popq	%rsi
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%rsi)
+	retq
+	cfi_endproc
+	.size	__lll_unlock_wake,.-__lll_unlock_wake
+
+	.globl	__lll_timedwait_tid
+	.type	__lll_timedwait_tid,@function
+	.hidden	__lll_timedwait_tid
+	.align	16
+__lll_timedwait_tid:
+	cfi_startproc
+	pushq	%r12
+	cfi_adjust_cfa_offset(8)
+	pushq	%r13
+	cfi_adjust_cfa_offset(8)
+	cfi_offset(%r12, -16)
+	cfi_offset(%r13, -24)
+
+	movq	%rdi, %r12
+	movq	%rsi, %r13
+
+	/* Align stack to 16 bytes when calling __gettimeofday.  */
+	subq	$24, %rsp
+	cfi_adjust_cfa_offset(24)
+
+	/* Get current time.  */
+2:	movq	%rsp, %rdi
+	xorl	%esi, %esi
+	/* This call works because we directly jump to a system call entry
+	   which preserves all the registers.  */
+	call	JUMPTARGET(__gettimeofday)
+
+	/* Compute relative timeout.  */
+	movq	8(%rsp), %rax
+	movl	$1000, %edi
+	mul	%rdi		/* Milli seconds to nano seconds.  */
+	movq	(%r13), %rdi
+	movq	8(%r13), %rsi
+	subq	(%rsp), %rdi
+	subq	%rax, %rsi
+	jns	5f
+	addq	$1000000000, %rsi
+	decq	%rdi
+5:	testq	%rdi, %rdi
+	js	6f		/* Time is already up.  */
+
+	movq	%rdi, (%rsp)	/* Store relative timeout.  */
+	movq	%rsi, 8(%rsp)
+
+	movl	(%r12), %edx
+	testl	%edx, %edx
+	jz	4f
+
+	movq	%rsp, %r10
+	/* XXX The kernel so far uses global futex for the wakeup at
+	   all times.  */
+#if FUTEX_WAIT == 0
+	xorl	%esi, %esi
+#else
+	movl	$FUTEX_WAIT, %esi
+#endif
+	movq	%r12, %rdi
+	movl	$SYS_futex, %eax
+	syscall
+
+	cmpl	$0, (%rdi)
+	jne	1f
+4:	xorl	%eax, %eax
+
+8:	addq	$24, %rsp
+	cfi_adjust_cfa_offset(-24)
+	popq	%r13
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r13)
+	popq	%r12
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r12)
+	retq
+
+	cfi_adjust_cfa_offset(32)
+1:	cmpq	$-ETIMEDOUT, %rax
+	jne	2b
+
+6:	movl	$ETIMEDOUT, %eax
+	jmp	8b
+	cfi_endproc
+	.size	__lll_timedwait_tid,.-__lll_timedwait_tid
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
new file mode 100644
index 0000000000..cbf6597e00
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
@@ -0,0 +1,278 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LOWLEVELLOCK_H
+#define _LOWLEVELLOCK_H	1
+
+#include <stap-probe.h>
+
+#ifndef __ASSEMBLER__
+# include <time.h>
+# include <sys/param.h>
+# include <bits/pthreadtypes.h>
+# include <kernel-features.h>
+# include <tcb-offsets.h>
+
+# ifndef LOCK_INSTR
+#  ifdef UP
+#   define LOCK_INSTR	/* nothing */
+#  else
+#   define LOCK_INSTR "lock;"
+#  endif
+# endif
+#else
+# ifndef LOCK
+#  ifdef UP
+#   define LOCK
+#  else
+#   define LOCK lock
+#  endif
+# endif
+#endif
+
+#include <lowlevellock-futex.h>
+
+/* XXX Remove when no assembler code uses futexes anymore.  */
+#define SYS_futex		__NR_futex
+
+#ifndef __ASSEMBLER__
+
+/* Initializer for lock.  */
+#define LLL_LOCK_INITIALIZER		(0)
+#define LLL_LOCK_INITIALIZER_LOCKED	(1)
+#define LLL_LOCK_INITIALIZER_WAITERS	(2)
+
+
+/* NB: in the lll_trylock macro we simply return the value in %eax
+   after the cmpxchg instruction.  In case the operation succeded this
+   value is zero.  In case the operation failed, the cmpxchg instruction
+   has loaded the current value of the memory work which is guaranteed
+   to be nonzero.  */
+#if !IS_IN (libc) || defined UP
+# define __lll_trylock_asm LOCK_INSTR "cmpxchgl %2, %1"
+#else
+# define __lll_trylock_asm "cmpl $0, __libc_multiple_threads(%%rip)\n\t"      \
+			   "je 0f\n\t"					      \
+			   "lock; cmpxchgl %2, %1\n\t"			      \
+			   "jmp 1f\n\t"					      \
+			   "0:\tcmpxchgl %2, %1\n\t"			      \
+			   "1:"
+#endif
+
+#define lll_trylock(futex) \
+  ({ int ret;								      \
+     __asm __volatile (__lll_trylock_asm				      \
+		       : "=a" (ret), "=m" (futex)			      \
+		       : "r" (LLL_LOCK_INITIALIZER_LOCKED), "m" (futex),      \
+			 "0" (LLL_LOCK_INITIALIZER)			      \
+		       : "memory");					      \
+     ret; })
+
+#define lll_cond_trylock(futex) \
+  ({ int ret;								      \
+     __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1"			      \
+		       : "=a" (ret), "=m" (futex)			      \
+		       : "r" (LLL_LOCK_INITIALIZER_WAITERS),		      \
+			 "m" (futex), "0" (LLL_LOCK_INITIALIZER)	      \
+		       : "memory");					      \
+     ret; })
+
+#if !IS_IN (libc) || defined UP
+# define __lll_lock_asm_start LOCK_INSTR "cmpxchgl %4, %2\n\t"		      \
+			      "jz 24f\n\t"
+#else
+# define __lll_lock_asm_start "cmpl $0, __libc_multiple_threads(%%rip)\n\t"   \
+			      "je 0f\n\t"				      \
+			      "lock; cmpxchgl %4, %2\n\t"		      \
+			      "jnz 1f\n\t"				      \
+			      "jmp 24f\n"				      \
+			      "0:\tcmpxchgl %4, %2\n\t"			      \
+			      "jz 24f\n\t"
+#endif
+
+#define lll_lock(futex, private) \
+  (void)								      \
+    ({ int ignore1, ignore2, ignore3;					      \
+       if (__builtin_constant_p (private) && (private) == LLL_PRIVATE)	      \
+	 __asm __volatile (__lll_lock_asm_start				      \
+			   "1:\tlea %2, %%" RDI_LP "\n"			      \
+			   "2:\tsub $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset 128\n"		      \
+			   "3:\tcallq __lll_lock_wait_private\n"	      \
+			   "4:\tadd $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset -128\n"		      \
+			   "24:"					      \
+			   : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),   \
+			     "=a" (ignore3)				      \
+			   : "0" (1), "m" (futex), "3" (0)		      \
+			   : "cx", "r11", "cc", "memory");		      \
+       else								      \
+	 __asm __volatile (__lll_lock_asm_start				      \
+			   "1:\tlea %2, %%" RDI_LP "\n"			      \
+			   "2:\tsub $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset 128\n"		      \
+			   "3:\tcallq __lll_lock_wait\n"		      \
+			   "4:\tadd $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset -128\n"		      \
+			   "24:"					      \
+			   : "=S" (ignore1), "=D" (ignore2), "=m" (futex),    \
+			     "=a" (ignore3)				      \
+			   : "1" (1), "m" (futex), "3" (0), "0" (private)     \
+			   : "cx", "r11", "cc", "memory");		      \
+    })									      \
+
+#define lll_cond_lock(futex, private) \
+  (void)								      \
+    ({ int ignore1, ignore2, ignore3;					      \
+       __asm __volatile (LOCK_INSTR "cmpxchgl %4, %2\n\t"		      \
+			 "jz 24f\n"					      \
+			 "1:\tlea %2, %%" RDI_LP "\n"			      \
+			 "2:\tsub $128, %%" RSP_LP "\n"			      \
+			 ".cfi_adjust_cfa_offset 128\n"			      \
+			 "3:\tcallq __lll_lock_wait\n"			      \
+			 "4:\tadd $128, %%" RSP_LP "\n"			      \
+			 ".cfi_adjust_cfa_offset -128\n"		      \
+			 "24:"						      \
+			 : "=S" (ignore1), "=D" (ignore2), "=m" (futex),      \
+			   "=a" (ignore3)				      \
+			 : "1" (2), "m" (futex), "3" (0), "0" (private)	      \
+			 : "cx", "r11", "cc", "memory");		      \
+    })
+
+#define lll_timedlock(futex, timeout, private) \
+  ({ int result, ignore1, ignore2, ignore3;				      \
+     __asm __volatile (LOCK_INSTR "cmpxchgl %1, %4\n\t"			      \
+		       "jz 24f\n"					      \
+		       "1:\tlea %4, %%" RDI_LP "\n"			      \
+		       "0:\tmov %8, %%" RDX_LP "\n"			      \
+		       "2:\tsub $128, %%" RSP_LP "\n"			      \
+		       ".cfi_adjust_cfa_offset 128\n"			      \
+		       "3:\tcallq __lll_timedlock_wait\n"		      \
+		       "4:\tadd $128, %%" RSP_LP "\n"			      \
+		       ".cfi_adjust_cfa_offset -128\n"			      \
+		       "24:"						      \
+		       : "=a" (result), "=D" (ignore1), "=S" (ignore2),	      \
+			 "=&d" (ignore3), "=m" (futex)			      \
+		       : "0" (0), "1" (1), "m" (futex), "m" (timeout),	      \
+			 "2" (private)					      \
+		       : "memory", "cx", "cc", "r10", "r11");		      \
+     result; })
+
+extern int __lll_timedlock_elision (int *futex, short *adapt_count,
+					 const struct timespec *timeout,
+					 int private) attribute_hidden;
+
+#define lll_timedlock_elision(futex, adapt_count, timeout, private)	\
+  __lll_timedlock_elision(&(futex), &(adapt_count), timeout, private)
+
+#if !IS_IN (libc) || defined UP
+# define __lll_unlock_asm_start LOCK_INSTR "decl %0\n\t"		      \
+				"je 24f\n\t"
+#else
+# define __lll_unlock_asm_start "cmpl $0, __libc_multiple_threads(%%rip)\n\t" \
+				"je 0f\n\t"				      \
+				"lock; decl %0\n\t"			      \
+				"jne 1f\n\t"				      \
+				"jmp 24f\n\t"				      \
+				"0:\tdecl %0\n\t"			      \
+				"je 24f\n\t"
+#endif
+
+#define lll_unlock(futex, private) \
+  (void)								      \
+    ({ int ignore;							      \
+       if (__builtin_constant_p (private) && (private) == LLL_PRIVATE)	      \
+	 __asm __volatile (__lll_unlock_asm_start			      \
+			   "1:\tlea %0, %%" RDI_LP "\n"			      \
+			   "2:\tsub $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset 128\n"		      \
+			   "3:\tcallq __lll_unlock_wake_private\n"	      \
+			   "4:\tadd $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset -128\n"		      \
+			   "24:"					      \
+			   : "=m" (futex), "=&D" (ignore)		      \
+			   : "m" (futex)				      \
+			   : "ax", "cx", "r11", "cc", "memory");	      \
+       else								      \
+	 __asm __volatile (__lll_unlock_asm_start			      \
+			   "1:\tlea %0, %%" RDI_LP "\n"			      \
+			   "2:\tsub $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset 128\n"		      \
+			   "3:\tcallq __lll_unlock_wake\n"		      \
+			   "4:\tadd $128, %%" RSP_LP "\n"		      \
+			   ".cfi_adjust_cfa_offset -128\n"		      \
+			   "24:"					      \
+			   : "=m" (futex), "=&D" (ignore)		      \
+			   : "m" (futex), "S" (private)			      \
+			   : "ax", "cx", "r11", "cc", "memory");	      \
+    })
+
+#define lll_islocked(futex) \
+  (futex != LLL_LOCK_INITIALIZER)
+
+
+/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
+   wake-up when the clone terminates.  The memory location contains the
+   thread ID while the clone is running and is reset to zero by the kernel
+   afterwards.  The kernel up to version 3.16.3 does not use the private futex
+   operations for futex wake-up when the clone terminates.  */
+#define lll_wait_tid(tid) \
+  do {					\
+    __typeof (tid) __tid;		\
+    while ((__tid = (tid)) != 0)	\
+      lll_futex_wait (&(tid), __tid, LLL_SHARED);\
+  } while (0)
+
+extern int __lll_timedwait_tid (int *, const struct timespec *)
+     attribute_hidden;
+
+/* As lll_wait_tid, but with a timeout.  If the timeout occurs then return
+   ETIMEDOUT.  If ABSTIME is invalid, return EINVAL.
+   XXX Note that this differs from the generic version in that we do the
+   error checking here and not in __lll_timedwait_tid.  */
+#define lll_timedwait_tid(tid, abstime) \
+  ({									      \
+    int __result = 0;							      \
+    if ((tid) != 0)							      \
+      {									      \
+	if ((abstime)->tv_nsec < 0 || (abstime)->tv_nsec >= 1000000000)	      \
+	  __result = EINVAL;						      \
+	else								      \
+	  __result = __lll_timedwait_tid (&(tid), (abstime));		      \
+      }									      \
+    __result; })
+
+extern int __lll_lock_elision (int *futex, short *adapt_count, int private)
+  attribute_hidden;
+
+extern int __lll_unlock_elision (int *lock, int private)
+  attribute_hidden;
+
+extern int __lll_trylock_elision (int *lock, short *adapt_count)
+  attribute_hidden;
+
+#define lll_lock_elision(futex, adapt_count, private) \
+  __lll_lock_elision (&(futex), &(adapt_count), private)
+#define lll_unlock_elision(futex, adapt_count, private) \
+  __lll_unlock_elision (&(futex), private)
+#define lll_trylock_elision(futex, adapt_count) \
+  __lll_trylock_elision (&(futex), &(adapt_count))
+
+#endif  /* !__ASSEMBLER__ */
+
+#endif	/* lowlevellock.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c
new file mode 100644
index 0000000000..59fb77a8c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c
@@ -0,0 +1,121 @@
+/* Create new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 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 <stdarg.h>
+#include <stdint.h>
+#include <ucontext.h>
+
+#include "ucontext_i.h"
+
+/* This implementation can handle any ARGC value but only
+   normal integer parameters.
+   makecontext sets up a stack and the registers for the
+   user context. The stack looks like this:
+               +-----------------------+
+               | next context          |
+               +-----------------------+
+               | parameter 7-n         |
+	       +-----------------------+
+	       | trampoline address    |
+    %rsp ->    +-----------------------+
+
+   The registers are set up like this:
+     %rdi,%rsi,%rdx,%rcx,%r8,%r9: parameter 1 to 6
+     %rbx   : address of next context
+     %rsp   : stack pointer.
+*/
+
+/* XXX: This implementation currently only handles integer arguments.
+   To handle long int and pointer arguments the va_arg arguments needs
+   to be changed to long and also the stdlib/tst-setcontext.c file needs
+   to be changed to pass long arguments to makecontext.  */
+
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __start_context (void);
+  greg_t *sp;
+  unsigned int idx_uc_link;
+  va_list ap;
+  int i;
+
+  /* Generate room on stack for parameter if needed and uc_link.  */
+  sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp
+		   + ucp->uc_stack.ss_size);
+  sp -= (argc > 6 ? argc - 6 : 0) + 1;
+  /* Align stack and make space for trampoline address.  */
+  sp = (greg_t *) ((((uintptr_t) sp) & -16L) - 8);
+
+  idx_uc_link = (argc > 6 ? argc - 6 : 0) + 1;
+
+  /* Setup context ucp.  */
+  /* Address to jump to.  */
+  ucp->uc_mcontext.gregs[REG_RIP] = (uintptr_t) func;
+  /* Setup rbx.*/
+  ucp->uc_mcontext.gregs[REG_RBX] = (uintptr_t) &sp[idx_uc_link];
+  ucp->uc_mcontext.gregs[REG_RSP] = (uintptr_t) sp;
+
+  /* Setup stack.  */
+  sp[0] = (uintptr_t) &__start_context;
+  sp[idx_uc_link] = (uintptr_t) ucp->uc_link;
+
+  va_start (ap, argc);
+  /* Handle arguments.
+
+     The standard says the parameters must all be int values.  This is
+     an historic accident and would be done differently today.  For
+     x86-64 all integer values are passed as 64-bit values and
+     therefore extending the API to copy 64-bit values instead of
+     32-bit ints makes sense.  It does not break existing
+     functionality and it does not violate the standard which says
+     that passing non-int values means undefined behavior.  */
+  for (i = 0; i < argc; ++i)
+    switch (i)
+      {
+      case 0:
+	ucp->uc_mcontext.gregs[REG_RDI] = va_arg (ap, greg_t);
+	break;
+      case 1:
+	ucp->uc_mcontext.gregs[REG_RSI] = va_arg (ap, greg_t);
+	break;
+      case 2:
+	ucp->uc_mcontext.gregs[REG_RDX] = va_arg (ap, greg_t);
+	break;
+      case 3:
+	ucp->uc_mcontext.gregs[REG_RCX] = va_arg (ap, greg_t);
+	break;
+      case 4:
+	ucp->uc_mcontext.gregs[REG_R8] = va_arg (ap, greg_t);
+	break;
+      case 5:
+	ucp->uc_mcontext.gregs[REG_R9] = va_arg (ap, greg_t);
+	break;
+      default:
+	/* Put value on stack.  */
+	sp[i - 5] = va_arg (ap, greg_t);
+	break;
+      }
+  va_end (ap);
+
+}
+
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h
new file mode 100644
index 0000000000..5970120bfa
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h
@@ -0,0 +1,31 @@
+/* Low-level statistical profiling support function.  Linux/x86-64 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 <signal.h>
+#include <sigcontextinfo.h>
+
+static void
+__profil_counter (int signo, SIGCONTEXT scp)
+{
+  profil_count ((void *) GET_PC (scp));
+
+  /* This is a hack to prevent the compiler from implementing the
+     above function call as a sibcall.  The sibcall would overwrite
+     the signal context.  */
+  asm volatile ("");
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c
new file mode 100644
index 0000000000..a7bbe38156
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c
@@ -0,0 +1,14 @@
+#include <tls.h>
+
+#define RESET_VGETCPU_CACHE() \
+  do {			      \
+    asm volatile ("movl %0, %%fs:%P1\n\t"				      \
+		  "movl %0, %%fs:%P2"					      \
+		  :							      \
+		  : "ir" (0), "i" (offsetof (struct pthread,		      \
+					     header.vgetcpu_cache[0])),	      \
+		    "i" (offsetof (struct pthread,			      \
+				   header.vgetcpu_cache[1])));		\
+  } while (0)
+
+#include <sysdeps/unix/sysv/linux/pthread_setaffinity.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c
new file mode 100644
index 0000000000..4c4e5f9d1a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c
@@ -0,0 +1,2 @@
+#define SKIP_EM_IA_64
+#include <sysdeps/unix/sysv/linux/i386/readelflib.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h
new file mode 100644
index 0000000000..6a52957901
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h
@@ -0,0 +1,345 @@
+/* Dump registers.
+   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 <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ RAX: XXXXXXXXXXXXXXXX   RBX: XXXXXXXXXXXXXXXX  RCX: XXXXXXXXXXXXXXXX
+ RDX: XXXXXXXXXXXXXXXX   RSI: XXXXXXXXXXXXXXXX  RDI: XXXXXXXXXXXXXXXX
+ RBP: XXXXXXXXXXXXXXXX   R8 : XXXXXXXXXXXXXXXX  R9 : XXXXXXXXXXXXXXXX
+ R10: XXXXXXXXXXXXXXXX   R11: XXXXXXXXXXXXXXXX  R12: XXXXXXXXXXXXXXXX
+ R13: XXXXXXXXXXXXXXXX   R14: XXXXXXXXXXXXXXXX  R15: XXXXXXXXXXXXXXXX
+ RSP: XXXXXXXXXXXXXXXX
+
+ RIP: XXXXXXXXXXXXXXXX   EFLAGS: XXXXXXXX
+
+ CS:  XXXX   DS: XXXX   ES: XXXX   FS: XXXX   GS: XXXX
+
+ Trap:  XXXXXXXX   Error: XXXXXXXX   OldMask: XXXXXXXX
+ RSP/SIGNAL: XXXXXXXXXXXXXXXX  CR2: XXXXXXXX
+
+ FPUCW: XXXXXXXX   FPUSW: XXXXXXXX   TAG: XXXXXXXX
+ IPOFF: XXXXXXXX   CSSEL: XXXX   DATAOFF: XXXXXXXX   DATASEL: XXXX
+
+ ST(0) XXXX XXXXXXXXXXXXXXXX   ST(1) XXXX XXXXXXXXXXXXXXXX
+ ST(2) XXXX XXXXXXXXXXXXXXXX   ST(3) XXXX XXXXXXXXXXXXXXXX
+ ST(4) XXXX XXXXXXXXXXXXXXXX   ST(5) XXXX XXXXXXXXXXXXXXXX
+ ST(6) XXXX XXXXXXXXXXXXXXXX   ST(7) XXXX XXXXXXXXXXXXXXXX
+
+ mxcsr: XXXX
+ XMM0 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM1 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM2 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM3 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM4 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM5 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM6 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM7 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM8 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM9 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM10: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM11: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM12: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM13: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ XMM14: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM15: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, struct ucontext *ctx)
+{
+  char regs[25][16];
+  char fpregs[30][8];
+  char xmmregs[16][32];
+  struct iovec iov[147];
+  size_t nr = 0;
+  int i;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->uc_mcontext.gregs[REG_RAX], regs[0], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RBX], regs[1], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RCX], regs[2], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RDX], regs[3], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RSI], regs[4], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RDI], regs[5], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RBP], regs[6], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R8], regs[7], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R9], regs[8], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R10], regs[9], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R11], regs[10], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R12], regs[11], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R13], regs[12], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R14], regs[13], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_R15], regs[14], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RSP], regs[15], 16);
+  hexvalue (ctx->uc_mcontext.gregs[REG_RIP], regs[16], 16);
+
+  hexvalue (ctx->uc_mcontext.gregs[REG_EFL], regs[17], 8);
+  hexvalue (ctx->uc_mcontext.gregs[REG_CSGSFS] & 0xffff, regs[18], 4);
+  hexvalue ((ctx->uc_mcontext.gregs[REG_CSGSFS] >> 16) & 0xffff, regs[19], 4);
+  hexvalue ((ctx->uc_mcontext.gregs[REG_CSGSFS] >> 32) & 0xffff, regs[20], 4);
+  /* hexvalue (ctx->ss, regs[23], 4); */
+  hexvalue (ctx->uc_mcontext.gregs[REG_TRAPNO], regs[21], 8);
+  hexvalue (ctx->uc_mcontext.gregs[REG_ERR], regs[22], 8);
+  hexvalue (ctx->uc_mcontext.gregs[REG_OLDMASK], regs[23], 8);
+  hexvalue (ctx->uc_mcontext.gregs[REG_CR2], regs[24], 8);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n RAX: ");
+  ADD_MEM (regs[0], 16);
+  ADD_STRING ("   RBX: ");
+  ADD_MEM (regs[1], 16);
+  ADD_STRING ("   RCX: ");
+  ADD_MEM (regs[2], 16);
+  ADD_STRING ("\n RDX: ");
+  ADD_MEM (regs[3], 16);
+  ADD_STRING ("   RSI: ");
+  ADD_MEM (regs[4], 16);
+  ADD_STRING ("   RDI: ");
+  ADD_MEM (regs[5], 16);
+  ADD_STRING ("\n RBP: ");
+  ADD_MEM (regs[6], 16);
+  ADD_STRING ("   R8 : ");
+  ADD_MEM (regs[7], 16);
+  ADD_STRING ("   R9 : ");
+  ADD_MEM (regs[8], 16);
+  ADD_STRING ("\n R10: ");
+  ADD_MEM (regs[9], 16);
+  ADD_STRING ("   R11: ");
+  ADD_MEM (regs[10], 16);
+  ADD_STRING ("   R12: ");
+  ADD_MEM (regs[11], 16);
+  ADD_STRING ("\n R13: ");
+  ADD_MEM (regs[12], 16);
+  ADD_STRING ("   R14: ");
+  ADD_MEM (regs[13], 16);
+  ADD_STRING ("   R15: ");
+  ADD_MEM (regs[14], 16);
+  ADD_STRING ("\n RSP: ");
+  ADD_MEM (regs[15], 16);
+  ADD_STRING ("\n\n RIP: ");
+  ADD_MEM (regs[16], 16);
+  ADD_STRING ("   EFLAGS: ");
+  ADD_MEM (regs[17], 8);
+  ADD_STRING ("\n\n CS: ");
+  ADD_MEM (regs[18], 4);
+  ADD_STRING ("   FS: ");
+  ADD_MEM (regs[19], 4);
+  ADD_STRING ("   GS: ");
+  ADD_MEM (regs[20], 4);
+  /*
+  ADD_STRING ("   SS: ");
+  ADD_MEM (regs[23], 4);
+  */
+  ADD_STRING ("\n\n Trap: ");
+  ADD_MEM (regs[21], 8);
+  ADD_STRING ("   Error: ");
+  ADD_MEM (regs[22], 8);
+  ADD_STRING ("   OldMask: ");
+  ADD_MEM (regs[23], 8);
+  ADD_STRING ("   CR2: ");
+  ADD_MEM (regs[24], 8);
+
+  if (ctx->uc_mcontext.fpregs != NULL)
+    {
+
+      /* Generate output for the FPU control/status registers.  */
+      hexvalue (ctx->uc_mcontext.fpregs->cwd, fpregs[0], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->swd, fpregs[1], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->ftw, fpregs[2], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->rip, fpregs[3], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->rdp, fpregs[4], 8);
+
+      ADD_STRING ("\n\n FPUCW: ");
+      ADD_MEM (fpregs[0], 8);
+      ADD_STRING ("   FPUSW: ");
+      ADD_MEM (fpregs[1], 8);
+      ADD_STRING ("   TAG: ");
+      ADD_MEM (fpregs[2], 8);
+      ADD_STRING ("\n RIP: ");
+      ADD_MEM (fpregs[3], 8);
+      ADD_STRING ("   RDP: ");
+      ADD_MEM (fpregs[4], 8);
+
+      /* Now the real FPU registers.  */
+      hexvalue (ctx->uc_mcontext.fpregs->_st[0].exponent, fpregs[5], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[0].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[0].significand[2], fpregs[6],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[0].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[0].significand[0], fpregs[7],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[1].exponent, fpregs[8], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[1].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[1].significand[2], fpregs[9],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[1].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[1].significand[0], fpregs[10],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[2].exponent, fpregs[11], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[2].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[2].significand[2], fpregs[12],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[2].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[2].significand[0], fpregs[13],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[3].exponent, fpregs[14], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[3].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[3].significand[2], fpregs[15],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[3].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[3].significand[0], fpregs[16],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[4].exponent, fpregs[17], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[4].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[4].significand[2], fpregs[18],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[4].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[4].significand[0], fpregs[19],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[5].exponent, fpregs[20], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[5].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[5].significand[2], fpregs[21],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[5].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[5].significand[0], fpregs[22],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[6].exponent, fpregs[23], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[6].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[6].significand[2], fpregs[24],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[6].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[6].significand[0], fpregs[25],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[7].exponent, fpregs[26], 8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[7].significand[3] << 16
+		| ctx->uc_mcontext.fpregs->_st[7].significand[2], fpregs[27],
+		8);
+      hexvalue (ctx->uc_mcontext.fpregs->_st[7].significand[1] << 16
+		| ctx->uc_mcontext.fpregs->_st[7].significand[0], fpregs[28],
+		8);
+
+      hexvalue (ctx->uc_mcontext.fpregs->mxcsr, fpregs[29], 4);
+
+      for (i = 0; i < 16; i++)
+	hexvalue (ctx->uc_mcontext.fpregs->_xmm[i].element[3] << 24
+		  | ctx->uc_mcontext.fpregs->_xmm[i].element[2] << 16
+		  | ctx->uc_mcontext.fpregs->_xmm[i].element[1] << 8
+		  | ctx->uc_mcontext.fpregs->_xmm[i].element[0], xmmregs[i],
+		  32);
+
+
+      ADD_STRING ("\n\n ST(0) ");
+      ADD_MEM (fpregs[5], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[6], 8);
+      ADD_MEM (fpregs[7], 8);
+      ADD_STRING ("   ST(1) ");
+      ADD_MEM (fpregs[8], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[9], 8);
+      ADD_MEM (fpregs[10], 8);
+      ADD_STRING ("\n ST(2) ");
+      ADD_MEM (fpregs[11], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[12], 8);
+      ADD_MEM (fpregs[13], 8);
+      ADD_STRING ("   ST(3) ");
+      ADD_MEM (fpregs[14], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[15], 8);
+      ADD_MEM (fpregs[16], 8);
+      ADD_STRING ("\n ST(4) ");
+      ADD_MEM (fpregs[17], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[18], 8);
+      ADD_MEM (fpregs[19], 8);
+      ADD_STRING ("   ST(5) ");
+      ADD_MEM (fpregs[20], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[21], 8);
+      ADD_MEM (fpregs[22], 8);
+      ADD_STRING ("\n ST(6) ");
+      ADD_MEM (fpregs[23], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[24], 8);
+      ADD_MEM (fpregs[25], 8);
+      ADD_STRING ("   ST(7) ");
+      ADD_MEM (fpregs[27], 4);
+      ADD_STRING (" ");
+      ADD_MEM (fpregs[27], 8);
+      ADD_MEM (fpregs[28], 8);
+
+      ADD_STRING ("\n mxcsr: ");
+      ADD_MEM (fpregs[29], 4);
+
+      ADD_STRING ("\n XMM0:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM1:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM2:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM3:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM4:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM5:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM6:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM7:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM8:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM9:  ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM10: ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM11: ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM12: ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM13: ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING ("\n XMM14: ");
+      ADD_MEM (xmmregs[0], 32);
+      ADD_STRING (" XMM15: ");
+      ADD_MEM (xmmregs[0], 32);
+
+    }
+
+  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/x86_64/sched_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c
new file mode 100644
index 0000000000..d1101c56f5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c
@@ -0,0 +1,14 @@
+#include <tls.h>
+
+#define RESET_VGETCPU_CACHE() \
+  do {			      \
+    asm volatile ("movl %0, %%fs:%P1\n\t"				      \
+		  "movl %0, %%fs:%P2"					      \
+		  :							      \
+		  : "ir" (0), "i" (offsetof (struct pthread,		      \
+					     header.vgetcpu_cache[0])),	      \
+		    "i" (offsetof (struct pthread,			      \
+				   header.vgetcpu_cache[1])));		\
+  } while (0)
+
+#include "../sched_setaffinity.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S
new file mode 100644
index 0000000000..f41e7d47a2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S
@@ -0,0 +1,102 @@
+/* Install given context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 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 "ucontext_i.h"
+
+
+/*  int __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+ENTRY(__setcontext)
+	/* Save argument since syscall will destroy it.  */
+	pushq	%rdi
+	cfi_adjust_cfa_offset(8)
+
+	/* Set the signal mask with
+	   rt_sigprocmask (SIG_SETMASK, mask, NULL, _NSIG/8).  */
+	leaq	oSIGMASK(%rdi), %rsi
+	xorl	%edx, %edx
+	movl	$SIG_SETMASK, %edi
+	movl	$_NSIG8,%r10d
+	movl	$__NR_rt_sigprocmask, %eax
+	syscall
+	popq	%rdi			/* Reload %rdi, adjust stack.  */
+	cfi_adjust_cfa_offset(-8)
+	cmpq	$-4095, %rax		/* Check %rax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* Restore the floating-point context.  Not the registers, only the
+	   rest.  */
+	movq	oFPREGS(%rdi), %rcx
+	fldenv	(%rcx)
+	ldmxcsr oMXCSR(%rdi)
+
+
+	/* Load the new stack pointer, the preserved registers and
+	   registers used for passing args.  */
+	cfi_def_cfa(%rdi, 0)
+	cfi_offset(%rbx,oRBX)
+	cfi_offset(%rbp,oRBP)
+	cfi_offset(%r12,oR12)
+	cfi_offset(%r13,oR13)
+	cfi_offset(%r14,oR14)
+	cfi_offset(%r15,oR15)
+	cfi_offset(%rsp,oRSP)
+	cfi_offset(%rip,oRIP)
+
+	movq	oRSP(%rdi), %rsp
+	movq	oRBX(%rdi), %rbx
+	movq	oRBP(%rdi), %rbp
+	movq	oR12(%rdi), %r12
+	movq	oR13(%rdi), %r13
+	movq	oR14(%rdi), %r14
+	movq	oR15(%rdi), %r15
+
+	/* The following ret should return to the address set with
+	getcontext.  Therefore push the address on the stack.  */
+	movq	oRIP(%rdi), %rcx
+	pushq	%rcx
+
+	movq	oRSI(%rdi), %rsi
+	movq	oRDX(%rdi), %rdx
+	movq	oRCX(%rdi), %rcx
+	movq	oR8(%rdi), %r8
+	movq	oR9(%rdi), %r9
+
+	/* Setup finally  %rdi.  */
+	movq	oRDI(%rdi), %rdi
+
+	/* End FDE here, we fall into another context.  */
+	cfi_endproc
+	cfi_startproc
+
+	/* Clear rax to indicate success.  */
+	xorl	%eax, %eax
+	ret
+PSEUDO_END(__setcontext)
+
+weak_alias (__setcontext, setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c
new file mode 100644
index 0000000000..be058bac43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c
@@ -0,0 +1,176 @@
+/* POSIX.1 `sigaction' call for Linux/x86-64.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+#include <stddef.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+#include "ucontext_i.h"
+
+/* We do not globally define the SA_RESTORER flag so do it here.  */
+#define SA_RESTORER 0x04000000
+
+/* Using the hidden attribute here does not change the code but it
+   helps to avoid warnings.  */
+extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
+
+
+/* If ACT is not NULL, change the action for SIG to *ACT.
+   If OACT is not NULL, put the old action for SIG in *OACT.  */
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+  struct kernel_sigaction kact, koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      kact.sa_flags = act->sa_flags | SA_RESTORER;
+
+      kact.sa_restorer = &restore_rt;
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  result = INLINE_SYSCALL (rt_sigaction, 4,
+			   sig, act ? &kact : NULL,
+			   oact ? &koact : NULL, _NSIG / 8);
+  if (oact && result >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+      oact->sa_flags = koact.sa_flags;
+      oact->sa_restorer = koact.sa_restorer;
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
+
+
+/* NOTE: Please think twice before making any changes to the bits of
+   code below.  GDB needs some intimate knowledge about it to
+   recognize them as signal trampolines, and make backtraces through
+   signal handlers work right.  Important are both the names
+   (__restore_rt) and the exact instruction sequence.
+   If you ever feel the need to make any changes, please notify the
+   appropriate GDB maintainer.
+
+   The unwind information starts a byte before __restore_rt, so that
+   it is found when unwinding, to get an address the unwinder assumes
+   will be in the middle of a call instruction.  See the Linux kernel
+   (the i386 vsyscall, in particular) for an explanation of the complex
+   unwind information used here in order to get the traditional CFA.
+   We do not restore cs - it's only stored as two bytes here so that's
+   a bit tricky.  We don't use the gas cfi directives, so that we can
+   reliably add .cfi_signal_frame.  */
+
+#define do_cfa_expr						\
+  "	.byte 0x0f\n"		/* DW_CFA_def_cfa_expression */	\
+  "	.uleb128 2f-1f\n"	/* length */			\
+  "1:	.byte 0x77\n"		/* DW_OP_breg7 */		\
+  "	.sleb128 " CFI_STRINGIFY (oRSP) "\n"			\
+  "	.byte 0x06\n"		/* DW_OP_deref */		\
+  "2:"
+
+#define do_expr(regno, offset)					\
+  "	.byte 0x10\n"		/* DW_CFA_expression */		\
+  "	.uleb128 " CFI_STRINGIFY (regno) "\n"			\
+  "	.uleb128 2f-1f\n"	/* length */			\
+  "1:	.byte 0x77\n"		/* DW_OP_breg7 */		\
+  "	.sleb128 " CFI_STRINGIFY (offset) "\n"			\
+  "2:"
+
+#define RESTORE(name, syscall) RESTORE2 (name, syscall)
+# define RESTORE2(name, syscall) \
+asm									\
+  (									\
+   /* `nop' for debuggers assuming `call' should not disalign the code.  */ \
+   "	nop\n"								\
+   ".align 16\n"							\
+   ".LSTART_" #name ":\n"						\
+   "	.type __" #name ",@function\n"					\
+   "__" #name ":\n"							\
+   "	movq $" #syscall ", %rax\n"					\
+   "	syscall\n"							\
+   ".LEND_" #name ":\n"							\
+   ".section .eh_frame,\"a\",@progbits\n"				\
+   ".LSTARTFRAME_" #name ":\n"						\
+   "	.long .LENDCIE_" #name "-.LSTARTCIE_" #name "\n"		\
+   ".LSTARTCIE_" #name ":\n"						\
+   "	.long 0\n"	/* CIE ID */					\
+   "	.byte 1\n"	/* Version number */				\
+   "	.string \"zRS\"\n" /* NUL-terminated augmentation string */	\
+   "	.uleb128 1\n"	/* Code alignment factor */			\
+   "	.sleb128 -8\n"	/* Data alignment factor */			\
+   "	.uleb128 16\n"	/* Return address register column (rip) */	\
+   /* Augmentation value length */					\
+   "	.uleb128 .LENDAUGMNT_" #name "-.LSTARTAUGMNT_" #name "\n"	\
+   ".LSTARTAUGMNT_" #name ":\n"						\
+   "	.byte 0x1b\n"	/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */		\
+   ".LENDAUGMNT_" #name ":\n"						\
+   "	.align " LP_SIZE "\n"						\
+   ".LENDCIE_" #name ":\n"						\
+   "	.long .LENDFDE_" #name "-.LSTARTFDE_" #name "\n" /* FDE len */	\
+   ".LSTARTFDE_" #name ":\n"						\
+   "	.long .LSTARTFDE_" #name "-.LSTARTFRAME_" #name "\n" /* CIE */	\
+   /* `LSTART_' is subtracted 1 as debuggers assume a `call' here.  */	\
+   "	.long (.LSTART_" #name "-1)-.\n" /* PC-relative start addr.  */	\
+   "	.long .LEND_" #name "-(.LSTART_" #name "-1)\n"			\
+   "	.uleb128 0\n"			/* FDE augmentation length */	\
+   do_cfa_expr								\
+   do_expr (8 /* r8 */, oR8)						\
+   do_expr (9 /* r9 */, oR9)						\
+   do_expr (10 /* r10 */, oR10)						\
+   do_expr (11 /* r11 */, oR11)						\
+   do_expr (12 /* r12 */, oR12)						\
+   do_expr (13 /* r13 */, oR13)						\
+   do_expr (14 /* r14 */, oR14)						\
+   do_expr (15 /* r15 */, oR15)						\
+   do_expr (5 /* rdi */, oRDI)						\
+   do_expr (4 /* rsi */, oRSI)						\
+   do_expr (6 /* rbp */, oRBP)						\
+   do_expr (3 /* rbx */, oRBX)						\
+   do_expr (1 /* rdx */, oRDX)						\
+   do_expr (0 /* rax */, oRAX)						\
+   do_expr (2 /* rcx */, oRCX)						\
+   do_expr (7 /* rsp */, oRSP)						\
+   do_expr (16 /* rip */, oRIP)						\
+   /* libgcc-4.1.1 has only `DWARF_FRAME_REGISTERS == 17'.  */		\
+   /* do_expr (49 |* rflags *|, oEFL) */				\
+   /* `cs'/`ds'/`fs' are unaligned and a different size.  */		\
+   /* gas: Error: register save offset not a multiple of 8  */		\
+   "	.align " LP_SIZE "\n"						\
+   ".LENDFDE_" #name ":\n"						\
+   "	.previous\n"							\
+   );
+/* The return code for realtime-signals.  */
+RESTORE (restore_rt, __NR_rt_sigreturn)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym
new file mode 100644
index 0000000000..5ff3af4a82
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym
@@ -0,0 +1,15 @@
+#ifndef _XOPEN_EXTENDED
+# define _XOPEN_EXTENDED
+#endif
+
+#include <stddef.h>
+#include <signal.h>
+
+--
+
+#define sigaltstack(member)	offsetof (stack_t, member)
+
+sizeSS				sizeof (stack_t)
+oSS_SP				sigaltstack (ss_sp)
+oSS_SIZE			sigaltstack (ss_size)
+oSS_FLAGS			sigaltstack (ss_flags)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
new file mode 100644
index 0000000000..e935353ccd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
@@ -0,0 +1,30 @@
+/* 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 <stdint.h>
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define SIGCONTEXT_EXTRA_ARGS _si,
+#define GET_PC(ctx)	\
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP])
+#define GET_FRAME(ctx)	\
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RBP])
+#define GET_STACK(ctx)	\
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RSP])
+
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c
new file mode 100644
index 0000000000..410217ed84
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c
@@ -0,0 +1,36 @@
+/* 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/>.  */
+
+/* Linux/x86_64 only has rt signals, thus we do not even want to try falling
+   back to the old style signals as the default Linux handler does. */
+
+#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/x86_64/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c
new file mode 100644
index 0000000000..a87ad106ea
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 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/>.  */
+
+/* Linux/x86_64 only has rt signals, thus we do not even want to try falling
+   back to the old style signals as the default Linux handler does. */
+
+#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/x86_64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S
new file mode 100644
index 0000000000..0e1f0b5cab
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S
@@ -0,0 +1,120 @@
+/* Save current context and install the given one.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@suse.de>, 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 "ucontext_i.h"
+
+
+/* int __swapcontext (ucontext_t *oucp, const ucontext_t *ucp);
+
+  Saves the machine context in oucp such that when it is activated,
+  it appears as if __swapcontextt() returned again, restores the
+  machine context in ucp and thereby resumes execution in that
+  context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to save anything
+  other than the PRESERVED state.  */
+
+ENTRY(__swapcontext)
+	/* Save the preserved registers, the registers used for passing args,
+	   and the return address.  */
+	movq	%rbx, oRBX(%rdi)
+	movq	%rbp, oRBP(%rdi)
+	movq	%r12, oR12(%rdi)
+	movq	%r13, oR13(%rdi)
+	movq	%r14, oR14(%rdi)
+	movq	%r15, oR15(%rdi)
+
+	movq	%rdi, oRDI(%rdi)
+	movq	%rsi, oRSI(%rdi)
+	movq	%rdx, oRDX(%rdi)
+	movq	%rcx, oRCX(%rdi)
+	movq	%r8, oR8(%rdi)
+	movq	%r9, oR9(%rdi)
+
+	movq	(%rsp), %rcx
+	movq	%rcx, oRIP(%rdi)
+	leaq	8(%rsp), %rcx		/* Exclude the return address.  */
+	movq	%rcx, oRSP(%rdi)
+
+	/* We have separate floating-point register content memory on the
+	   stack.  We use the __fpregs_mem block in the context.  Set the
+	   links up correctly.  */
+	leaq	oFPREGSMEM(%rdi), %rcx
+	movq	%rcx, oFPREGS(%rdi)
+	/* Save the floating-point environment.  */
+	fnstenv	(%rcx)
+	stmxcsr oMXCSR(%rdi)
+
+
+	/* The syscall destroys some registers, save them.  */
+	movq	%rsi, %r12
+
+	/* Save the current signal mask and install the new one with
+	   rt_sigprocmask (SIG_BLOCK, newset, oldset,_NSIG/8).  */
+	leaq	oSIGMASK(%rdi), %rdx
+	leaq	oSIGMASK(%rsi), %rsi
+	movl	$SIG_SETMASK, %edi
+	movl	$_NSIG8,%r10d
+	movl	$__NR_rt_sigprocmask, %eax
+	syscall
+	cmpq	$-4095, %rax		/* Check %rax for error.  */
+	jae	SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+
+	/* Restore destroyed registers.  */
+	movq	%r12, %rsi
+
+	/* Restore the floating-point context.  Not the registers, only the
+	   rest.  */
+	movq	oFPREGS(%rsi), %rcx
+	fldenv	(%rcx)
+	ldmxcsr oMXCSR(%rsi)
+
+	/* Load the new stack pointer and the preserved registers.  */
+	movq	oRSP(%rsi), %rsp
+	movq	oRBX(%rsi), %rbx
+	movq	oRBP(%rsi), %rbp
+	movq	oR12(%rsi), %r12
+	movq	oR13(%rsi), %r13
+	movq	oR14(%rsi), %r14
+	movq	oR15(%rsi), %r15
+
+	/* The following ret should return to the address set with
+	getcontext.  Therefore push the address on the stack.  */
+	movq	oRIP(%rsi), %rcx
+	pushq	%rcx
+
+	/* Setup registers used for passing args.  */
+	movq	oRDI(%rsi), %rdi
+	movq	oRDX(%rsi), %rdx
+	movq	oRCX(%rsi), %rcx
+	movq	oR8(%rsi), %r8
+	movq	oR9(%rsi), %r9
+
+	/* Setup finally  %rsi.  */
+	movq	oRSI(%rsi), %rsi
+
+	/* Clear rax to indicate success.  */
+	xorl	%eax, %eax
+	ret
+PSEUDO_END(__swapcontext)
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S
new file mode 100644
index 0000000000..f6486b9e4d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S
@@ -0,0 +1,42 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Please consult the file sysdeps/unix/sysv/linux/x86-64/sysdep.h for
+   more information about the value -4095 used below.  */
+
+/* Usage: long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5, arg6)
+   We need to do some arg shifting, the syscall_number will be in
+   rax.  */
+
+
+	.text
+ENTRY (syscall)
+	movq %rdi, %rax		/* Syscall number -> rax.  */
+	movq %rsi, %rdi		/* shift arg1 - arg5.  */
+	movq %rdx, %rsi
+	movq %rcx, %rdx
+	movq %r8, %r10
+	movq %r9, %r8
+	movq 8(%rsp),%r9	/* arg6 is on the stack.  */
+	syscall			/* Do the system call.  */
+	cmpq $-4095, %rax	/* Check %rax for error.  */
+	jae SYSCALL_ERROR_LABEL	/* Jump to error handler if error.  */
+	ret			/* Return to caller.  */
+
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list
new file mode 100644
index 0000000000..889193ba76
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list
@@ -0,0 +1,21 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+arch_prctl	EXTRA	arch_prctl	i:ii	__arch_prctl	arch_prctl
+modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
+pread64		-	pread64		Ci:ipii	__libc_pread	__libc_pread64 __pread64 pread64 __pread pread
+preadv64	-	preadv		Ci:ipii	preadv64	preadv
+pwrite64	-	pwrite64	Ci:ipii	__libc_pwrite	__libc_pwrite64 __pwrite64 pwrite64 __pwrite pwrite
+pwritev64	-	pwritev		Ci:ipii	pwritev64	pwritev
+syscall_clock_gettime	EXTRA	clock_gettime	Ei:ip		__syscall_clock_gettime
+
+
+# proper socket implementations:
+bind		-	bind		i:ipi	__bind		bind
+getpeername	-	getpeername	i:ipp	__getpeername	getpeername
+getsockname	-	getsockname	i:ipp	__getsockname	getsockname
+getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
+listen		-	listen		i:ii	__listen	listen
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+shutdown	-	shutdown	i:ii	__shutdown	shutdown
+socket		-	socket		i:iii	__socket	socket
+socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
new file mode 100644
index 0000000000..65980102be
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/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)
+
+/* The code to disable cancellation depends on the fact that the called
+   functions are special.  They don't modify registers other than %rax
+   and %r11 if they return.  Therefore we don't have to preserve other
+   registers around these calls.  */
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    SINGLE_THREAD_P;							      \
+    jne L(pseudo_cancel);						      \
+  .type __##syscall_name##_nocancel,@function;				      \
+  .globl __##syscall_name##_nocancel;					      \
+  __##syscall_name##_nocancel:						      \
+    DO_CALL (syscall_name, args);					      \
+    cmpq $-4095, %rax;							      \
+    jae SYSCALL_ERROR_LABEL;						      \
+    ret;								      \
+  .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
+  L(pseudo_cancel):							      \
+    /* We always have to align the stack before calling a function.  */	      \
+    subq $8, %rsp; cfi_adjust_cfa_offset (8);				      \
+    CENABLE								      \
+    /* The return value from CENABLE is argument for CDISABLE.  */	      \
+    movq %rax, (%rsp);							      \
+    DO_CALL (syscall_name, args);					      \
+    movq (%rsp), %rdi;							      \
+    /* Save %rax since it's the error code from the syscall.  */	      \
+    movq %rax, %rdx;							      \
+    CDISABLE								      \
+    movq %rdx, %rax;							      \
+    addq $8,%rsp; cfi_adjust_cfa_offset (-8);				      \
+    cmpq $-4095, %rax;							      \
+    jae SYSCALL_ERROR_LABEL
+
+
+# if IS_IN (libpthread)
+#  define CENABLE	call __pthread_enable_asynccancel;
+#  define CDISABLE	call __pthread_disable_asynccancel;
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE	call __libc_enable_asynccancel;
+#  define CDISABLE	call __libc_disable_asynccancel;
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE	call __librt_enable_asynccancel;
+#  define CDISABLE	call __librt_disable_asynccancel;
+# else
+#  error Unsupported library
+# endif
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P \
+  __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   define SINGLE_THREAD_P cmpl $0, __local_multiple_threads(%rip)
+#  endif
+
+# else
+
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P cmpl $0, %fs:MULTIPLE_THREADS_OFFSET
+#  endif
+
+# 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/x86_64/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S
new file mode 100644
index 0000000000..29b664d3f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S
@@ -0,0 +1,40 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* The following code is only used in the shared library when we
+   compile the reentrant version.  Otherwise each system call defines
+   each own version.  */
+
+#ifndef PIC
+
+/* The syscall stubs jump here when they detect an error.
+   The code for Linux is almost identical to the canonical Unix
+   code, except that the error number in %rax is negated.  */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %rax.  */
+
+	.text
+ENTRY (__syscall_error)
+	neg %RAX_LP
+
+#define __syscall_error __syscall_error_1
+#include <sysdeps/unix/x86_64/sysdep.S>
+
+#endif	/* !PIC */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h
new file mode 100644
index 0000000000..880e496880
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h
@@ -0,0 +1,392 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_X86_64_SYSDEP_H
+#define _LINUX_X86_64_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/sysdep.h>
+#include <sysdeps/unix/x86_64/sysdep.h>
+#include <tls.h>
+
+#if IS_IN (rtld)
+# include <dl-sysdep.h>		/* Defines RTLD_PRIVATE_ERRNO.  */
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	__NR_##syscall_name
+
+/* 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
+
+/* This is to help the old kernel headers where __NR_semtimedop is not
+   available.  */
+#ifndef __NR_semtimedop
+# define __NR_semtimedop 220
+#endif
+
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.	 E.g., the `lseek' system call
+   might return a large offset.	 Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in %eax
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can savely
+   test with -4095.  */
+
+/* We don't want the label for the error handle to be global when we define
+   it here.  */
+# ifdef PIC
+#  define SYSCALL_ERROR_LABEL 0f
+# else
+#  define SYSCALL_ERROR_LABEL syscall_error
+# endif
+
+# undef	PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    cmpq $-4095, %rax;							      \
+    jae SYSCALL_ERROR_LABEL
+
+# undef	PSEUDO_END
+# define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER							      \
+  END (name)
+
+# undef	PSEUDO_NOERRNO
+# define PSEUDO_NOERRNO(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args)
+
+# undef	PSEUDO_END_NOERRNO
+# define PSEUDO_END_NOERRNO(name) \
+  END (name)
+
+# define ret_NOERRNO ret
+
+# undef	PSEUDO_ERRVAL
+# define PSEUDO_ERRVAL(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    negq %rax
+
+# undef	PSEUDO_END_ERRVAL
+# define PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+# define ret_ERRVAL ret
+
+# if defined PIC && defined RTLD_PRIVATE_ERRNO
+#  define SYSCALL_SET_ERRNO			\
+  lea rtld_errno(%rip), %RCX_LP;		\
+  neg %eax;					\
+  movl %eax, (%rcx)
+# else
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+#  define SYSCALL_SET_ERRNO			\
+  movq SYSCALL_ERROR_ERRNO@GOTTPOFF(%rip), %rcx;\
+  neg %eax;					\
+  movl %eax, %fs:(%rcx);
+# endif
+
+# ifndef PIC
+#  define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
+# else
+#  define SYSCALL_ERROR_HANDLER			\
+0:						\
+  SYSCALL_SET_ERRNO;				\
+  or $-1, %RAX_LP;				\
+  ret;
+# endif	/* PIC */
+
+/* The Linux/x86-64 kernel expects the system call parameters in
+   registers according to the following table:
+
+    syscall number	rax
+    arg 1		rdi
+    arg 2		rsi
+    arg 3		rdx
+    arg 4		r10
+    arg 5		r8
+    arg 6		r9
+
+    The Linux kernel uses and destroys internally these registers:
+    return address from
+    syscall		rcx
+    eflags from syscall	r11
+
+    Normal function call, including calls to the system call stub
+    functions in the libc, get the first six parameters passed in
+    registers and the seventh parameter and later on the stack.  The
+    register use is as follows:
+
+     system call number	in the DO_CALL macro
+     arg 1		rdi
+     arg 2		rsi
+     arg 3		rdx
+     arg 4		rcx
+     arg 5		r8
+     arg 6		r9
+
+    We have to take care that the stack is aligned to 16 bytes.  When
+    called the stack is not aligned since the return address has just
+    been pushed.
+
+
+    Syscalls of more than 6 arguments are not supported.  */
+
+# undef	DO_CALL
+# define DO_CALL(syscall_name, args)		\
+    DOARGS_##args				\
+    movl $SYS_ify (syscall_name), %eax;		\
+    syscall;
+
+# define DOARGS_0 /* nothing */
+# define DOARGS_1 /* nothing */
+# define DOARGS_2 /* nothing */
+# define DOARGS_3 /* nothing */
+# define DOARGS_4 movq %rcx, %r10;
+# define DOARGS_5 DOARGS_4
+# define DOARGS_6 DOARGS_5
+
+#else	/* !__ASSEMBLER__ */
+/* Define a macro which expands inline into the wrapper code for a system
+   call.  */
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...) \
+  ({									      \
+    unsigned long int resultvar = INTERNAL_SYSCALL (name, , nr, args);	      \
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, )))	      \
+      {									      \
+	__set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));		      \
+	resultvar = (unsigned long int) -1;				      \
+      }									      \
+    (long int) resultvar; })
+
+/* Define a macro with explicit types for arguments, which expands inline
+   into the wrapper code for a system call.  It should be used when size
+   of any argument > size of long int.  */
+# undef INLINE_SYSCALL_TYPES
+# define INLINE_SYSCALL_TYPES(name, nr, args...) \
+  ({									      \
+    unsigned long int resultvar = INTERNAL_SYSCALL_TYPES (name, , nr, args);  \
+    if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, )))	      \
+      {									      \
+	__set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));		      \
+	resultvar = (unsigned long int) -1;				      \
+      }									      \
+    (long int) resultvar; })
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+/* Registers clobbered by syscall.  */
+# define REGISTERS_CLOBBERED_BY_SYSCALL "cc", "r11", "cx"
+
+# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    unsigned long int resultvar;					      \
+    LOAD_ARGS_##nr (args)						      \
+    LOAD_REGS_##nr							      \
+    asm volatile (							      \
+    "syscall\n\t"							      \
+    : "=a" (resultvar)							      \
+    : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL);   \
+    (long int) resultvar; })
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL(name, err, nr, args...) \
+  INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
+
+# define INTERNAL_SYSCALL_NCS_TYPES(name, err, nr, args...) \
+  ({									      \
+    unsigned long int resultvar;					      \
+    LOAD_ARGS_TYPES_##nr (args)						      \
+    LOAD_REGS_TYPES_##nr (args)						      \
+    asm volatile (							      \
+    "syscall\n\t"							      \
+    : "=a" (resultvar)							      \
+    : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL);   \
+    (long int) resultvar; })
+# undef INTERNAL_SYSCALL_TYPES
+# define INTERNAL_SYSCALL_TYPES(name, err, nr, args...) \
+  INTERNAL_SYSCALL_NCS_TYPES (__NR_##name, err, nr, ##args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned long int) (long int) (val) >= -4095L)
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETTIME_VSYSCALL    1
+# define HAVE_GETTIMEOFDAY_VSYSCALL     1
+# define HAVE_GETCPU_VSYSCALL		1
+
+# define LOAD_ARGS_0()
+# define LOAD_REGS_0
+# define ASM_ARGS_0
+
+# define LOAD_ARGS_TYPES_1(t1, a1)					   \
+  t1 __arg1 = (t1) (a1);						   \
+  LOAD_ARGS_0 ()
+# define LOAD_REGS_TYPES_1(t1, a1)					   \
+  register t1 _a1 asm ("rdi") = __arg1;					   \
+  LOAD_REGS_0
+# define ASM_ARGS_1	ASM_ARGS_0, "r" (_a1)
+# define LOAD_ARGS_1(a1)						   \
+  LOAD_ARGS_TYPES_1 (long int, a1)
+# define LOAD_REGS_1							   \
+  LOAD_REGS_TYPES_1 (long int, a1)
+
+# define LOAD_ARGS_TYPES_2(t1, a1, t2, a2)				   \
+  t2 __arg2 = (t2) (a2);						   \
+  LOAD_ARGS_TYPES_1 (t1, a1)
+# define LOAD_REGS_TYPES_2(t1, a1, t2, a2)				   \
+  register t2 _a2 asm ("rsi") = __arg2;					   \
+  LOAD_REGS_TYPES_1(t1, a1)
+# define ASM_ARGS_2	ASM_ARGS_1, "r" (_a2)
+# define LOAD_ARGS_2(a1, a2)						   \
+  LOAD_ARGS_TYPES_2 (long int, a1, long int, a2)
+# define LOAD_REGS_2							   \
+  LOAD_REGS_TYPES_2 (long int, a1, long int, a2)
+
+# define LOAD_ARGS_TYPES_3(t1, a1, t2, a2, t3, a3)			   \
+  t3 __arg3 = (t3) (a3);						   \
+  LOAD_ARGS_TYPES_2 (t1, a1, t2, a2)
+# define LOAD_REGS_TYPES_3(t1, a1, t2, a2, t3, a3)			   \
+  register t3 _a3 asm ("rdx") = __arg3;					   \
+  LOAD_REGS_TYPES_2(t1, a1, t2, a2)
+# define ASM_ARGS_3	ASM_ARGS_2, "r" (_a3)
+# define LOAD_ARGS_3(a1, a2, a3)					   \
+  LOAD_ARGS_TYPES_3 (long int, a1, long int, a2, long int, a3)
+# define LOAD_REGS_3							   \
+  LOAD_REGS_TYPES_3 (long int, a1, long int, a2, long int, a3)
+
+# define LOAD_ARGS_TYPES_4(t1, a1, t2, a2, t3, a3, t4, a4)		   \
+  t4 __arg4 = (t4) (a4);						   \
+  LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3)
+# define LOAD_REGS_TYPES_4(t1, a1, t2, a2, t3, a3, t4, a4)		   \
+  register t4 _a4 asm ("r10") = __arg4;					   \
+  LOAD_REGS_TYPES_3(t1, a2, t2, a2, t3, a3)
+# define ASM_ARGS_4	ASM_ARGS_3, "r" (_a4)
+# define LOAD_ARGS_4(a1, a2, a3, a4)					   \
+  LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4)
+# define LOAD_REGS_4							   \
+  LOAD_REGS_TYPES_4 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4)
+
+# define LOAD_ARGS_TYPES_5(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5)	   \
+  t5 __arg5 = (t5) (a5);						   \
+  LOAD_ARGS_TYPES_4 (t1, a1, t2, a2, t3, a3, t4, a4)
+# define LOAD_REGS_TYPES_5(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5)	   \
+  register t5 _a5 asm ("r8") = __arg5;					   \
+  LOAD_REGS_TYPES_4 (t1, a1, t2, a2, t3, a3, t4, a4)
+# define ASM_ARGS_5	ASM_ARGS_4, "r" (_a5)
+# define LOAD_ARGS_5(a1, a2, a3, a4, a5)				   \
+  LOAD_ARGS_TYPES_5 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4, long int, a5)
+# define LOAD_REGS_5							   \
+  LOAD_REGS_TYPES_5 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4, long int, a5)
+
+# define LOAD_ARGS_TYPES_6(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6) \
+  t6 __arg6 = (t6) (a6);						   \
+  LOAD_ARGS_TYPES_5 (t1, a1, t2, a2, t3, a3, t4, a4, t5, a5)
+# define LOAD_REGS_TYPES_6(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6) \
+  register t6 _a6 asm ("r9") = __arg6;					   \
+  LOAD_REGS_TYPES_5 (t1, a1, t2, a2, t3, a3, t4, a4, t5, a5)
+# define ASM_ARGS_6	ASM_ARGS_5, "r" (_a6)
+# define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)				   \
+  LOAD_ARGS_TYPES_6 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4, long int, a5, long int, a6)
+# define LOAD_REGS_6							   \
+  LOAD_REGS_TYPES_6 (long int, a1, long int, a2, long int, a3,		   \
+		     long int, a4, long int, a5, long int, a6)
+
+#endif	/* __ASSEMBLER__ */
+
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg)	xor __pointer_chk_guard_local(%rip), reg;    \
+				rol $2*LP_SIZE+1, reg
+#  define PTR_DEMANGLE(reg)	ror $2*LP_SIZE+1, reg;			     \
+				xor __pointer_chk_guard_local(%rip), reg
+# else
+#  define PTR_MANGLE(reg)	asm ("xor __pointer_chk_guard_local(%%rip), %0\n" \
+				     "rol $2*" LP_SIZE "+1, %0"			  \
+				     : "=r" (reg) : "0" (reg))
+#  define PTR_DEMANGLE(reg)	asm ("ror $2*" LP_SIZE "+1, %0\n"		  \
+				     "xor __pointer_chk_guard_local(%%rip), %0"   \
+				     : "=r" (reg) : "0" (reg))
+# endif
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg)	xor %fs:POINTER_GUARD, reg;		      \
+				rol $2*LP_SIZE+1, reg
+#  define PTR_DEMANGLE(reg)	ror $2*LP_SIZE+1, reg;			      \
+				xor %fs:POINTER_GUARD, reg
+# else
+#  define PTR_MANGLE(var)	asm ("xor %%fs:%c2, %0\n"		      \
+				     "rol $2*" LP_SIZE "+1, %0"		      \
+				     : "=r" (var)			      \
+				     : "0" (var),			      \
+				       "i" (offsetof (tcbhead_t,	      \
+						      pointer_guard)))
+#  define PTR_DEMANGLE(var)	asm ("ror $2*" LP_SIZE "+1, %0\n"	      \
+				     "xor %%fs:%c2, %0"			      \
+				     : "=r" (var)			      \
+				     : "0" (var),			      \
+				       "i" (offsetof (tcbhead_t,	      \
+						      pointer_guard)))
+# endif
+#endif
+
+/* How to pass the off{64}_t argument on p{readv,writev}{64}.  */
+#undef LO_HI_LONG
+#define LO_HI_LONG(val) (val), 0
+
+#endif /* linux/x86_64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c
new file mode 100644
index 0000000000..7fbe9618b4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include "compat-timer.h"
+#include <atomic.h>
+
+
+#define timer_create_alias __timer_create_new
+#include <sysdeps/unix/sysv/linux/timer_create.c>
+
+#undef timer_create
+versioned_symbol (librt, __timer_create_new, timer_create, GLIBC_2_3_3);
+
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden;
+
+
+int
+__timer_create_old (clockid_t clock_id, struct sigevent *evp, int *timerid)
+{
+  timer_t newp;
+
+  int res = __timer_create_new (clock_id, evp, &newp);
+  if (res == 0)
+    {
+      int i;
+      for (i = 0; i < OLD_TIMER_MAX; ++i)
+	if (__compat_timer_list[i] == NULL
+	    && ! atomic_compare_and_exchange_bool_acq (&__compat_timer_list[i],
+						       newp, NULL))
+	  {
+	    *timerid = i;
+	    break;
+	  }
+
+      if (__glibc_unlikely (i == OLD_TIMER_MAX))
+	{
+	  /* No free slot.  */
+	  (void) __timer_delete_new (newp);
+	  __set_errno (EINVAL);
+	  res = -1;
+	}
+    }
+
+  return res;
+}
+compat_symbol (librt, __timer_create_old, timer_create, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c
new file mode 100644
index 0000000000..eb24585c85
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include "compat-timer.h"
+
+
+#define timer_delete_alias __timer_delete_new
+#include <sysdeps/unix/sysv/linux/timer_delete.c>
+
+#undef timer_delete
+versioned_symbol (librt, __timer_delete_new, timer_delete, GLIBC_2_3_3);
+
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+int
+__timer_delete_old (int timerid)
+{
+  int res = __timer_delete_new (__compat_timer_list[timerid]);
+
+  if (res == 0)
+    /* Successful timer deletion, now free the index.  We only need to
+       store a word and that better be atomic.  */
+    __compat_timer_list[timerid] = NULL;
+
+  return res;
+}
+compat_symbol (librt, __timer_delete_old, timer_delete, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
new file mode 100644
index 0000000000..78d45ab371
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include "compat-timer.h"
+
+
+#define timer_getoverrun_alias __timer_getoverrun_new
+#include <sysdeps/unix/sysv/linux/timer_getoverr.c>
+
+#undef timer_getoverrun
+versioned_symbol (librt, __timer_getoverrun_new, timer_getoverrun,
+		  GLIBC_2_3_3);
+
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+int
+__timer_getoverrun_old (int timerid)
+{
+  return __timer_getoverrun_new (__compat_timer_list[timerid]);
+}
+compat_symbol (librt, __timer_getoverrun_old, timer_getoverrun, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
new file mode 100644
index 0000000000..35af18226e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include "compat-timer.h"
+
+
+#define timer_gettime_alias __timer_gettime_new
+#include <sysdeps/unix/sysv/linux/timer_gettime.c>
+
+#undef timer_gettime
+versioned_symbol (librt, __timer_gettime_new, timer_gettime, GLIBC_2_3_3);
+
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+int
+__timer_gettime_old (int timerid, struct itimerspec *value)
+{
+  return __timer_gettime_new (__compat_timer_list[timerid], value);
+}
+compat_symbol (librt, __timer_gettime_old, timer_gettime, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
new file mode 100644
index 0000000000..7174a505a8
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+#include "compat-timer.h"
+
+
+#define timer_settime_alias __timer_settime_new
+#include <sysdeps/unix/sysv/linux/timer_settime.c>
+
+#undef timer_settime
+versioned_symbol (librt, __timer_settime_new, timer_settime, GLIBC_2_3_3);
+
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+int
+__timer_settime_old (int timerid, int flags, const struct itimerspec *value,
+		     struct itimerspec *ovalue)
+{
+  return __timer_settime_new (__compat_timer_list[timerid], flags,
+			      value, ovalue);
+}
+compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym
new file mode 100644
index 0000000000..af3e0e544b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym
@@ -0,0 +1,37 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8		(_NSIG / 8)
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+#define mreg(reg)		mcontext (gregs[REG_##reg])
+
+oRBP		mreg (RBP)
+oRSP		mreg (RSP)
+oRBX		mreg (RBX)
+oR8		mreg (R8)
+oR9		mreg (R9)
+oR10		mreg (R10)
+oR11		mreg (R11)
+oR12		mreg (R12)
+oR13		mreg (R13)
+oR14		mreg (R14)
+oR15		mreg (R15)
+oRDI		mreg (RDI)
+oRSI		mreg (RSI)
+oRDX		mreg (RDX)
+oRAX		mreg (RAX)
+oRCX		mreg (RCX)
+oRIP		mreg (RIP)
+oEFL		mreg (EFL)
+oFPREGS		mcontext (fpregs)
+oSIGMASK	ucontext (uc_sigmask)
+oFPREGSMEM	ucontext (__fpregs_mem)
+oMXCSR		ucontext (__fpregs_mem.mxcsr)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c
new file mode 100644
index 0000000000..1de40a476e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Huggins-Daines <dhd@debian.org>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Since we don't have an oldumount system call, do what the kernel
+   does down here.  */
+
+extern long int __umount2 (const char *name, int flags);
+
+long int
+__umount (const char *name)
+{
+  return __umount2 (name, 0);
+}
+
+weak_alias (__umount, umount);
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S
new file mode 100644
index 0000000000..a8b0369fb3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S
@@ -0,0 +1,55 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+#include <tcb-offsets.h>
+
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	/* Pop the return PC value into RDI.  We need a register that
+	   is preserved by the syscall and that we're allowed to destroy. */
+	popq	%rdi
+	cfi_adjust_cfa_offset(-8)
+	cfi_register(%rip, %rdi)
+
+	/* Stuff the syscall number in RAX and enter into the kernel.  */
+	movl	$SYS_ify (vfork), %eax
+	syscall
+
+	/* Push back the return PC.  */
+	pushq	%rdi
+	cfi_adjust_cfa_offset(8)
+
+	cmpl	$-4095, %eax
+	jae SYSCALL_ERROR_LABEL		/* Branch forward if it failed.  */
+
+	/* Normal return.  */
+	ret
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies
new file mode 100644
index 0000000000..b287872e93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies
@@ -0,0 +1 @@
+x86_64/x32/nptl
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
new file mode 100644
index 0000000000..16b768d8ba
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
@@ -0,0 +1,11 @@
+# The default ABI is x32.
+default-abi := x32
+
+ifeq ($(subdir),misc)
+sysdep_routines += arch_prctl
+endif
+
+ifeq ($(subdir),conform)
+# For bugs 16437 and 21279.
+conformtest-xfail-conds += x86_64-x32-linux
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c
new file mode 100644
index 0000000000..67880e4b28
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c
@@ -0,0 +1,63 @@
+/* arch_prctl call for Linux/x32.
+   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 <errno.h>
+#include <sys/prctl.h>
+#include <sys/syscall.h>
+#include <sysdep.h>
+#include <stdint.h>
+
+/* Since x32 arch_prctl stores 32-bit base address of segment registers
+   %fs and %gs as unsigned 64-bit value via ARCH_GET_FS and ARCH_GET_GS,
+   we use an unsigned 64-bit variable to hold the base address and copy
+   it to ADDR after the system call returns.  */
+
+int
+__arch_prctl (int code, uintptr_t *addr)
+{
+  int res;
+  uint64_t addr64;
+  void *prctl_arg = addr;
+
+  switch (code)
+    {
+    case ARCH_GET_FS:
+    case ARCH_GET_GS:
+      prctl_arg = &addr64;
+      break;
+    }
+
+  res = INLINE_SYSCALL (arch_prctl, 2, code, prctl_arg);
+  if (res == 0)
+    switch (code)
+      {
+      case ARCH_GET_FS:
+      case ARCH_GET_GS:
+	 /* Check for a large value that overflows.  */
+	if ((uintptr_t) addr64 != addr64)
+	  {
+	    __set_errno (EOVERFLOW);
+	    return -1;
+	  }
+	*addr = (uintptr_t) addr64;
+	break;
+      }
+
+  return res;
+}
+weak_alias (__arch_prctl, arch_prctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data
new file mode 100644
index 0000000000..348bf52b2b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:x
+blksize_t:x
+caddr_t:Pc
+clockid_t:i
+clock_t:x
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:y
+fsfilcnt64_t:y
+fsfilcnt_t:y
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:y
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:y
+off64_t:x
+off_t:x
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:x
+rlim64_t:y
+rlim_t:y
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:x
+time_t:x
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure
new file mode 100644
index 0000000000..1417da4785
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure
@@ -0,0 +1,17 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+
+arch_minimum_kernel=3.4.0
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/libx32
+  libc_cv_rtlddir=/libx32
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/libx32';
+    # 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/x86_64/x32/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
new file mode 100644
index 0000000000..f44e4ca148
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
@@ -0,0 +1,6 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+
+arch_minimum_kernel=3.4.0
+
+LIBC_SLIBDIR_RTLDDIR([libx32], [libx32])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h
new file mode 100644
index 0000000000..8da3025fd7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h
@@ -0,0 +1,23 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   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 <sysdeps/unix/sysv/linux/x86_64/dl-cache.h>
+
+/* Defined as (FLAG_ELF_LIBC6 | FLAG_X8664_LIBX32).  */
+#undef _DL_CACHE_DEFAULT_ID
+#define _DL_CACHE_DEFAULT_ID	0x803
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c
new file mode 100644
index 0000000000..980573ed68
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c
@@ -0,0 +1 @@
+#include <sysdeps/wordsize-64/fts.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c
new file mode 100644
index 0000000000..221d1b5608
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c
@@ -0,0 +1 @@
+#include <sysdeps/wordsize-64/fts64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c
new file mode 100644
index 0000000000..a21dfe5690
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c
@@ -0,0 +1 @@
+#include <sysdeps/wordsize-64/ftw.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c
new file mode 100644
index 0000000000..3c025b738a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c
@@ -0,0 +1 @@
+#include <sysdeps/wordsize-64/ftw64.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c
new file mode 100644
index 0000000000..cd26d2e627
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c
@@ -0,0 +1,32 @@
+/* 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/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+
+void *getcpu_ifunc (void) __asm__ ("__getcpu");
+
+void *
+inhibit_stack_protector
+getcpu_ifunc (void)
+{
+  PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
+
+  return _dl_vdso_vsym ("__vdso_getcpu", &linux26);
+}
+__asm (".type __getcpu, %gnu_indirect_function");
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c
new file mode 100644
index 0000000000..e5427475f6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c
@@ -0,0 +1 @@
+#include <sysdeps/wordsize-64/glob.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
new file mode 100644
index 0000000000..236357bd83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
@@ -0,0 +1,9 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __libc_stack_end D 0x4
+GLIBC_2.16 __tls_get_addr F
+GLIBC_2.16 _dl_mcount F
+GLIBC_2.16 _r_debug D 0x14
+GLIBC_2.16 calloc F
+GLIBC_2.16 free F
+GLIBC_2.16 malloc F
+GLIBC_2.16 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist
new file mode 100644
index 0000000000..0c8f428e3b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist
new file mode 100644
index 0000000000..695118b9d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 gai_cancel F
+GLIBC_2.16 gai_error F
+GLIBC_2.16 gai_suspend F
+GLIBC_2.16 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
new file mode 100644
index 0000000000..0c557e9f43
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -0,0 +1,2112 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 _Exit F
+GLIBC_2.16 _IO_2_1_stderr_ D 0xa0
+GLIBC_2.16 _IO_2_1_stdin_ D 0xa0
+GLIBC_2.16 _IO_2_1_stdout_ D 0xa0
+GLIBC_2.16 _IO_adjust_column F
+GLIBC_2.16 _IO_adjust_wcolumn F
+GLIBC_2.16 _IO_default_doallocate F
+GLIBC_2.16 _IO_default_finish F
+GLIBC_2.16 _IO_default_pbackfail F
+GLIBC_2.16 _IO_default_uflow F
+GLIBC_2.16 _IO_default_xsgetn F
+GLIBC_2.16 _IO_default_xsputn F
+GLIBC_2.16 _IO_do_write F
+GLIBC_2.16 _IO_doallocbuf F
+GLIBC_2.16 _IO_fclose F
+GLIBC_2.16 _IO_fdopen F
+GLIBC_2.16 _IO_feof F
+GLIBC_2.16 _IO_ferror F
+GLIBC_2.16 _IO_fflush F
+GLIBC_2.16 _IO_fgetpos F
+GLIBC_2.16 _IO_fgetpos64 F
+GLIBC_2.16 _IO_fgets F
+GLIBC_2.16 _IO_file_attach F
+GLIBC_2.16 _IO_file_close F
+GLIBC_2.16 _IO_file_close_it F
+GLIBC_2.16 _IO_file_doallocate F
+GLIBC_2.16 _IO_file_finish F
+GLIBC_2.16 _IO_file_fopen F
+GLIBC_2.16 _IO_file_init F
+GLIBC_2.16 _IO_file_jumps D 0x54
+GLIBC_2.16 _IO_file_open F
+GLIBC_2.16 _IO_file_overflow F
+GLIBC_2.16 _IO_file_read F
+GLIBC_2.16 _IO_file_seek F
+GLIBC_2.16 _IO_file_seekoff F
+GLIBC_2.16 _IO_file_setbuf F
+GLIBC_2.16 _IO_file_stat F
+GLIBC_2.16 _IO_file_sync F
+GLIBC_2.16 _IO_file_underflow F
+GLIBC_2.16 _IO_file_write F
+GLIBC_2.16 _IO_file_xsputn F
+GLIBC_2.16 _IO_flockfile F
+GLIBC_2.16 _IO_flush_all F
+GLIBC_2.16 _IO_flush_all_linebuffered F
+GLIBC_2.16 _IO_fopen F
+GLIBC_2.16 _IO_fprintf F
+GLIBC_2.16 _IO_fputs F
+GLIBC_2.16 _IO_fread F
+GLIBC_2.16 _IO_free_backup_area F
+GLIBC_2.16 _IO_free_wbackup_area F
+GLIBC_2.16 _IO_fsetpos F
+GLIBC_2.16 _IO_fsetpos64 F
+GLIBC_2.16 _IO_ftell F
+GLIBC_2.16 _IO_ftrylockfile F
+GLIBC_2.16 _IO_funlockfile F
+GLIBC_2.16 _IO_fwrite F
+GLIBC_2.16 _IO_getc F
+GLIBC_2.16 _IO_getline F
+GLIBC_2.16 _IO_getline_info F
+GLIBC_2.16 _IO_gets F
+GLIBC_2.16 _IO_init F
+GLIBC_2.16 _IO_init_marker F
+GLIBC_2.16 _IO_init_wmarker F
+GLIBC_2.16 _IO_iter_begin F
+GLIBC_2.16 _IO_iter_end F
+GLIBC_2.16 _IO_iter_file F
+GLIBC_2.16 _IO_iter_next F
+GLIBC_2.16 _IO_least_wmarker F
+GLIBC_2.16 _IO_link_in F
+GLIBC_2.16 _IO_list_all D 0x4
+GLIBC_2.16 _IO_list_lock F
+GLIBC_2.16 _IO_list_resetlock F
+GLIBC_2.16 _IO_list_unlock F
+GLIBC_2.16 _IO_marker_delta F
+GLIBC_2.16 _IO_marker_difference F
+GLIBC_2.16 _IO_padn F
+GLIBC_2.16 _IO_peekc_locked F
+GLIBC_2.16 _IO_popen F
+GLIBC_2.16 _IO_printf F
+GLIBC_2.16 _IO_proc_close F
+GLIBC_2.16 _IO_proc_open F
+GLIBC_2.16 _IO_putc F
+GLIBC_2.16 _IO_puts F
+GLIBC_2.16 _IO_remove_marker F
+GLIBC_2.16 _IO_seekmark F
+GLIBC_2.16 _IO_seekoff F
+GLIBC_2.16 _IO_seekpos F
+GLIBC_2.16 _IO_seekwmark F
+GLIBC_2.16 _IO_setb F
+GLIBC_2.16 _IO_setbuffer F
+GLIBC_2.16 _IO_setvbuf F
+GLIBC_2.16 _IO_sgetn F
+GLIBC_2.16 _IO_sprintf F
+GLIBC_2.16 _IO_sputbackc F
+GLIBC_2.16 _IO_sputbackwc F
+GLIBC_2.16 _IO_sscanf F
+GLIBC_2.16 _IO_str_init_readonly F
+GLIBC_2.16 _IO_str_init_static F
+GLIBC_2.16 _IO_str_overflow F
+GLIBC_2.16 _IO_str_pbackfail F
+GLIBC_2.16 _IO_str_seekoff F
+GLIBC_2.16 _IO_str_underflow F
+GLIBC_2.16 _IO_sungetc F
+GLIBC_2.16 _IO_sungetwc F
+GLIBC_2.16 _IO_switch_to_get_mode F
+GLIBC_2.16 _IO_switch_to_main_wget_area F
+GLIBC_2.16 _IO_switch_to_wbackup_area F
+GLIBC_2.16 _IO_switch_to_wget_mode F
+GLIBC_2.16 _IO_un_link F
+GLIBC_2.16 _IO_ungetc F
+GLIBC_2.16 _IO_unsave_markers F
+GLIBC_2.16 _IO_unsave_wmarkers F
+GLIBC_2.16 _IO_vfprintf F
+GLIBC_2.16 _IO_vfscanf F
+GLIBC_2.16 _IO_vsprintf F
+GLIBC_2.16 _IO_wdefault_doallocate F
+GLIBC_2.16 _IO_wdefault_finish F
+GLIBC_2.16 _IO_wdefault_pbackfail F
+GLIBC_2.16 _IO_wdefault_uflow F
+GLIBC_2.16 _IO_wdefault_xsgetn F
+GLIBC_2.16 _IO_wdefault_xsputn F
+GLIBC_2.16 _IO_wdo_write F
+GLIBC_2.16 _IO_wdoallocbuf F
+GLIBC_2.16 _IO_wfile_jumps D 0x54
+GLIBC_2.16 _IO_wfile_overflow F
+GLIBC_2.16 _IO_wfile_seekoff F
+GLIBC_2.16 _IO_wfile_sync F
+GLIBC_2.16 _IO_wfile_underflow F
+GLIBC_2.16 _IO_wfile_xsputn F
+GLIBC_2.16 _IO_wmarker_delta F
+GLIBC_2.16 _IO_wsetb F
+GLIBC_2.16 __adjtimex F
+GLIBC_2.16 __after_morecore_hook D 0x4
+GLIBC_2.16 __arch_prctl F
+GLIBC_2.16 __argz_count F
+GLIBC_2.16 __argz_next F
+GLIBC_2.16 __argz_stringify F
+GLIBC_2.16 __asprintf F
+GLIBC_2.16 __asprintf_chk F
+GLIBC_2.16 __assert F
+GLIBC_2.16 __assert_fail F
+GLIBC_2.16 __assert_perror_fail F
+GLIBC_2.16 __backtrace F
+GLIBC_2.16 __backtrace_symbols F
+GLIBC_2.16 __backtrace_symbols_fd F
+GLIBC_2.16 __bsd_getpgrp F
+GLIBC_2.16 __bzero F
+GLIBC_2.16 __check_rhosts_file D 0x4
+GLIBC_2.16 __chk_fail F
+GLIBC_2.16 __clone F
+GLIBC_2.16 __close F
+GLIBC_2.16 __cmsg_nxthdr F
+GLIBC_2.16 __confstr_chk F
+GLIBC_2.16 __connect F
+GLIBC_2.16 __ctype_b_loc F
+GLIBC_2.16 __ctype_get_mb_cur_max F
+GLIBC_2.16 __ctype_tolower_loc F
+GLIBC_2.16 __ctype_toupper_loc F
+GLIBC_2.16 __curbrk D 0x4
+GLIBC_2.16 __cxa_at_quick_exit F
+GLIBC_2.16 __cxa_atexit F
+GLIBC_2.16 __cxa_finalize F
+GLIBC_2.16 __cyg_profile_func_enter F
+GLIBC_2.16 __cyg_profile_func_exit F
+GLIBC_2.16 __daylight D 0x4
+GLIBC_2.16 __dcgettext F
+GLIBC_2.16 __default_morecore F
+GLIBC_2.16 __dgettext F
+GLIBC_2.16 __dprintf_chk F
+GLIBC_2.16 __dup2 F
+GLIBC_2.16 __duplocale F
+GLIBC_2.16 __endmntent F
+GLIBC_2.16 __environ D 0x4
+GLIBC_2.16 __errno_location F
+GLIBC_2.16 __fbufsize F
+GLIBC_2.16 __fcntl F
+GLIBC_2.16 __fdelt_chk F
+GLIBC_2.16 __fdelt_warn F
+GLIBC_2.16 __fentry__ F
+GLIBC_2.16 __ffs F
+GLIBC_2.16 __fgets_chk F
+GLIBC_2.16 __fgets_unlocked_chk F
+GLIBC_2.16 __fgetws_chk F
+GLIBC_2.16 __fgetws_unlocked_chk F
+GLIBC_2.16 __finite F
+GLIBC_2.16 __finitef F
+GLIBC_2.16 __finitel F
+GLIBC_2.16 __flbf F
+GLIBC_2.16 __fork F
+GLIBC_2.16 __fpending F
+GLIBC_2.16 __fprintf_chk F
+GLIBC_2.16 __fpu_control D 0x2
+GLIBC_2.16 __fpurge F
+GLIBC_2.16 __fread_chk F
+GLIBC_2.16 __fread_unlocked_chk F
+GLIBC_2.16 __freadable F
+GLIBC_2.16 __freading F
+GLIBC_2.16 __free_hook D 0x4
+GLIBC_2.16 __freelocale F
+GLIBC_2.16 __fsetlocking F
+GLIBC_2.16 __fwprintf_chk F
+GLIBC_2.16 __fwritable F
+GLIBC_2.16 __fwriting F
+GLIBC_2.16 __fxstat F
+GLIBC_2.16 __fxstat64 F
+GLIBC_2.16 __fxstatat F
+GLIBC_2.16 __fxstatat64 F
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __getcwd_chk F
+GLIBC_2.16 __getdelim F
+GLIBC_2.16 __getdomainname_chk F
+GLIBC_2.16 __getgroups_chk F
+GLIBC_2.16 __gethostname_chk F
+GLIBC_2.16 __getlogin_r_chk F
+GLIBC_2.16 __getmntent_r F
+GLIBC_2.16 __getpagesize F
+GLIBC_2.16 __getpgid F
+GLIBC_2.16 __getpid F
+GLIBC_2.16 __gets_chk F
+GLIBC_2.16 __gettimeofday F
+GLIBC_2.16 __getwd_chk F
+GLIBC_2.16 __gmtime_r F
+GLIBC_2.16 __h_errno_location F
+GLIBC_2.16 __isalnum_l F
+GLIBC_2.16 __isalpha_l F
+GLIBC_2.16 __isascii_l F
+GLIBC_2.16 __isblank_l F
+GLIBC_2.16 __iscntrl_l F
+GLIBC_2.16 __isctype F
+GLIBC_2.16 __isdigit_l F
+GLIBC_2.16 __isgraph_l F
+GLIBC_2.16 __isinf F
+GLIBC_2.16 __isinff F
+GLIBC_2.16 __isinfl F
+GLIBC_2.16 __islower_l F
+GLIBC_2.16 __isnan F
+GLIBC_2.16 __isnanf F
+GLIBC_2.16 __isnanl F
+GLIBC_2.16 __isoc99_fscanf F
+GLIBC_2.16 __isoc99_fwscanf F
+GLIBC_2.16 __isoc99_scanf F
+GLIBC_2.16 __isoc99_sscanf F
+GLIBC_2.16 __isoc99_swscanf F
+GLIBC_2.16 __isoc99_vfscanf F
+GLIBC_2.16 __isoc99_vfwscanf F
+GLIBC_2.16 __isoc99_vscanf F
+GLIBC_2.16 __isoc99_vsscanf F
+GLIBC_2.16 __isoc99_vswscanf F
+GLIBC_2.16 __isoc99_vwscanf F
+GLIBC_2.16 __isoc99_wscanf F
+GLIBC_2.16 __isprint_l F
+GLIBC_2.16 __ispunct_l F
+GLIBC_2.16 __isspace_l F
+GLIBC_2.16 __isupper_l F
+GLIBC_2.16 __iswalnum_l F
+GLIBC_2.16 __iswalpha_l F
+GLIBC_2.16 __iswblank_l F
+GLIBC_2.16 __iswcntrl_l F
+GLIBC_2.16 __iswctype F
+GLIBC_2.16 __iswctype_l F
+GLIBC_2.16 __iswdigit_l F
+GLIBC_2.16 __iswgraph_l F
+GLIBC_2.16 __iswlower_l F
+GLIBC_2.16 __iswprint_l F
+GLIBC_2.16 __iswpunct_l F
+GLIBC_2.16 __iswspace_l F
+GLIBC_2.16 __iswupper_l F
+GLIBC_2.16 __iswxdigit_l F
+GLIBC_2.16 __isxdigit_l F
+GLIBC_2.16 __ivaliduser F
+GLIBC_2.16 __key_decryptsession_pk_LOCAL D 0x4
+GLIBC_2.16 __key_encryptsession_pk_LOCAL D 0x4
+GLIBC_2.16 __key_gendes_LOCAL D 0x4
+GLIBC_2.16 __libc_allocate_rtsig F
+GLIBC_2.16 __libc_calloc F
+GLIBC_2.16 __libc_current_sigrtmax F
+GLIBC_2.16 __libc_current_sigrtmin F
+GLIBC_2.16 __libc_free F
+GLIBC_2.16 __libc_freeres F
+GLIBC_2.16 __libc_init_first F
+GLIBC_2.16 __libc_mallinfo F
+GLIBC_2.16 __libc_malloc F
+GLIBC_2.16 __libc_mallopt F
+GLIBC_2.16 __libc_memalign F
+GLIBC_2.16 __libc_pvalloc F
+GLIBC_2.16 __libc_realloc F
+GLIBC_2.16 __libc_sa_len F
+GLIBC_2.16 __libc_start_main F
+GLIBC_2.16 __libc_valloc F
+GLIBC_2.16 __longjmp_chk F
+GLIBC_2.16 __lseek F
+GLIBC_2.16 __lxstat F
+GLIBC_2.16 __lxstat64 F
+GLIBC_2.16 __malloc_hook D 0x4
+GLIBC_2.16 __malloc_initialize_hook D 0x4
+GLIBC_2.16 __mbrlen F
+GLIBC_2.16 __mbrtowc F
+GLIBC_2.16 __mbsnrtowcs_chk F
+GLIBC_2.16 __mbsrtowcs_chk F
+GLIBC_2.16 __mbstowcs_chk F
+GLIBC_2.16 __memalign_hook D 0x4
+GLIBC_2.16 __memcpy_chk F
+GLIBC_2.16 __memmove_chk F
+GLIBC_2.16 __mempcpy F
+GLIBC_2.16 __mempcpy_chk F
+GLIBC_2.16 __mempcpy_small F
+GLIBC_2.16 __memset_chk F
+GLIBC_2.16 __monstartup F
+GLIBC_2.16 __morecore D 0x4
+GLIBC_2.16 __nanosleep F
+GLIBC_2.16 __newlocale F
+GLIBC_2.16 __nl_langinfo_l F
+GLIBC_2.16 __nss_configure_lookup F
+GLIBC_2.16 __nss_database_lookup F
+GLIBC_2.16 __nss_group_lookup F
+GLIBC_2.16 __nss_hostname_digits_dots F
+GLIBC_2.16 __nss_hosts_lookup F
+GLIBC_2.16 __nss_next F
+GLIBC_2.16 __nss_passwd_lookup F
+GLIBC_2.16 __obstack_printf_chk F
+GLIBC_2.16 __obstack_vprintf_chk F
+GLIBC_2.16 __open F
+GLIBC_2.16 __open64 F
+GLIBC_2.16 __open64_2 F
+GLIBC_2.16 __open_2 F
+GLIBC_2.16 __openat64_2 F
+GLIBC_2.16 __openat_2 F
+GLIBC_2.16 __overflow F
+GLIBC_2.16 __pipe F
+GLIBC_2.16 __poll F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __posix_getopt F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 __pread64 F
+GLIBC_2.16 __pread64_chk F
+GLIBC_2.16 __pread_chk F
+GLIBC_2.16 __printf_chk F
+GLIBC_2.16 __printf_fp F
+GLIBC_2.16 __profile_frequency F
+GLIBC_2.16 __progname D 0x4
+GLIBC_2.16 __progname_full D 0x4
+GLIBC_2.16 __ptsname_r_chk F
+GLIBC_2.16 __pwrite64 F
+GLIBC_2.16 __rawmemchr F
+GLIBC_2.16 __rcmd_errstr D 0x4
+GLIBC_2.16 __read F
+GLIBC_2.16 __read_chk F
+GLIBC_2.16 __readlink_chk F
+GLIBC_2.16 __readlinkat_chk F
+GLIBC_2.16 __realloc_hook D 0x4
+GLIBC_2.16 __realpath_chk F
+GLIBC_2.16 __recv_chk F
+GLIBC_2.16 __recvfrom_chk F
+GLIBC_2.16 __register_atfork F
+GLIBC_2.16 __res_init F
+GLIBC_2.16 __res_nclose F
+GLIBC_2.16 __res_ninit F
+GLIBC_2.16 __res_randomid F
+GLIBC_2.16 __res_state F
+GLIBC_2.16 __rpc_thread_createerr F
+GLIBC_2.16 __rpc_thread_svc_fdset F
+GLIBC_2.16 __rpc_thread_svc_max_pollfd F
+GLIBC_2.16 __rpc_thread_svc_pollfd F
+GLIBC_2.16 __sbrk F
+GLIBC_2.16 __sched_cpualloc F
+GLIBC_2.16 __sched_cpucount F
+GLIBC_2.16 __sched_cpufree F
+GLIBC_2.16 __sched_get_priority_max F
+GLIBC_2.16 __sched_get_priority_min F
+GLIBC_2.16 __sched_getparam F
+GLIBC_2.16 __sched_getscheduler F
+GLIBC_2.16 __sched_setscheduler F
+GLIBC_2.16 __sched_yield F
+GLIBC_2.16 __secure_getenv F
+GLIBC_2.16 __select F
+GLIBC_2.16 __send F
+GLIBC_2.16 __setmntent F
+GLIBC_2.16 __setpgid F
+GLIBC_2.16 __sigaction F
+GLIBC_2.16 __sigaddset F
+GLIBC_2.16 __sigdelset F
+GLIBC_2.16 __sigismember F
+GLIBC_2.16 __signbit F
+GLIBC_2.16 __signbitf F
+GLIBC_2.16 __signbitl F
+GLIBC_2.16 __sigpause F
+GLIBC_2.16 __sigsetjmp F
+GLIBC_2.16 __sigsuspend F
+GLIBC_2.16 __snprintf_chk F
+GLIBC_2.16 __sprintf_chk F
+GLIBC_2.16 __stack_chk_fail F
+GLIBC_2.16 __statfs F
+GLIBC_2.16 __stpcpy F
+GLIBC_2.16 __stpcpy_chk F
+GLIBC_2.16 __stpcpy_small F
+GLIBC_2.16 __stpncpy F
+GLIBC_2.16 __stpncpy_chk F
+GLIBC_2.16 __strcasecmp F
+GLIBC_2.16 __strcasecmp_l F
+GLIBC_2.16 __strcasestr F
+GLIBC_2.16 __strcat_chk F
+GLIBC_2.16 __strcoll_l F
+GLIBC_2.16 __strcpy_chk F
+GLIBC_2.16 __strcpy_small F
+GLIBC_2.16 __strcspn_c1 F
+GLIBC_2.16 __strcspn_c2 F
+GLIBC_2.16 __strcspn_c3 F
+GLIBC_2.16 __strdup F
+GLIBC_2.16 __strerror_r F
+GLIBC_2.16 __strfmon_l F
+GLIBC_2.16 __strftime_l F
+GLIBC_2.16 __strncasecmp_l F
+GLIBC_2.16 __strncat_chk F
+GLIBC_2.16 __strncpy_chk F
+GLIBC_2.16 __strndup F
+GLIBC_2.16 __strpbrk_c2 F
+GLIBC_2.16 __strpbrk_c3 F
+GLIBC_2.16 __strsep_1c F
+GLIBC_2.16 __strsep_2c F
+GLIBC_2.16 __strsep_3c F
+GLIBC_2.16 __strsep_g F
+GLIBC_2.16 __strspn_c1 F
+GLIBC_2.16 __strspn_c2 F
+GLIBC_2.16 __strspn_c3 F
+GLIBC_2.16 __strtod_internal F
+GLIBC_2.16 __strtod_l F
+GLIBC_2.16 __strtof_internal F
+GLIBC_2.16 __strtof_l F
+GLIBC_2.16 __strtok_r F
+GLIBC_2.16 __strtok_r_1c F
+GLIBC_2.16 __strtol_internal F
+GLIBC_2.16 __strtol_l F
+GLIBC_2.16 __strtold_internal F
+GLIBC_2.16 __strtold_l F
+GLIBC_2.16 __strtoll_internal F
+GLIBC_2.16 __strtoll_l F
+GLIBC_2.16 __strtoul_internal F
+GLIBC_2.16 __strtoul_l F
+GLIBC_2.16 __strtoull_internal F
+GLIBC_2.16 __strtoull_l F
+GLIBC_2.16 __strverscmp F
+GLIBC_2.16 __strxfrm_l F
+GLIBC_2.16 __swprintf_chk F
+GLIBC_2.16 __sysconf F
+GLIBC_2.16 __syslog_chk F
+GLIBC_2.16 __sysv_signal F
+GLIBC_2.16 __timezone D 0x4
+GLIBC_2.16 __toascii_l F
+GLIBC_2.16 __tolower_l F
+GLIBC_2.16 __toupper_l F
+GLIBC_2.16 __towctrans F
+GLIBC_2.16 __towctrans_l F
+GLIBC_2.16 __towlower_l F
+GLIBC_2.16 __towupper_l F
+GLIBC_2.16 __ttyname_r_chk F
+GLIBC_2.16 __tzname D 0x8
+GLIBC_2.16 __uflow F
+GLIBC_2.16 __underflow F
+GLIBC_2.16 __uselocale F
+GLIBC_2.16 __vasprintf_chk F
+GLIBC_2.16 __vdprintf_chk F
+GLIBC_2.16 __vfork F
+GLIBC_2.16 __vfprintf_chk F
+GLIBC_2.16 __vfscanf F
+GLIBC_2.16 __vfwprintf_chk F
+GLIBC_2.16 __vprintf_chk F
+GLIBC_2.16 __vsnprintf F
+GLIBC_2.16 __vsnprintf_chk F
+GLIBC_2.16 __vsprintf_chk F
+GLIBC_2.16 __vsscanf F
+GLIBC_2.16 __vswprintf_chk F
+GLIBC_2.16 __vsyslog_chk F
+GLIBC_2.16 __vwprintf_chk F
+GLIBC_2.16 __wait F
+GLIBC_2.16 __waitpid F
+GLIBC_2.16 __wcpcpy_chk F
+GLIBC_2.16 __wcpncpy_chk F
+GLIBC_2.16 __wcrtomb_chk F
+GLIBC_2.16 __wcscasecmp_l F
+GLIBC_2.16 __wcscat_chk F
+GLIBC_2.16 __wcscoll_l F
+GLIBC_2.16 __wcscpy_chk F
+GLIBC_2.16 __wcsftime_l F
+GLIBC_2.16 __wcsncasecmp_l F
+GLIBC_2.16 __wcsncat_chk F
+GLIBC_2.16 __wcsncpy_chk F
+GLIBC_2.16 __wcsnrtombs_chk F
+GLIBC_2.16 __wcsrtombs_chk F
+GLIBC_2.16 __wcstod_internal F
+GLIBC_2.16 __wcstod_l F
+GLIBC_2.16 __wcstof_internal F
+GLIBC_2.16 __wcstof_l F
+GLIBC_2.16 __wcstol_internal F
+GLIBC_2.16 __wcstol_l F
+GLIBC_2.16 __wcstold_internal F
+GLIBC_2.16 __wcstold_l F
+GLIBC_2.16 __wcstoll_internal F
+GLIBC_2.16 __wcstoll_l F
+GLIBC_2.16 __wcstombs_chk F
+GLIBC_2.16 __wcstoul_internal F
+GLIBC_2.16 __wcstoul_l F
+GLIBC_2.16 __wcstoull_internal F
+GLIBC_2.16 __wcstoull_l F
+GLIBC_2.16 __wcsxfrm_l F
+GLIBC_2.16 __wctomb_chk F
+GLIBC_2.16 __wctrans_l F
+GLIBC_2.16 __wctype_l F
+GLIBC_2.16 __wmemcpy_chk F
+GLIBC_2.16 __wmemmove_chk F
+GLIBC_2.16 __wmempcpy_chk F
+GLIBC_2.16 __wmemset_chk F
+GLIBC_2.16 __woverflow F
+GLIBC_2.16 __wprintf_chk F
+GLIBC_2.16 __write F
+GLIBC_2.16 __wuflow F
+GLIBC_2.16 __wunderflow F
+GLIBC_2.16 __xmknod F
+GLIBC_2.16 __xmknodat F
+GLIBC_2.16 __xpg_basename F
+GLIBC_2.16 __xpg_sigpause F
+GLIBC_2.16 __xpg_strerror_r F
+GLIBC_2.16 __xstat F
+GLIBC_2.16 __xstat64 F
+GLIBC_2.16 _authenticate F
+GLIBC_2.16 _dl_mcount_wrapper F
+GLIBC_2.16 _dl_mcount_wrapper_check F
+GLIBC_2.16 _environ D 0x4
+GLIBC_2.16 _exit F
+GLIBC_2.16 _flushlbf F
+GLIBC_2.16 _libc_intl_domainname D 0x5
+GLIBC_2.16 _longjmp F
+GLIBC_2.16 _mcleanup F
+GLIBC_2.16 _mcount F
+GLIBC_2.16 _nl_default_dirname D 0x12
+GLIBC_2.16 _nl_domain_bindings D 0x4
+GLIBC_2.16 _nl_msg_cat_cntr D 0x4
+GLIBC_2.16 _null_auth D 0xc
+GLIBC_2.16 _obstack_allocated_p F
+GLIBC_2.16 _obstack_begin F
+GLIBC_2.16 _obstack_begin_1 F
+GLIBC_2.16 _obstack_free F
+GLIBC_2.16 _obstack_memory_used F
+GLIBC_2.16 _obstack_newchunk F
+GLIBC_2.16 _res D 0x200
+GLIBC_2.16 _res_hconf D 0x30
+GLIBC_2.16 _rpc_dtablesize F
+GLIBC_2.16 _seterr_reply F
+GLIBC_2.16 _setjmp F
+GLIBC_2.16 _sys_errlist D 0x21c
+GLIBC_2.16 _sys_nerr D 0x4
+GLIBC_2.16 _sys_siglist D 0x104
+GLIBC_2.16 _tolower F
+GLIBC_2.16 _toupper F
+GLIBC_2.16 a64l F
+GLIBC_2.16 abort F
+GLIBC_2.16 abs F
+GLIBC_2.16 accept F
+GLIBC_2.16 accept4 F
+GLIBC_2.16 access F
+GLIBC_2.16 acct F
+GLIBC_2.16 addmntent F
+GLIBC_2.16 addseverity F
+GLIBC_2.16 adjtime F
+GLIBC_2.16 adjtimex F
+GLIBC_2.16 advance F
+GLIBC_2.16 alarm F
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 alphasort F
+GLIBC_2.16 alphasort64 F
+GLIBC_2.16 arch_prctl F
+GLIBC_2.16 argp_err_exit_status D 0x4
+GLIBC_2.16 argp_error F
+GLIBC_2.16 argp_failure F
+GLIBC_2.16 argp_help F
+GLIBC_2.16 argp_parse F
+GLIBC_2.16 argp_program_bug_address D 0x4
+GLIBC_2.16 argp_program_version D 0x4
+GLIBC_2.16 argp_program_version_hook D 0x4
+GLIBC_2.16 argp_state_help F
+GLIBC_2.16 argp_usage F
+GLIBC_2.16 argz_add F
+GLIBC_2.16 argz_add_sep F
+GLIBC_2.16 argz_append F
+GLIBC_2.16 argz_count F
+GLIBC_2.16 argz_create F
+GLIBC_2.16 argz_create_sep F
+GLIBC_2.16 argz_delete F
+GLIBC_2.16 argz_extract F
+GLIBC_2.16 argz_insert F
+GLIBC_2.16 argz_next F
+GLIBC_2.16 argz_replace F
+GLIBC_2.16 argz_stringify F
+GLIBC_2.16 asctime F
+GLIBC_2.16 asctime_r F
+GLIBC_2.16 asprintf F
+GLIBC_2.16 atof F
+GLIBC_2.16 atoi F
+GLIBC_2.16 atol F
+GLIBC_2.16 atoll F
+GLIBC_2.16 authdes_create F
+GLIBC_2.16 authdes_getucred F
+GLIBC_2.16 authdes_pk_create F
+GLIBC_2.16 authnone_create F
+GLIBC_2.16 authunix_create F
+GLIBC_2.16 authunix_create_default F
+GLIBC_2.16 backtrace F
+GLIBC_2.16 backtrace_symbols F
+GLIBC_2.16 backtrace_symbols_fd F
+GLIBC_2.16 basename F
+GLIBC_2.16 bcmp F
+GLIBC_2.16 bcopy F
+GLIBC_2.16 bdflush F
+GLIBC_2.16 bind F
+GLIBC_2.16 bind_textdomain_codeset F
+GLIBC_2.16 bindresvport F
+GLIBC_2.16 bindtextdomain F
+GLIBC_2.16 brk F
+GLIBC_2.16 bsd_signal F
+GLIBC_2.16 bsearch F
+GLIBC_2.16 btowc F
+GLIBC_2.16 bzero F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 calloc F
+GLIBC_2.16 callrpc F
+GLIBC_2.16 canonicalize_file_name F
+GLIBC_2.16 capget F
+GLIBC_2.16 capset F
+GLIBC_2.16 catclose F
+GLIBC_2.16 catgets F
+GLIBC_2.16 catopen F
+GLIBC_2.16 cbc_crypt F
+GLIBC_2.16 cfgetispeed F
+GLIBC_2.16 cfgetospeed F
+GLIBC_2.16 cfmakeraw F
+GLIBC_2.16 cfree F
+GLIBC_2.16 cfsetispeed F
+GLIBC_2.16 cfsetospeed F
+GLIBC_2.16 cfsetspeed F
+GLIBC_2.16 chdir F
+GLIBC_2.16 chflags F
+GLIBC_2.16 chmod F
+GLIBC_2.16 chown F
+GLIBC_2.16 chroot F
+GLIBC_2.16 clearenv F
+GLIBC_2.16 clearerr F
+GLIBC_2.16 clearerr_unlocked F
+GLIBC_2.16 clnt_broadcast F
+GLIBC_2.16 clnt_create F
+GLIBC_2.16 clnt_pcreateerror F
+GLIBC_2.16 clnt_perrno F
+GLIBC_2.16 clnt_perror F
+GLIBC_2.16 clnt_spcreateerror F
+GLIBC_2.16 clnt_sperrno F
+GLIBC_2.16 clnt_sperror F
+GLIBC_2.16 clntraw_create F
+GLIBC_2.16 clnttcp_create F
+GLIBC_2.16 clntudp_bufcreate F
+GLIBC_2.16 clntudp_create F
+GLIBC_2.16 clntunix_create F
+GLIBC_2.16 clock F
+GLIBC_2.16 clock_adjtime F
+GLIBC_2.16 clone F
+GLIBC_2.16 close F
+GLIBC_2.16 closedir F
+GLIBC_2.16 closelog F
+GLIBC_2.16 confstr F
+GLIBC_2.16 connect F
+GLIBC_2.16 copysign F
+GLIBC_2.16 copysignf F
+GLIBC_2.16 copysignl F
+GLIBC_2.16 creat F
+GLIBC_2.16 creat64 F
+GLIBC_2.16 create_module F
+GLIBC_2.16 ctermid F
+GLIBC_2.16 ctime F
+GLIBC_2.16 ctime_r F
+GLIBC_2.16 cuserid F
+GLIBC_2.16 daemon F
+GLIBC_2.16 daylight D 0x4
+GLIBC_2.16 dcgettext F
+GLIBC_2.16 dcngettext F
+GLIBC_2.16 delete_module F
+GLIBC_2.16 des_setparity F
+GLIBC_2.16 dgettext F
+GLIBC_2.16 difftime F
+GLIBC_2.16 dirfd F
+GLIBC_2.16 dirname F
+GLIBC_2.16 div F
+GLIBC_2.16 dl_iterate_phdr F
+GLIBC_2.16 dngettext F
+GLIBC_2.16 dprintf F
+GLIBC_2.16 drand48 F
+GLIBC_2.16 drand48_r F
+GLIBC_2.16 dup F
+GLIBC_2.16 dup2 F
+GLIBC_2.16 dup3 F
+GLIBC_2.16 duplocale F
+GLIBC_2.16 dysize F
+GLIBC_2.16 eaccess F
+GLIBC_2.16 ecb_crypt F
+GLIBC_2.16 ecvt F
+GLIBC_2.16 ecvt_r F
+GLIBC_2.16 endaliasent F
+GLIBC_2.16 endfsent F
+GLIBC_2.16 endgrent F
+GLIBC_2.16 endhostent F
+GLIBC_2.16 endmntent F
+GLIBC_2.16 endnetent F
+GLIBC_2.16 endnetgrent F
+GLIBC_2.16 endprotoent F
+GLIBC_2.16 endpwent F
+GLIBC_2.16 endrpcent F
+GLIBC_2.16 endservent F
+GLIBC_2.16 endsgent F
+GLIBC_2.16 endspent F
+GLIBC_2.16 endttyent F
+GLIBC_2.16 endusershell F
+GLIBC_2.16 endutent F
+GLIBC_2.16 endutxent F
+GLIBC_2.16 environ D 0x4
+GLIBC_2.16 envz_add F
+GLIBC_2.16 envz_entry F
+GLIBC_2.16 envz_get F
+GLIBC_2.16 envz_merge F
+GLIBC_2.16 envz_remove F
+GLIBC_2.16 envz_strip F
+GLIBC_2.16 epoll_create F
+GLIBC_2.16 epoll_create1 F
+GLIBC_2.16 epoll_ctl F
+GLIBC_2.16 epoll_pwait F
+GLIBC_2.16 epoll_wait F
+GLIBC_2.16 erand48 F
+GLIBC_2.16 erand48_r F
+GLIBC_2.16 err F
+GLIBC_2.16 error F
+GLIBC_2.16 error_at_line F
+GLIBC_2.16 error_message_count D 0x4
+GLIBC_2.16 error_one_per_line D 0x4
+GLIBC_2.16 error_print_progname D 0x4
+GLIBC_2.16 errx F
+GLIBC_2.16 ether_aton F
+GLIBC_2.16 ether_aton_r F
+GLIBC_2.16 ether_hostton F
+GLIBC_2.16 ether_line F
+GLIBC_2.16 ether_ntoa F
+GLIBC_2.16 ether_ntoa_r F
+GLIBC_2.16 ether_ntohost F
+GLIBC_2.16 euidaccess F
+GLIBC_2.16 eventfd F
+GLIBC_2.16 eventfd_read F
+GLIBC_2.16 eventfd_write F
+GLIBC_2.16 execl F
+GLIBC_2.16 execle F
+GLIBC_2.16 execlp F
+GLIBC_2.16 execv F
+GLIBC_2.16 execve F
+GLIBC_2.16 execvp F
+GLIBC_2.16 execvpe F
+GLIBC_2.16 exit F
+GLIBC_2.16 faccessat F
+GLIBC_2.16 fallocate F
+GLIBC_2.16 fallocate64 F
+GLIBC_2.16 fanotify_init F
+GLIBC_2.16 fanotify_mark F
+GLIBC_2.16 fattach F
+GLIBC_2.16 fchdir F
+GLIBC_2.16 fchflags F
+GLIBC_2.16 fchmod F
+GLIBC_2.16 fchmodat F
+GLIBC_2.16 fchown F
+GLIBC_2.16 fchownat F
+GLIBC_2.16 fclose F
+GLIBC_2.16 fcloseall F
+GLIBC_2.16 fcntl F
+GLIBC_2.16 fcvt F
+GLIBC_2.16 fcvt_r F
+GLIBC_2.16 fdatasync F
+GLIBC_2.16 fdetach F
+GLIBC_2.16 fdopen F
+GLIBC_2.16 fdopendir F
+GLIBC_2.16 feof F
+GLIBC_2.16 feof_unlocked F
+GLIBC_2.16 ferror F
+GLIBC_2.16 ferror_unlocked F
+GLIBC_2.16 fexecve F
+GLIBC_2.16 fflush F
+GLIBC_2.16 fflush_unlocked F
+GLIBC_2.16 ffs F
+GLIBC_2.16 ffsl F
+GLIBC_2.16 ffsll F
+GLIBC_2.16 fgetc F
+GLIBC_2.16 fgetc_unlocked F
+GLIBC_2.16 fgetgrent F
+GLIBC_2.16 fgetgrent_r F
+GLIBC_2.16 fgetpos F
+GLIBC_2.16 fgetpos64 F
+GLIBC_2.16 fgetpwent F
+GLIBC_2.16 fgetpwent_r F
+GLIBC_2.16 fgets F
+GLIBC_2.16 fgets_unlocked F
+GLIBC_2.16 fgetsgent F
+GLIBC_2.16 fgetsgent_r F
+GLIBC_2.16 fgetspent F
+GLIBC_2.16 fgetspent_r F
+GLIBC_2.16 fgetwc F
+GLIBC_2.16 fgetwc_unlocked F
+GLIBC_2.16 fgetws F
+GLIBC_2.16 fgetws_unlocked F
+GLIBC_2.16 fgetxattr F
+GLIBC_2.16 fileno F
+GLIBC_2.16 fileno_unlocked F
+GLIBC_2.16 finite F
+GLIBC_2.16 finitef F
+GLIBC_2.16 finitel F
+GLIBC_2.16 flistxattr F
+GLIBC_2.16 flock F
+GLIBC_2.16 flockfile F
+GLIBC_2.16 fmemopen F
+GLIBC_2.16 fmtmsg F
+GLIBC_2.16 fnmatch F
+GLIBC_2.16 fopen F
+GLIBC_2.16 fopen64 F
+GLIBC_2.16 fopencookie F
+GLIBC_2.16 fork F
+GLIBC_2.16 fpathconf F
+GLIBC_2.16 fprintf F
+GLIBC_2.16 fputc F
+GLIBC_2.16 fputc_unlocked F
+GLIBC_2.16 fputs F
+GLIBC_2.16 fputs_unlocked F
+GLIBC_2.16 fputwc F
+GLIBC_2.16 fputwc_unlocked F
+GLIBC_2.16 fputws F
+GLIBC_2.16 fputws_unlocked F
+GLIBC_2.16 fread F
+GLIBC_2.16 fread_unlocked F
+GLIBC_2.16 free F
+GLIBC_2.16 freeaddrinfo F
+GLIBC_2.16 freeifaddrs F
+GLIBC_2.16 freelocale F
+GLIBC_2.16 fremovexattr F
+GLIBC_2.16 freopen F
+GLIBC_2.16 freopen64 F
+GLIBC_2.16 frexp F
+GLIBC_2.16 frexpf F
+GLIBC_2.16 frexpl F
+GLIBC_2.16 fscanf F
+GLIBC_2.16 fseek F
+GLIBC_2.16 fseeko F
+GLIBC_2.16 fseeko64 F
+GLIBC_2.16 fsetpos F
+GLIBC_2.16 fsetpos64 F
+GLIBC_2.16 fsetxattr F
+GLIBC_2.16 fstatfs F
+GLIBC_2.16 fstatfs64 F
+GLIBC_2.16 fstatvfs F
+GLIBC_2.16 fstatvfs64 F
+GLIBC_2.16 fsync F
+GLIBC_2.16 ftell F
+GLIBC_2.16 ftello F
+GLIBC_2.16 ftello64 F
+GLIBC_2.16 ftime F
+GLIBC_2.16 ftok F
+GLIBC_2.16 ftruncate F
+GLIBC_2.16 ftruncate64 F
+GLIBC_2.16 ftrylockfile F
+GLIBC_2.16 fts_children F
+GLIBC_2.16 fts_close F
+GLIBC_2.16 fts_open F
+GLIBC_2.16 fts_read F
+GLIBC_2.16 fts_set F
+GLIBC_2.16 ftw F
+GLIBC_2.16 ftw64 F
+GLIBC_2.16 funlockfile F
+GLIBC_2.16 futimens F
+GLIBC_2.16 futimes F
+GLIBC_2.16 futimesat F
+GLIBC_2.16 fwide F
+GLIBC_2.16 fwprintf F
+GLIBC_2.16 fwrite F
+GLIBC_2.16 fwrite_unlocked F
+GLIBC_2.16 fwscanf F
+GLIBC_2.16 gai_strerror F
+GLIBC_2.16 gcvt F
+GLIBC_2.16 get_avphys_pages F
+GLIBC_2.16 get_current_dir_name F
+GLIBC_2.16 get_kernel_syms F
+GLIBC_2.16 get_myaddress F
+GLIBC_2.16 get_nprocs F
+GLIBC_2.16 get_nprocs_conf F
+GLIBC_2.16 get_phys_pages F
+GLIBC_2.16 getaddrinfo F
+GLIBC_2.16 getaliasbyname F
+GLIBC_2.16 getaliasbyname_r F
+GLIBC_2.16 getaliasent F
+GLIBC_2.16 getaliasent_r F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 getc F
+GLIBC_2.16 getc_unlocked F
+GLIBC_2.16 getchar F
+GLIBC_2.16 getchar_unlocked F
+GLIBC_2.16 getcontext F
+GLIBC_2.16 getcwd F
+GLIBC_2.16 getdate F
+GLIBC_2.16 getdate_err D 0x4
+GLIBC_2.16 getdate_r F
+GLIBC_2.16 getdelim F
+GLIBC_2.16 getdirentries F
+GLIBC_2.16 getdirentries64 F
+GLIBC_2.16 getdomainname F
+GLIBC_2.16 getdtablesize F
+GLIBC_2.16 getegid F
+GLIBC_2.16 getenv F
+GLIBC_2.16 geteuid F
+GLIBC_2.16 getfsent F
+GLIBC_2.16 getfsfile F
+GLIBC_2.16 getfsspec F
+GLIBC_2.16 getgid F
+GLIBC_2.16 getgrent F
+GLIBC_2.16 getgrent_r F
+GLIBC_2.16 getgrgid F
+GLIBC_2.16 getgrgid_r F
+GLIBC_2.16 getgrnam F
+GLIBC_2.16 getgrnam_r F
+GLIBC_2.16 getgrouplist F
+GLIBC_2.16 getgroups F
+GLIBC_2.16 gethostbyaddr F
+GLIBC_2.16 gethostbyaddr_r F
+GLIBC_2.16 gethostbyname F
+GLIBC_2.16 gethostbyname2 F
+GLIBC_2.16 gethostbyname2_r F
+GLIBC_2.16 gethostbyname_r F
+GLIBC_2.16 gethostent F
+GLIBC_2.16 gethostent_r F
+GLIBC_2.16 gethostid F
+GLIBC_2.16 gethostname F
+GLIBC_2.16 getifaddrs F
+GLIBC_2.16 getipv4sourcefilter F
+GLIBC_2.16 getitimer F
+GLIBC_2.16 getline F
+GLIBC_2.16 getloadavg F
+GLIBC_2.16 getlogin F
+GLIBC_2.16 getlogin_r F
+GLIBC_2.16 getmntent F
+GLIBC_2.16 getmntent_r F
+GLIBC_2.16 getmsg F
+GLIBC_2.16 getnameinfo F
+GLIBC_2.16 getnetbyaddr F
+GLIBC_2.16 getnetbyaddr_r F
+GLIBC_2.16 getnetbyname F
+GLIBC_2.16 getnetbyname_r F
+GLIBC_2.16 getnetent F
+GLIBC_2.16 getnetent_r F
+GLIBC_2.16 getnetgrent F
+GLIBC_2.16 getnetgrent_r F
+GLIBC_2.16 getnetname F
+GLIBC_2.16 getopt F
+GLIBC_2.16 getopt_long F
+GLIBC_2.16 getopt_long_only F
+GLIBC_2.16 getpagesize F
+GLIBC_2.16 getpass F
+GLIBC_2.16 getpeername F
+GLIBC_2.16 getpgid F
+GLIBC_2.16 getpgrp F
+GLIBC_2.16 getpid F
+GLIBC_2.16 getpmsg F
+GLIBC_2.16 getppid F
+GLIBC_2.16 getpriority F
+GLIBC_2.16 getprotobyname F
+GLIBC_2.16 getprotobyname_r F
+GLIBC_2.16 getprotobynumber F
+GLIBC_2.16 getprotobynumber_r F
+GLIBC_2.16 getprotoent F
+GLIBC_2.16 getprotoent_r F
+GLIBC_2.16 getpt F
+GLIBC_2.16 getpublickey F
+GLIBC_2.16 getpw F
+GLIBC_2.16 getpwent F
+GLIBC_2.16 getpwent_r F
+GLIBC_2.16 getpwnam F
+GLIBC_2.16 getpwnam_r F
+GLIBC_2.16 getpwuid F
+GLIBC_2.16 getpwuid_r F
+GLIBC_2.16 getresgid F
+GLIBC_2.16 getresuid F
+GLIBC_2.16 getrlimit F
+GLIBC_2.16 getrlimit64 F
+GLIBC_2.16 getrpcbyname F
+GLIBC_2.16 getrpcbyname_r F
+GLIBC_2.16 getrpcbynumber F
+GLIBC_2.16 getrpcbynumber_r F
+GLIBC_2.16 getrpcent F
+GLIBC_2.16 getrpcent_r F
+GLIBC_2.16 getrpcport F
+GLIBC_2.16 getrusage F
+GLIBC_2.16 gets F
+GLIBC_2.16 getsecretkey F
+GLIBC_2.16 getservbyname F
+GLIBC_2.16 getservbyname_r F
+GLIBC_2.16 getservbyport F
+GLIBC_2.16 getservbyport_r F
+GLIBC_2.16 getservent F
+GLIBC_2.16 getservent_r F
+GLIBC_2.16 getsgent F
+GLIBC_2.16 getsgent_r F
+GLIBC_2.16 getsgnam F
+GLIBC_2.16 getsgnam_r F
+GLIBC_2.16 getsid F
+GLIBC_2.16 getsockname F
+GLIBC_2.16 getsockopt F
+GLIBC_2.16 getsourcefilter F
+GLIBC_2.16 getspent F
+GLIBC_2.16 getspent_r F
+GLIBC_2.16 getspnam F
+GLIBC_2.16 getspnam_r F
+GLIBC_2.16 getsubopt F
+GLIBC_2.16 gettext F
+GLIBC_2.16 gettimeofday F
+GLIBC_2.16 getttyent F
+GLIBC_2.16 getttynam F
+GLIBC_2.16 getuid F
+GLIBC_2.16 getusershell F
+GLIBC_2.16 getutent F
+GLIBC_2.16 getutent_r F
+GLIBC_2.16 getutid F
+GLIBC_2.16 getutid_r F
+GLIBC_2.16 getutline F
+GLIBC_2.16 getutline_r F
+GLIBC_2.16 getutmp F
+GLIBC_2.16 getutmpx F
+GLIBC_2.16 getutxent F
+GLIBC_2.16 getutxid F
+GLIBC_2.16 getutxline F
+GLIBC_2.16 getw F
+GLIBC_2.16 getwc F
+GLIBC_2.16 getwc_unlocked F
+GLIBC_2.16 getwchar F
+GLIBC_2.16 getwchar_unlocked F
+GLIBC_2.16 getwd F
+GLIBC_2.16 getxattr F
+GLIBC_2.16 glob F
+GLIBC_2.16 glob64 F
+GLIBC_2.16 glob_pattern_p F
+GLIBC_2.16 globfree F
+GLIBC_2.16 globfree64 F
+GLIBC_2.16 gmtime F
+GLIBC_2.16 gmtime_r F
+GLIBC_2.16 gnu_dev_major F
+GLIBC_2.16 gnu_dev_makedev F
+GLIBC_2.16 gnu_dev_minor F
+GLIBC_2.16 gnu_get_libc_release F
+GLIBC_2.16 gnu_get_libc_version F
+GLIBC_2.16 grantpt F
+GLIBC_2.16 group_member F
+GLIBC_2.16 gsignal F
+GLIBC_2.16 gtty F
+GLIBC_2.16 h_errlist D 0x14
+GLIBC_2.16 h_nerr D 0x4
+GLIBC_2.16 hasmntopt F
+GLIBC_2.16 hcreate F
+GLIBC_2.16 hcreate_r F
+GLIBC_2.16 hdestroy F
+GLIBC_2.16 hdestroy_r F
+GLIBC_2.16 herror F
+GLIBC_2.16 host2netname F
+GLIBC_2.16 hsearch F
+GLIBC_2.16 hsearch_r F
+GLIBC_2.16 hstrerror F
+GLIBC_2.16 htonl F
+GLIBC_2.16 htons F
+GLIBC_2.16 iconv F
+GLIBC_2.16 iconv_close F
+GLIBC_2.16 iconv_open F
+GLIBC_2.16 if_freenameindex F
+GLIBC_2.16 if_indextoname F
+GLIBC_2.16 if_nameindex F
+GLIBC_2.16 if_nametoindex F
+GLIBC_2.16 imaxabs F
+GLIBC_2.16 imaxdiv F
+GLIBC_2.16 in6addr_any D 0x10
+GLIBC_2.16 in6addr_loopback D 0x10
+GLIBC_2.16 index F
+GLIBC_2.16 inet6_opt_append F
+GLIBC_2.16 inet6_opt_find F
+GLIBC_2.16 inet6_opt_finish F
+GLIBC_2.16 inet6_opt_get_val F
+GLIBC_2.16 inet6_opt_init F
+GLIBC_2.16 inet6_opt_next F
+GLIBC_2.16 inet6_opt_set_val F
+GLIBC_2.16 inet6_option_alloc F
+GLIBC_2.16 inet6_option_append F
+GLIBC_2.16 inet6_option_find F
+GLIBC_2.16 inet6_option_init F
+GLIBC_2.16 inet6_option_next F
+GLIBC_2.16 inet6_option_space F
+GLIBC_2.16 inet6_rth_add F
+GLIBC_2.16 inet6_rth_getaddr F
+GLIBC_2.16 inet6_rth_init F
+GLIBC_2.16 inet6_rth_reverse F
+GLIBC_2.16 inet6_rth_segments F
+GLIBC_2.16 inet6_rth_space F
+GLIBC_2.16 inet_addr F
+GLIBC_2.16 inet_aton F
+GLIBC_2.16 inet_lnaof F
+GLIBC_2.16 inet_makeaddr F
+GLIBC_2.16 inet_netof F
+GLIBC_2.16 inet_network F
+GLIBC_2.16 inet_nsap_addr F
+GLIBC_2.16 inet_nsap_ntoa F
+GLIBC_2.16 inet_ntoa F
+GLIBC_2.16 inet_ntop F
+GLIBC_2.16 inet_pton F
+GLIBC_2.16 init_module F
+GLIBC_2.16 initgroups F
+GLIBC_2.16 initstate F
+GLIBC_2.16 initstate_r F
+GLIBC_2.16 innetgr F
+GLIBC_2.16 inotify_add_watch F
+GLIBC_2.16 inotify_init F
+GLIBC_2.16 inotify_init1 F
+GLIBC_2.16 inotify_rm_watch F
+GLIBC_2.16 insque F
+GLIBC_2.16 ioctl F
+GLIBC_2.16 ioperm F
+GLIBC_2.16 iopl F
+GLIBC_2.16 iruserok F
+GLIBC_2.16 iruserok_af F
+GLIBC_2.16 isalnum F
+GLIBC_2.16 isalnum_l F
+GLIBC_2.16 isalpha F
+GLIBC_2.16 isalpha_l F
+GLIBC_2.16 isascii F
+GLIBC_2.16 isastream F
+GLIBC_2.16 isatty F
+GLIBC_2.16 isblank F
+GLIBC_2.16 isblank_l F
+GLIBC_2.16 iscntrl F
+GLIBC_2.16 iscntrl_l F
+GLIBC_2.16 isctype F
+GLIBC_2.16 isdigit F
+GLIBC_2.16 isdigit_l F
+GLIBC_2.16 isfdtype F
+GLIBC_2.16 isgraph F
+GLIBC_2.16 isgraph_l F
+GLIBC_2.16 isinf F
+GLIBC_2.16 isinff F
+GLIBC_2.16 isinfl F
+GLIBC_2.16 islower F
+GLIBC_2.16 islower_l F
+GLIBC_2.16 isnan F
+GLIBC_2.16 isnanf F
+GLIBC_2.16 isnanl F
+GLIBC_2.16 isprint F
+GLIBC_2.16 isprint_l F
+GLIBC_2.16 ispunct F
+GLIBC_2.16 ispunct_l F
+GLIBC_2.16 isspace F
+GLIBC_2.16 isspace_l F
+GLIBC_2.16 isupper F
+GLIBC_2.16 isupper_l F
+GLIBC_2.16 iswalnum F
+GLIBC_2.16 iswalnum_l F
+GLIBC_2.16 iswalpha F
+GLIBC_2.16 iswalpha_l F
+GLIBC_2.16 iswblank F
+GLIBC_2.16 iswblank_l F
+GLIBC_2.16 iswcntrl F
+GLIBC_2.16 iswcntrl_l F
+GLIBC_2.16 iswctype F
+GLIBC_2.16 iswctype_l F
+GLIBC_2.16 iswdigit F
+GLIBC_2.16 iswdigit_l F
+GLIBC_2.16 iswgraph F
+GLIBC_2.16 iswgraph_l F
+GLIBC_2.16 iswlower F
+GLIBC_2.16 iswlower_l F
+GLIBC_2.16 iswprint F
+GLIBC_2.16 iswprint_l F
+GLIBC_2.16 iswpunct F
+GLIBC_2.16 iswpunct_l F
+GLIBC_2.16 iswspace F
+GLIBC_2.16 iswspace_l F
+GLIBC_2.16 iswupper F
+GLIBC_2.16 iswupper_l F
+GLIBC_2.16 iswxdigit F
+GLIBC_2.16 iswxdigit_l F
+GLIBC_2.16 isxdigit F
+GLIBC_2.16 isxdigit_l F
+GLIBC_2.16 jrand48 F
+GLIBC_2.16 jrand48_r F
+GLIBC_2.16 key_decryptsession F
+GLIBC_2.16 key_decryptsession_pk F
+GLIBC_2.16 key_encryptsession F
+GLIBC_2.16 key_encryptsession_pk F
+GLIBC_2.16 key_gendes F
+GLIBC_2.16 key_get_conv F
+GLIBC_2.16 key_secretkey_is_set F
+GLIBC_2.16 key_setnet F
+GLIBC_2.16 key_setsecret F
+GLIBC_2.16 kill F
+GLIBC_2.16 killpg F
+GLIBC_2.16 klogctl F
+GLIBC_2.16 l64a F
+GLIBC_2.16 labs F
+GLIBC_2.16 lchmod F
+GLIBC_2.16 lchown F
+GLIBC_2.16 lckpwdf F
+GLIBC_2.16 lcong48 F
+GLIBC_2.16 lcong48_r F
+GLIBC_2.16 ldexp F
+GLIBC_2.16 ldexpf F
+GLIBC_2.16 ldexpl F
+GLIBC_2.16 ldiv F
+GLIBC_2.16 lfind F
+GLIBC_2.16 lgetxattr F
+GLIBC_2.16 link F
+GLIBC_2.16 linkat F
+GLIBC_2.16 listen F
+GLIBC_2.16 listxattr F
+GLIBC_2.16 llabs F
+GLIBC_2.16 lldiv F
+GLIBC_2.16 llistxattr F
+GLIBC_2.16 loc1 D 0x4
+GLIBC_2.16 loc2 D 0x4
+GLIBC_2.16 localeconv F
+GLIBC_2.16 localtime F
+GLIBC_2.16 localtime_r F
+GLIBC_2.16 lockf F
+GLIBC_2.16 lockf64 F
+GLIBC_2.16 locs D 0x4
+GLIBC_2.16 longjmp F
+GLIBC_2.16 lrand48 F
+GLIBC_2.16 lrand48_r F
+GLIBC_2.16 lremovexattr F
+GLIBC_2.16 lsearch F
+GLIBC_2.16 lseek F
+GLIBC_2.16 lseek64 F
+GLIBC_2.16 lsetxattr F
+GLIBC_2.16 lutimes F
+GLIBC_2.16 madvise F
+GLIBC_2.16 makecontext F
+GLIBC_2.16 mallinfo F
+GLIBC_2.16 malloc F
+GLIBC_2.16 malloc_get_state F
+GLIBC_2.16 malloc_info F
+GLIBC_2.16 malloc_set_state F
+GLIBC_2.16 malloc_stats F
+GLIBC_2.16 malloc_trim F
+GLIBC_2.16 malloc_usable_size F
+GLIBC_2.16 mallopt F
+GLIBC_2.16 mallwatch D 0x4
+GLIBC_2.16 mblen F
+GLIBC_2.16 mbrlen F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 mbrtowc F
+GLIBC_2.16 mbsinit F
+GLIBC_2.16 mbsnrtowcs F
+GLIBC_2.16 mbsrtowcs F
+GLIBC_2.16 mbstowcs F
+GLIBC_2.16 mbtowc F
+GLIBC_2.16 mcheck F
+GLIBC_2.16 mcheck_check_all F
+GLIBC_2.16 mcheck_pedantic F
+GLIBC_2.16 mcount F
+GLIBC_2.16 memalign F
+GLIBC_2.16 memccpy F
+GLIBC_2.16 memchr F
+GLIBC_2.16 memcmp F
+GLIBC_2.16 memcpy F
+GLIBC_2.16 memfrob F
+GLIBC_2.16 memmem F
+GLIBC_2.16 memmove F
+GLIBC_2.16 mempcpy F
+GLIBC_2.16 memrchr F
+GLIBC_2.16 memset F
+GLIBC_2.16 mincore F
+GLIBC_2.16 mkdir F
+GLIBC_2.16 mkdirat F
+GLIBC_2.16 mkdtemp F
+GLIBC_2.16 mkfifo F
+GLIBC_2.16 mkfifoat F
+GLIBC_2.16 mkostemp F
+GLIBC_2.16 mkostemp64 F
+GLIBC_2.16 mkostemps F
+GLIBC_2.16 mkostemps64 F
+GLIBC_2.16 mkstemp F
+GLIBC_2.16 mkstemp64 F
+GLIBC_2.16 mkstemps F
+GLIBC_2.16 mkstemps64 F
+GLIBC_2.16 mktemp F
+GLIBC_2.16 mktime F
+GLIBC_2.16 mlock F
+GLIBC_2.16 mlockall F
+GLIBC_2.16 mmap F
+GLIBC_2.16 mmap64 F
+GLIBC_2.16 modf F
+GLIBC_2.16 modff F
+GLIBC_2.16 modfl F
+GLIBC_2.16 modify_ldt F
+GLIBC_2.16 moncontrol F
+GLIBC_2.16 monstartup F
+GLIBC_2.16 mount F
+GLIBC_2.16 mprobe F
+GLIBC_2.16 mprotect F
+GLIBC_2.16 mrand48 F
+GLIBC_2.16 mrand48_r F
+GLIBC_2.16 mremap F
+GLIBC_2.16 msgctl F
+GLIBC_2.16 msgget F
+GLIBC_2.16 msgrcv F
+GLIBC_2.16 msgsnd F
+GLIBC_2.16 msync F
+GLIBC_2.16 mtrace F
+GLIBC_2.16 munlock F
+GLIBC_2.16 munlockall F
+GLIBC_2.16 munmap F
+GLIBC_2.16 muntrace F
+GLIBC_2.16 name_to_handle_at F
+GLIBC_2.16 nanosleep F
+GLIBC_2.16 netname2host F
+GLIBC_2.16 netname2user F
+GLIBC_2.16 newlocale F
+GLIBC_2.16 nfsservctl F
+GLIBC_2.16 nftw F
+GLIBC_2.16 nftw64 F
+GLIBC_2.16 ngettext F
+GLIBC_2.16 nice F
+GLIBC_2.16 nl_langinfo F
+GLIBC_2.16 nl_langinfo_l F
+GLIBC_2.16 nrand48 F
+GLIBC_2.16 nrand48_r F
+GLIBC_2.16 ntohl F
+GLIBC_2.16 ntohs F
+GLIBC_2.16 ntp_adjtime F
+GLIBC_2.16 ntp_gettime F
+GLIBC_2.16 ntp_gettimex F
+GLIBC_2.16 obstack_alloc_failed_handler D 0x4
+GLIBC_2.16 obstack_exit_failure D 0x4
+GLIBC_2.16 obstack_free F
+GLIBC_2.16 obstack_printf F
+GLIBC_2.16 obstack_vprintf F
+GLIBC_2.16 on_exit F
+GLIBC_2.16 open F
+GLIBC_2.16 open64 F
+GLIBC_2.16 open_by_handle_at F
+GLIBC_2.16 open_memstream F
+GLIBC_2.16 open_wmemstream F
+GLIBC_2.16 openat F
+GLIBC_2.16 openat64 F
+GLIBC_2.16 opendir F
+GLIBC_2.16 openlog F
+GLIBC_2.16 optarg D 0x4
+GLIBC_2.16 opterr D 0x4
+GLIBC_2.16 optind D 0x4
+GLIBC_2.16 optopt D 0x4
+GLIBC_2.16 parse_printf_format F
+GLIBC_2.16 passwd2des F
+GLIBC_2.16 pathconf F
+GLIBC_2.16 pause F
+GLIBC_2.16 pclose F
+GLIBC_2.16 perror F
+GLIBC_2.16 personality F
+GLIBC_2.16 pipe F
+GLIBC_2.16 pipe2 F
+GLIBC_2.16 pivot_root F
+GLIBC_2.16 pmap_getmaps F
+GLIBC_2.16 pmap_getport F
+GLIBC_2.16 pmap_rmtcall F
+GLIBC_2.16 pmap_set F
+GLIBC_2.16 pmap_unset F
+GLIBC_2.16 poll F
+GLIBC_2.16 popen F
+GLIBC_2.16 posix_fadvise F
+GLIBC_2.16 posix_fadvise64 F
+GLIBC_2.16 posix_fallocate F
+GLIBC_2.16 posix_fallocate64 F
+GLIBC_2.16 posix_madvise F
+GLIBC_2.16 posix_memalign F
+GLIBC_2.16 posix_openpt F
+GLIBC_2.16 posix_spawn F
+GLIBC_2.16 posix_spawn_file_actions_addclose F
+GLIBC_2.16 posix_spawn_file_actions_adddup2 F
+GLIBC_2.16 posix_spawn_file_actions_addopen F
+GLIBC_2.16 posix_spawn_file_actions_destroy F
+GLIBC_2.16 posix_spawn_file_actions_init F
+GLIBC_2.16 posix_spawnattr_destroy F
+GLIBC_2.16 posix_spawnattr_getflags F
+GLIBC_2.16 posix_spawnattr_getpgroup F
+GLIBC_2.16 posix_spawnattr_getschedparam F
+GLIBC_2.16 posix_spawnattr_getschedpolicy F
+GLIBC_2.16 posix_spawnattr_getsigdefault F
+GLIBC_2.16 posix_spawnattr_getsigmask F
+GLIBC_2.16 posix_spawnattr_init F
+GLIBC_2.16 posix_spawnattr_setflags F
+GLIBC_2.16 posix_spawnattr_setpgroup F
+GLIBC_2.16 posix_spawnattr_setschedparam F
+GLIBC_2.16 posix_spawnattr_setschedpolicy F
+GLIBC_2.16 posix_spawnattr_setsigdefault F
+GLIBC_2.16 posix_spawnattr_setsigmask F
+GLIBC_2.16 posix_spawnp F
+GLIBC_2.16 ppoll F
+GLIBC_2.16 prctl F
+GLIBC_2.16 pread F
+GLIBC_2.16 pread64 F
+GLIBC_2.16 preadv F
+GLIBC_2.16 preadv64 F
+GLIBC_2.16 printf F
+GLIBC_2.16 printf_size F
+GLIBC_2.16 printf_size_info F
+GLIBC_2.16 prlimit F
+GLIBC_2.16 prlimit64 F
+GLIBC_2.16 process_vm_readv F
+GLIBC_2.16 process_vm_writev F
+GLIBC_2.16 profil F
+GLIBC_2.16 program_invocation_name D 0x4
+GLIBC_2.16 program_invocation_short_name D 0x4
+GLIBC_2.16 pselect F
+GLIBC_2.16 psiginfo F
+GLIBC_2.16 psignal F
+GLIBC_2.16 pthread_attr_destroy F
+GLIBC_2.16 pthread_attr_getdetachstate F
+GLIBC_2.16 pthread_attr_getinheritsched F
+GLIBC_2.16 pthread_attr_getschedparam F
+GLIBC_2.16 pthread_attr_getschedpolicy F
+GLIBC_2.16 pthread_attr_getscope F
+GLIBC_2.16 pthread_attr_init F
+GLIBC_2.16 pthread_attr_setdetachstate F
+GLIBC_2.16 pthread_attr_setinheritsched F
+GLIBC_2.16 pthread_attr_setschedparam F
+GLIBC_2.16 pthread_attr_setschedpolicy F
+GLIBC_2.16 pthread_attr_setscope F
+GLIBC_2.16 pthread_cond_broadcast F
+GLIBC_2.16 pthread_cond_destroy F
+GLIBC_2.16 pthread_cond_init F
+GLIBC_2.16 pthread_cond_signal F
+GLIBC_2.16 pthread_cond_timedwait F
+GLIBC_2.16 pthread_cond_wait F
+GLIBC_2.16 pthread_condattr_destroy F
+GLIBC_2.16 pthread_condattr_init F
+GLIBC_2.16 pthread_equal F
+GLIBC_2.16 pthread_exit F
+GLIBC_2.16 pthread_getschedparam F
+GLIBC_2.16 pthread_mutex_destroy F
+GLIBC_2.16 pthread_mutex_init F
+GLIBC_2.16 pthread_mutex_lock F
+GLIBC_2.16 pthread_mutex_unlock F
+GLIBC_2.16 pthread_self F
+GLIBC_2.16 pthread_setcancelstate F
+GLIBC_2.16 pthread_setcanceltype F
+GLIBC_2.16 pthread_setschedparam F
+GLIBC_2.16 ptrace F
+GLIBC_2.16 ptsname F
+GLIBC_2.16 ptsname_r F
+GLIBC_2.16 putc F
+GLIBC_2.16 putc_unlocked F
+GLIBC_2.16 putchar F
+GLIBC_2.16 putchar_unlocked F
+GLIBC_2.16 putenv F
+GLIBC_2.16 putgrent F
+GLIBC_2.16 putmsg F
+GLIBC_2.16 putpmsg F
+GLIBC_2.16 putpwent F
+GLIBC_2.16 puts F
+GLIBC_2.16 putsgent F
+GLIBC_2.16 putspent F
+GLIBC_2.16 pututline F
+GLIBC_2.16 pututxline F
+GLIBC_2.16 putw F
+GLIBC_2.16 putwc F
+GLIBC_2.16 putwc_unlocked F
+GLIBC_2.16 putwchar F
+GLIBC_2.16 putwchar_unlocked F
+GLIBC_2.16 pvalloc F
+GLIBC_2.16 pwrite F
+GLIBC_2.16 pwrite64 F
+GLIBC_2.16 pwritev F
+GLIBC_2.16 pwritev64 F
+GLIBC_2.16 qecvt F
+GLIBC_2.16 qecvt_r F
+GLIBC_2.16 qfcvt F
+GLIBC_2.16 qfcvt_r F
+GLIBC_2.16 qgcvt F
+GLIBC_2.16 qsort F
+GLIBC_2.16 qsort_r F
+GLIBC_2.16 query_module F
+GLIBC_2.16 quick_exit F
+GLIBC_2.16 quotactl F
+GLIBC_2.16 raise F
+GLIBC_2.16 rand F
+GLIBC_2.16 rand_r F
+GLIBC_2.16 random F
+GLIBC_2.16 random_r F
+GLIBC_2.16 rawmemchr F
+GLIBC_2.16 rcmd F
+GLIBC_2.16 rcmd_af F
+GLIBC_2.16 re_comp F
+GLIBC_2.16 re_compile_fastmap F
+GLIBC_2.16 re_compile_pattern F
+GLIBC_2.16 re_exec F
+GLIBC_2.16 re_match F
+GLIBC_2.16 re_match_2 F
+GLIBC_2.16 re_search F
+GLIBC_2.16 re_search_2 F
+GLIBC_2.16 re_set_registers F
+GLIBC_2.16 re_set_syntax F
+GLIBC_2.16 re_syntax_options D 0x4
+GLIBC_2.16 read F
+GLIBC_2.16 readahead F
+GLIBC_2.16 readdir F
+GLIBC_2.16 readdir64 F
+GLIBC_2.16 readdir64_r F
+GLIBC_2.16 readdir_r F
+GLIBC_2.16 readlink F
+GLIBC_2.16 readlinkat F
+GLIBC_2.16 readv F
+GLIBC_2.16 realloc F
+GLIBC_2.16 realpath F
+GLIBC_2.16 reboot F
+GLIBC_2.16 recv F
+GLIBC_2.16 recvfrom F
+GLIBC_2.16 recvmmsg F
+GLIBC_2.16 recvmsg F
+GLIBC_2.16 regcomp F
+GLIBC_2.16 regerror F
+GLIBC_2.16 regexec F
+GLIBC_2.16 regfree F
+GLIBC_2.16 register_printf_function F
+GLIBC_2.16 register_printf_modifier F
+GLIBC_2.16 register_printf_specifier F
+GLIBC_2.16 register_printf_type F
+GLIBC_2.16 registerrpc F
+GLIBC_2.16 remap_file_pages F
+GLIBC_2.16 remove F
+GLIBC_2.16 removexattr F
+GLIBC_2.16 remque F
+GLIBC_2.16 rename F
+GLIBC_2.16 renameat F
+GLIBC_2.16 revoke F
+GLIBC_2.16 rewind F
+GLIBC_2.16 rewinddir F
+GLIBC_2.16 rexec F
+GLIBC_2.16 rexec_af F
+GLIBC_2.16 rexecoptions D 0x4
+GLIBC_2.16 rindex F
+GLIBC_2.16 rmdir F
+GLIBC_2.16 rpc_createerr D 0x10
+GLIBC_2.16 rpmatch F
+GLIBC_2.16 rresvport F
+GLIBC_2.16 rresvport_af F
+GLIBC_2.16 rtime F
+GLIBC_2.16 ruserok F
+GLIBC_2.16 ruserok_af F
+GLIBC_2.16 ruserpass F
+GLIBC_2.16 sbrk F
+GLIBC_2.16 scalbn F
+GLIBC_2.16 scalbnf F
+GLIBC_2.16 scalbnl F
+GLIBC_2.16 scandir F
+GLIBC_2.16 scandir64 F
+GLIBC_2.16 scandirat F
+GLIBC_2.16 scandirat64 F
+GLIBC_2.16 scanf F
+GLIBC_2.16 sched_get_priority_max F
+GLIBC_2.16 sched_get_priority_min F
+GLIBC_2.16 sched_getaffinity F
+GLIBC_2.16 sched_getcpu F
+GLIBC_2.16 sched_getparam F
+GLIBC_2.16 sched_getscheduler F
+GLIBC_2.16 sched_rr_get_interval F
+GLIBC_2.16 sched_setaffinity F
+GLIBC_2.16 sched_setparam F
+GLIBC_2.16 sched_setscheduler F
+GLIBC_2.16 sched_yield F
+GLIBC_2.16 seed48 F
+GLIBC_2.16 seed48_r F
+GLIBC_2.16 seekdir F
+GLIBC_2.16 select F
+GLIBC_2.16 semctl F
+GLIBC_2.16 semget F
+GLIBC_2.16 semop F
+GLIBC_2.16 semtimedop F
+GLIBC_2.16 send F
+GLIBC_2.16 sendfile F
+GLIBC_2.16 sendfile64 F
+GLIBC_2.16 sendmmsg F
+GLIBC_2.16 sendmsg F
+GLIBC_2.16 sendto F
+GLIBC_2.16 setaliasent F
+GLIBC_2.16 setbuf F
+GLIBC_2.16 setbuffer F
+GLIBC_2.16 setcontext F
+GLIBC_2.16 setdomainname F
+GLIBC_2.16 setegid F
+GLIBC_2.16 setenv F
+GLIBC_2.16 seteuid F
+GLIBC_2.16 setfsent F
+GLIBC_2.16 setfsgid F
+GLIBC_2.16 setfsuid F
+GLIBC_2.16 setgid F
+GLIBC_2.16 setgrent F
+GLIBC_2.16 setgroups F
+GLIBC_2.16 sethostent F
+GLIBC_2.16 sethostid F
+GLIBC_2.16 sethostname F
+GLIBC_2.16 setipv4sourcefilter F
+GLIBC_2.16 setitimer F
+GLIBC_2.16 setjmp F
+GLIBC_2.16 setlinebuf F
+GLIBC_2.16 setlocale F
+GLIBC_2.16 setlogin F
+GLIBC_2.16 setlogmask F
+GLIBC_2.16 setmntent F
+GLIBC_2.16 setnetent F
+GLIBC_2.16 setnetgrent F
+GLIBC_2.16 setns F
+GLIBC_2.16 setpgid F
+GLIBC_2.16 setpgrp F
+GLIBC_2.16 setpriority F
+GLIBC_2.16 setprotoent F
+GLIBC_2.16 setpwent F
+GLIBC_2.16 setregid F
+GLIBC_2.16 setresgid F
+GLIBC_2.16 setresuid F
+GLIBC_2.16 setreuid F
+GLIBC_2.16 setrlimit F
+GLIBC_2.16 setrlimit64 F
+GLIBC_2.16 setrpcent F
+GLIBC_2.16 setservent F
+GLIBC_2.16 setsgent F
+GLIBC_2.16 setsid F
+GLIBC_2.16 setsockopt F
+GLIBC_2.16 setsourcefilter F
+GLIBC_2.16 setspent F
+GLIBC_2.16 setstate F
+GLIBC_2.16 setstate_r F
+GLIBC_2.16 settimeofday F
+GLIBC_2.16 setttyent F
+GLIBC_2.16 setuid F
+GLIBC_2.16 setusershell F
+GLIBC_2.16 setutent F
+GLIBC_2.16 setutxent F
+GLIBC_2.16 setvbuf F
+GLIBC_2.16 setxattr F
+GLIBC_2.16 sgetsgent F
+GLIBC_2.16 sgetsgent_r F
+GLIBC_2.16 sgetspent F
+GLIBC_2.16 sgetspent_r F
+GLIBC_2.16 shmat F
+GLIBC_2.16 shmctl F
+GLIBC_2.16 shmdt F
+GLIBC_2.16 shmget F
+GLIBC_2.16 shutdown F
+GLIBC_2.16 sigaction F
+GLIBC_2.16 sigaddset F
+GLIBC_2.16 sigaltstack F
+GLIBC_2.16 sigandset F
+GLIBC_2.16 sigblock F
+GLIBC_2.16 sigdelset F
+GLIBC_2.16 sigemptyset F
+GLIBC_2.16 sigfillset F
+GLIBC_2.16 siggetmask F
+GLIBC_2.16 sighold F
+GLIBC_2.16 sigignore F
+GLIBC_2.16 siginterrupt F
+GLIBC_2.16 sigisemptyset F
+GLIBC_2.16 sigismember F
+GLIBC_2.16 siglongjmp F
+GLIBC_2.16 signal F
+GLIBC_2.16 signalfd F
+GLIBC_2.16 sigorset F
+GLIBC_2.16 sigpause F
+GLIBC_2.16 sigpending F
+GLIBC_2.16 sigprocmask F
+GLIBC_2.16 sigqueue F
+GLIBC_2.16 sigrelse F
+GLIBC_2.16 sigreturn F
+GLIBC_2.16 sigset F
+GLIBC_2.16 sigsetmask F
+GLIBC_2.16 sigstack F
+GLIBC_2.16 sigsuspend F
+GLIBC_2.16 sigtimedwait F
+GLIBC_2.16 sigvec F
+GLIBC_2.16 sigwait F
+GLIBC_2.16 sigwaitinfo F
+GLIBC_2.16 sleep F
+GLIBC_2.16 snprintf F
+GLIBC_2.16 sockatmark F
+GLIBC_2.16 socket F
+GLIBC_2.16 socketpair F
+GLIBC_2.16 splice F
+GLIBC_2.16 sprintf F
+GLIBC_2.16 sprofil F
+GLIBC_2.16 srand F
+GLIBC_2.16 srand48 F
+GLIBC_2.16 srand48_r F
+GLIBC_2.16 srandom F
+GLIBC_2.16 srandom_r F
+GLIBC_2.16 sscanf F
+GLIBC_2.16 ssignal F
+GLIBC_2.16 sstk F
+GLIBC_2.16 statfs F
+GLIBC_2.16 statfs64 F
+GLIBC_2.16 statvfs F
+GLIBC_2.16 statvfs64 F
+GLIBC_2.16 stderr D 0x4
+GLIBC_2.16 stdin D 0x4
+GLIBC_2.16 stdout D 0x4
+GLIBC_2.16 step F
+GLIBC_2.16 stime F
+GLIBC_2.16 stpcpy F
+GLIBC_2.16 stpncpy F
+GLIBC_2.16 strcasecmp F
+GLIBC_2.16 strcasecmp_l F
+GLIBC_2.16 strcasestr F
+GLIBC_2.16 strcat F
+GLIBC_2.16 strchr F
+GLIBC_2.16 strchrnul F
+GLIBC_2.16 strcmp F
+GLIBC_2.16 strcoll F
+GLIBC_2.16 strcoll_l F
+GLIBC_2.16 strcpy F
+GLIBC_2.16 strcspn F
+GLIBC_2.16 strdup F
+GLIBC_2.16 strerror F
+GLIBC_2.16 strerror_l F
+GLIBC_2.16 strerror_r F
+GLIBC_2.16 strfmon F
+GLIBC_2.16 strfmon_l F
+GLIBC_2.16 strfry F
+GLIBC_2.16 strftime F
+GLIBC_2.16 strftime_l F
+GLIBC_2.16 strlen F
+GLIBC_2.16 strncasecmp F
+GLIBC_2.16 strncasecmp_l F
+GLIBC_2.16 strncat F
+GLIBC_2.16 strncmp F
+GLIBC_2.16 strncpy F
+GLIBC_2.16 strndup F
+GLIBC_2.16 strnlen F
+GLIBC_2.16 strpbrk F
+GLIBC_2.16 strptime F
+GLIBC_2.16 strptime_l F
+GLIBC_2.16 strrchr F
+GLIBC_2.16 strsep F
+GLIBC_2.16 strsignal F
+GLIBC_2.16 strspn F
+GLIBC_2.16 strstr F
+GLIBC_2.16 strtod F
+GLIBC_2.16 strtod_l F
+GLIBC_2.16 strtof F
+GLIBC_2.16 strtof_l F
+GLIBC_2.16 strtoimax F
+GLIBC_2.16 strtok F
+GLIBC_2.16 strtok_r F
+GLIBC_2.16 strtol F
+GLIBC_2.16 strtol_l F
+GLIBC_2.16 strtold F
+GLIBC_2.16 strtold_l F
+GLIBC_2.16 strtoll F
+GLIBC_2.16 strtoll_l F
+GLIBC_2.16 strtoq F
+GLIBC_2.16 strtoul F
+GLIBC_2.16 strtoul_l F
+GLIBC_2.16 strtoull F
+GLIBC_2.16 strtoull_l F
+GLIBC_2.16 strtoumax F
+GLIBC_2.16 strtouq F
+GLIBC_2.16 strverscmp F
+GLIBC_2.16 strxfrm F
+GLIBC_2.16 strxfrm_l F
+GLIBC_2.16 stty F
+GLIBC_2.16 svc_exit F
+GLIBC_2.16 svc_fdset D 0x80
+GLIBC_2.16 svc_getreq F
+GLIBC_2.16 svc_getreq_common F
+GLIBC_2.16 svc_getreq_poll F
+GLIBC_2.16 svc_getreqset F
+GLIBC_2.16 svc_max_pollfd D 0x4
+GLIBC_2.16 svc_pollfd D 0x4
+GLIBC_2.16 svc_register F
+GLIBC_2.16 svc_run F
+GLIBC_2.16 svc_sendreply F
+GLIBC_2.16 svc_unregister F
+GLIBC_2.16 svcauthdes_stats D 0xc
+GLIBC_2.16 svcerr_auth F
+GLIBC_2.16 svcerr_decode F
+GLIBC_2.16 svcerr_noproc F
+GLIBC_2.16 svcerr_noprog F
+GLIBC_2.16 svcerr_progvers F
+GLIBC_2.16 svcerr_systemerr F
+GLIBC_2.16 svcerr_weakauth F
+GLIBC_2.16 svcfd_create F
+GLIBC_2.16 svcraw_create F
+GLIBC_2.16 svctcp_create F
+GLIBC_2.16 svcudp_bufcreate F
+GLIBC_2.16 svcudp_create F
+GLIBC_2.16 svcudp_enablecache F
+GLIBC_2.16 svcunix_create F
+GLIBC_2.16 svcunixfd_create F
+GLIBC_2.16 swab F
+GLIBC_2.16 swapcontext F
+GLIBC_2.16 swapoff F
+GLIBC_2.16 swapon F
+GLIBC_2.16 swprintf F
+GLIBC_2.16 swscanf F
+GLIBC_2.16 symlink F
+GLIBC_2.16 symlinkat F
+GLIBC_2.16 sync F
+GLIBC_2.16 sync_file_range F
+GLIBC_2.16 syncfs F
+GLIBC_2.16 sys_errlist D 0x21c
+GLIBC_2.16 sys_nerr D 0x4
+GLIBC_2.16 sys_sigabbrev D 0x104
+GLIBC_2.16 sys_siglist D 0x104
+GLIBC_2.16 syscall F
+GLIBC_2.16 sysconf F
+GLIBC_2.16 sysinfo F
+GLIBC_2.16 syslog F
+GLIBC_2.16 system F
+GLIBC_2.16 sysv_signal F
+GLIBC_2.16 tcdrain F
+GLIBC_2.16 tcflow F
+GLIBC_2.16 tcflush F
+GLIBC_2.16 tcgetattr F
+GLIBC_2.16 tcgetpgrp F
+GLIBC_2.16 tcgetsid F
+GLIBC_2.16 tcsendbreak F
+GLIBC_2.16 tcsetattr F
+GLIBC_2.16 tcsetpgrp F
+GLIBC_2.16 tdelete F
+GLIBC_2.16 tdestroy F
+GLIBC_2.16 tee F
+GLIBC_2.16 telldir F
+GLIBC_2.16 tempnam F
+GLIBC_2.16 textdomain F
+GLIBC_2.16 tfind F
+GLIBC_2.16 time F
+GLIBC_2.16 timegm F
+GLIBC_2.16 timelocal F
+GLIBC_2.16 timerfd_create F
+GLIBC_2.16 timerfd_gettime F
+GLIBC_2.16 timerfd_settime F
+GLIBC_2.16 times F
+GLIBC_2.16 timespec_get F
+GLIBC_2.16 timezone D 0x4
+GLIBC_2.16 tmpfile F
+GLIBC_2.16 tmpfile64 F
+GLIBC_2.16 tmpnam F
+GLIBC_2.16 tmpnam_r F
+GLIBC_2.16 toascii F
+GLIBC_2.16 tolower F
+GLIBC_2.16 tolower_l F
+GLIBC_2.16 toupper F
+GLIBC_2.16 toupper_l F
+GLIBC_2.16 towctrans F
+GLIBC_2.16 towctrans_l F
+GLIBC_2.16 towlower F
+GLIBC_2.16 towlower_l F
+GLIBC_2.16 towupper F
+GLIBC_2.16 towupper_l F
+GLIBC_2.16 tr_break F
+GLIBC_2.16 truncate F
+GLIBC_2.16 truncate64 F
+GLIBC_2.16 tsearch F
+GLIBC_2.16 ttyname F
+GLIBC_2.16 ttyname_r F
+GLIBC_2.16 ttyslot F
+GLIBC_2.16 twalk F
+GLIBC_2.16 tzname D 0x8
+GLIBC_2.16 tzset F
+GLIBC_2.16 ualarm F
+GLIBC_2.16 ulckpwdf F
+GLIBC_2.16 ulimit F
+GLIBC_2.16 umask F
+GLIBC_2.16 umount F
+GLIBC_2.16 umount2 F
+GLIBC_2.16 uname F
+GLIBC_2.16 ungetc F
+GLIBC_2.16 ungetwc F
+GLIBC_2.16 unlink F
+GLIBC_2.16 unlinkat F
+GLIBC_2.16 unlockpt F
+GLIBC_2.16 unsetenv F
+GLIBC_2.16 unshare F
+GLIBC_2.16 updwtmp F
+GLIBC_2.16 updwtmpx F
+GLIBC_2.16 uselib F
+GLIBC_2.16 uselocale F
+GLIBC_2.16 user2netname F
+GLIBC_2.16 usleep F
+GLIBC_2.16 ustat F
+GLIBC_2.16 utime F
+GLIBC_2.16 utimensat F
+GLIBC_2.16 utimes F
+GLIBC_2.16 utmpname F
+GLIBC_2.16 utmpxname F
+GLIBC_2.16 valloc F
+GLIBC_2.16 vasprintf F
+GLIBC_2.16 vdprintf F
+GLIBC_2.16 verr F
+GLIBC_2.16 verrx F
+GLIBC_2.16 versionsort F
+GLIBC_2.16 versionsort64 F
+GLIBC_2.16 vfork F
+GLIBC_2.16 vfprintf F
+GLIBC_2.16 vfscanf F
+GLIBC_2.16 vfwprintf F
+GLIBC_2.16 vfwscanf F
+GLIBC_2.16 vhangup F
+GLIBC_2.16 vlimit F
+GLIBC_2.16 vmsplice F
+GLIBC_2.16 vprintf F
+GLIBC_2.16 vscanf F
+GLIBC_2.16 vsnprintf F
+GLIBC_2.16 vsprintf F
+GLIBC_2.16 vsscanf F
+GLIBC_2.16 vswprintf F
+GLIBC_2.16 vswscanf F
+GLIBC_2.16 vsyslog F
+GLIBC_2.16 vtimes F
+GLIBC_2.16 vwarn F
+GLIBC_2.16 vwarnx F
+GLIBC_2.16 vwprintf F
+GLIBC_2.16 vwscanf F
+GLIBC_2.16 wait F
+GLIBC_2.16 wait3 F
+GLIBC_2.16 wait4 F
+GLIBC_2.16 waitid F
+GLIBC_2.16 waitpid F
+GLIBC_2.16 warn F
+GLIBC_2.16 warnx F
+GLIBC_2.16 wcpcpy F
+GLIBC_2.16 wcpncpy F
+GLIBC_2.16 wcrtomb F
+GLIBC_2.16 wcscasecmp F
+GLIBC_2.16 wcscasecmp_l F
+GLIBC_2.16 wcscat F
+GLIBC_2.16 wcschr F
+GLIBC_2.16 wcschrnul F
+GLIBC_2.16 wcscmp F
+GLIBC_2.16 wcscoll F
+GLIBC_2.16 wcscoll_l F
+GLIBC_2.16 wcscpy F
+GLIBC_2.16 wcscspn F
+GLIBC_2.16 wcsdup F
+GLIBC_2.16 wcsftime F
+GLIBC_2.16 wcsftime_l F
+GLIBC_2.16 wcslen F
+GLIBC_2.16 wcsncasecmp F
+GLIBC_2.16 wcsncasecmp_l F
+GLIBC_2.16 wcsncat F
+GLIBC_2.16 wcsncmp F
+GLIBC_2.16 wcsncpy F
+GLIBC_2.16 wcsnlen F
+GLIBC_2.16 wcsnrtombs F
+GLIBC_2.16 wcspbrk F
+GLIBC_2.16 wcsrchr F
+GLIBC_2.16 wcsrtombs F
+GLIBC_2.16 wcsspn F
+GLIBC_2.16 wcsstr F
+GLIBC_2.16 wcstod F
+GLIBC_2.16 wcstod_l F
+GLIBC_2.16 wcstof F
+GLIBC_2.16 wcstof_l F
+GLIBC_2.16 wcstoimax F
+GLIBC_2.16 wcstok F
+GLIBC_2.16 wcstol F
+GLIBC_2.16 wcstol_l F
+GLIBC_2.16 wcstold F
+GLIBC_2.16 wcstold_l F
+GLIBC_2.16 wcstoll F
+GLIBC_2.16 wcstoll_l F
+GLIBC_2.16 wcstombs F
+GLIBC_2.16 wcstoq F
+GLIBC_2.16 wcstoul F
+GLIBC_2.16 wcstoul_l F
+GLIBC_2.16 wcstoull F
+GLIBC_2.16 wcstoull_l F
+GLIBC_2.16 wcstoumax F
+GLIBC_2.16 wcstouq F
+GLIBC_2.16 wcswcs F
+GLIBC_2.16 wcswidth F
+GLIBC_2.16 wcsxfrm F
+GLIBC_2.16 wcsxfrm_l F
+GLIBC_2.16 wctob F
+GLIBC_2.16 wctomb F
+GLIBC_2.16 wctrans F
+GLIBC_2.16 wctrans_l F
+GLIBC_2.16 wctype F
+GLIBC_2.16 wctype_l F
+GLIBC_2.16 wcwidth F
+GLIBC_2.16 wmemchr F
+GLIBC_2.16 wmemcmp F
+GLIBC_2.16 wmemcpy F
+GLIBC_2.16 wmemmove F
+GLIBC_2.16 wmempcpy F
+GLIBC_2.16 wmemset F
+GLIBC_2.16 wordexp F
+GLIBC_2.16 wordfree F
+GLIBC_2.16 wprintf F
+GLIBC_2.16 write F
+GLIBC_2.16 writev F
+GLIBC_2.16 wscanf F
+GLIBC_2.16 xdecrypt F
+GLIBC_2.16 xdr_accepted_reply F
+GLIBC_2.16 xdr_array F
+GLIBC_2.16 xdr_authdes_cred F
+GLIBC_2.16 xdr_authdes_verf F
+GLIBC_2.16 xdr_authunix_parms F
+GLIBC_2.16 xdr_bool F
+GLIBC_2.16 xdr_bytes F
+GLIBC_2.16 xdr_callhdr F
+GLIBC_2.16 xdr_callmsg F
+GLIBC_2.16 xdr_char F
+GLIBC_2.16 xdr_cryptkeyarg F
+GLIBC_2.16 xdr_cryptkeyarg2 F
+GLIBC_2.16 xdr_cryptkeyres F
+GLIBC_2.16 xdr_des_block F
+GLIBC_2.16 xdr_double F
+GLIBC_2.16 xdr_enum F
+GLIBC_2.16 xdr_float F
+GLIBC_2.16 xdr_free F
+GLIBC_2.16 xdr_getcredres F
+GLIBC_2.16 xdr_hyper F
+GLIBC_2.16 xdr_int F
+GLIBC_2.16 xdr_int16_t F
+GLIBC_2.16 xdr_int32_t F
+GLIBC_2.16 xdr_int64_t F
+GLIBC_2.16 xdr_int8_t F
+GLIBC_2.16 xdr_key_netstarg F
+GLIBC_2.16 xdr_key_netstres F
+GLIBC_2.16 xdr_keybuf F
+GLIBC_2.16 xdr_keystatus F
+GLIBC_2.16 xdr_long F
+GLIBC_2.16 xdr_longlong_t F
+GLIBC_2.16 xdr_netnamestr F
+GLIBC_2.16 xdr_netobj F
+GLIBC_2.16 xdr_opaque F
+GLIBC_2.16 xdr_opaque_auth F
+GLIBC_2.16 xdr_pmap F
+GLIBC_2.16 xdr_pmaplist F
+GLIBC_2.16 xdr_pointer F
+GLIBC_2.16 xdr_quad_t F
+GLIBC_2.16 xdr_reference F
+GLIBC_2.16 xdr_rejected_reply F
+GLIBC_2.16 xdr_replymsg F
+GLIBC_2.16 xdr_rmtcall_args F
+GLIBC_2.16 xdr_rmtcallres F
+GLIBC_2.16 xdr_short F
+GLIBC_2.16 xdr_sizeof F
+GLIBC_2.16 xdr_string F
+GLIBC_2.16 xdr_u_char F
+GLIBC_2.16 xdr_u_hyper F
+GLIBC_2.16 xdr_u_int F
+GLIBC_2.16 xdr_u_long F
+GLIBC_2.16 xdr_u_longlong_t F
+GLIBC_2.16 xdr_u_quad_t F
+GLIBC_2.16 xdr_u_short F
+GLIBC_2.16 xdr_uint16_t F
+GLIBC_2.16 xdr_uint32_t F
+GLIBC_2.16 xdr_uint64_t F
+GLIBC_2.16 xdr_uint8_t F
+GLIBC_2.16 xdr_union F
+GLIBC_2.16 xdr_unixcred F
+GLIBC_2.16 xdr_vector F
+GLIBC_2.16 xdr_void F
+GLIBC_2.16 xdr_wrapstring F
+GLIBC_2.16 xdrmem_create F
+GLIBC_2.16 xdrrec_create F
+GLIBC_2.16 xdrrec_endofrecord F
+GLIBC_2.16 xdrrec_eof F
+GLIBC_2.16 xdrrec_skiprecord F
+GLIBC_2.16 xdrstdio_create F
+GLIBC_2.16 xencrypt F
+GLIBC_2.16 xprt_register F
+GLIBC_2.16 xprt_unregister F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist
new file mode 100644
index 0000000000..d0f5c3b25d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 crypt F
+GLIBC_2.16 crypt_r F
+GLIBC_2.16 encrypt F
+GLIBC_2.16 encrypt_r F
+GLIBC_2.16 fcrypt F
+GLIBC_2.16 setkey F
+GLIBC_2.16 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
new file mode 100644
index 0000000000..e4d2e7935d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 dladdr F
+GLIBC_2.16 dladdr1 F
+GLIBC_2.16 dlclose F
+GLIBC_2.16 dlerror F
+GLIBC_2.16 dlinfo F
+GLIBC_2.16 dlmopen F
+GLIBC_2.16 dlopen F
+GLIBC_2.16 dlsym F
+GLIBC_2.16 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
new file mode 100644
index 0000000000..a24ff7e8a0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -0,0 +1,463 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 _LIB_VERSION D 0x4
+GLIBC_2.16 __acos_finite F
+GLIBC_2.16 __acosf_finite F
+GLIBC_2.16 __acosh_finite F
+GLIBC_2.16 __acoshf_finite F
+GLIBC_2.16 __acoshl_finite F
+GLIBC_2.16 __acosl_finite F
+GLIBC_2.16 __asin_finite F
+GLIBC_2.16 __asinf_finite F
+GLIBC_2.16 __asinl_finite F
+GLIBC_2.16 __atan2_finite F
+GLIBC_2.16 __atan2f_finite F
+GLIBC_2.16 __atan2l_finite F
+GLIBC_2.16 __atanh_finite F
+GLIBC_2.16 __atanhf_finite F
+GLIBC_2.16 __atanhl_finite F
+GLIBC_2.16 __clog10 F
+GLIBC_2.16 __clog10f F
+GLIBC_2.16 __clog10l F
+GLIBC_2.16 __cosh_finite F
+GLIBC_2.16 __coshf_finite F
+GLIBC_2.16 __coshl_finite F
+GLIBC_2.16 __exp10_finite F
+GLIBC_2.16 __exp10f_finite F
+GLIBC_2.16 __exp10l_finite F
+GLIBC_2.16 __exp2_finite F
+GLIBC_2.16 __exp2f_finite F
+GLIBC_2.16 __exp2l_finite F
+GLIBC_2.16 __exp_finite F
+GLIBC_2.16 __expf_finite F
+GLIBC_2.16 __expl_finite F
+GLIBC_2.16 __finite F
+GLIBC_2.16 __finitef F
+GLIBC_2.16 __finitel F
+GLIBC_2.16 __fmod_finite F
+GLIBC_2.16 __fmodf_finite F
+GLIBC_2.16 __fmodl_finite F
+GLIBC_2.16 __fpclassify F
+GLIBC_2.16 __fpclassifyf F
+GLIBC_2.16 __fpclassifyl F
+GLIBC_2.16 __gamma_r_finite F
+GLIBC_2.16 __gammaf_r_finite F
+GLIBC_2.16 __gammal_r_finite F
+GLIBC_2.16 __hypot_finite F
+GLIBC_2.16 __hypotf_finite F
+GLIBC_2.16 __hypotl_finite F
+GLIBC_2.16 __j0_finite F
+GLIBC_2.16 __j0f_finite F
+GLIBC_2.16 __j0l_finite F
+GLIBC_2.16 __j1_finite F
+GLIBC_2.16 __j1f_finite F
+GLIBC_2.16 __j1l_finite F
+GLIBC_2.16 __jn_finite F
+GLIBC_2.16 __jnf_finite F
+GLIBC_2.16 __jnl_finite F
+GLIBC_2.16 __lgamma_r_finite F
+GLIBC_2.16 __lgammaf_r_finite F
+GLIBC_2.16 __lgammal_r_finite F
+GLIBC_2.16 __log10_finite F
+GLIBC_2.16 __log10f_finite F
+GLIBC_2.16 __log10l_finite F
+GLIBC_2.16 __log2_finite F
+GLIBC_2.16 __log2f_finite F
+GLIBC_2.16 __log2l_finite F
+GLIBC_2.16 __log_finite F
+GLIBC_2.16 __logf_finite F
+GLIBC_2.16 __logl_finite F
+GLIBC_2.16 __pow_finite F
+GLIBC_2.16 __powf_finite F
+GLIBC_2.16 __powl_finite F
+GLIBC_2.16 __remainder_finite F
+GLIBC_2.16 __remainderf_finite F
+GLIBC_2.16 __remainderl_finite F
+GLIBC_2.16 __scalb_finite F
+GLIBC_2.16 __scalbf_finite F
+GLIBC_2.16 __scalbl_finite F
+GLIBC_2.16 __signbit F
+GLIBC_2.16 __signbitf F
+GLIBC_2.16 __signbitl F
+GLIBC_2.16 __sinh_finite F
+GLIBC_2.16 __sinhf_finite F
+GLIBC_2.16 __sinhl_finite F
+GLIBC_2.16 __sqrt_finite F
+GLIBC_2.16 __sqrtf_finite F
+GLIBC_2.16 __sqrtl_finite F
+GLIBC_2.16 __y0_finite F
+GLIBC_2.16 __y0f_finite F
+GLIBC_2.16 __y0l_finite F
+GLIBC_2.16 __y1_finite F
+GLIBC_2.16 __y1f_finite F
+GLIBC_2.16 __y1l_finite F
+GLIBC_2.16 __yn_finite F
+GLIBC_2.16 __ynf_finite F
+GLIBC_2.16 __ynl_finite F
+GLIBC_2.16 acos F
+GLIBC_2.16 acosf F
+GLIBC_2.16 acosh F
+GLIBC_2.16 acoshf F
+GLIBC_2.16 acoshl F
+GLIBC_2.16 acosl F
+GLIBC_2.16 asin F
+GLIBC_2.16 asinf F
+GLIBC_2.16 asinh F
+GLIBC_2.16 asinhf F
+GLIBC_2.16 asinhl F
+GLIBC_2.16 asinl F
+GLIBC_2.16 atan F
+GLIBC_2.16 atan2 F
+GLIBC_2.16 atan2f F
+GLIBC_2.16 atan2l F
+GLIBC_2.16 atanf F
+GLIBC_2.16 atanh F
+GLIBC_2.16 atanhf F
+GLIBC_2.16 atanhl F
+GLIBC_2.16 atanl F
+GLIBC_2.16 cabs F
+GLIBC_2.16 cabsf F
+GLIBC_2.16 cabsl F
+GLIBC_2.16 cacos F
+GLIBC_2.16 cacosf F
+GLIBC_2.16 cacosh F
+GLIBC_2.16 cacoshf F
+GLIBC_2.16 cacoshl F
+GLIBC_2.16 cacosl F
+GLIBC_2.16 carg F
+GLIBC_2.16 cargf F
+GLIBC_2.16 cargl F
+GLIBC_2.16 casin F
+GLIBC_2.16 casinf F
+GLIBC_2.16 casinh F
+GLIBC_2.16 casinhf F
+GLIBC_2.16 casinhl F
+GLIBC_2.16 casinl F
+GLIBC_2.16 catan F
+GLIBC_2.16 catanf F
+GLIBC_2.16 catanh F
+GLIBC_2.16 catanhf F
+GLIBC_2.16 catanhl F
+GLIBC_2.16 catanl F
+GLIBC_2.16 cbrt F
+GLIBC_2.16 cbrtf F
+GLIBC_2.16 cbrtl F
+GLIBC_2.16 ccos F
+GLIBC_2.16 ccosf F
+GLIBC_2.16 ccosh F
+GLIBC_2.16 ccoshf F
+GLIBC_2.16 ccoshl F
+GLIBC_2.16 ccosl F
+GLIBC_2.16 ceil F
+GLIBC_2.16 ceilf F
+GLIBC_2.16 ceill F
+GLIBC_2.16 cexp F
+GLIBC_2.16 cexpf F
+GLIBC_2.16 cexpl F
+GLIBC_2.16 cimag F
+GLIBC_2.16 cimagf F
+GLIBC_2.16 cimagl F
+GLIBC_2.16 clog F
+GLIBC_2.16 clog10 F
+GLIBC_2.16 clog10f F
+GLIBC_2.16 clog10l F
+GLIBC_2.16 clogf F
+GLIBC_2.16 clogl F
+GLIBC_2.16 conj F
+GLIBC_2.16 conjf F
+GLIBC_2.16 conjl F
+GLIBC_2.16 copysign F
+GLIBC_2.16 copysignf F
+GLIBC_2.16 copysignl F
+GLIBC_2.16 cos F
+GLIBC_2.16 cosf F
+GLIBC_2.16 cosh F
+GLIBC_2.16 coshf F
+GLIBC_2.16 coshl F
+GLIBC_2.16 cosl F
+GLIBC_2.16 cpow F
+GLIBC_2.16 cpowf F
+GLIBC_2.16 cpowl F
+GLIBC_2.16 cproj F
+GLIBC_2.16 cprojf F
+GLIBC_2.16 cprojl F
+GLIBC_2.16 creal F
+GLIBC_2.16 crealf F
+GLIBC_2.16 creall F
+GLIBC_2.16 csin F
+GLIBC_2.16 csinf F
+GLIBC_2.16 csinh F
+GLIBC_2.16 csinhf F
+GLIBC_2.16 csinhl F
+GLIBC_2.16 csinl F
+GLIBC_2.16 csqrt F
+GLIBC_2.16 csqrtf F
+GLIBC_2.16 csqrtl F
+GLIBC_2.16 ctan F
+GLIBC_2.16 ctanf F
+GLIBC_2.16 ctanh F
+GLIBC_2.16 ctanhf F
+GLIBC_2.16 ctanhl F
+GLIBC_2.16 ctanl F
+GLIBC_2.16 drem F
+GLIBC_2.16 dremf F
+GLIBC_2.16 dreml F
+GLIBC_2.16 erf F
+GLIBC_2.16 erfc F
+GLIBC_2.16 erfcf F
+GLIBC_2.16 erfcl F
+GLIBC_2.16 erff F
+GLIBC_2.16 erfl F
+GLIBC_2.16 exp F
+GLIBC_2.16 exp10 F
+GLIBC_2.16 exp10f F
+GLIBC_2.16 exp10l F
+GLIBC_2.16 exp2 F
+GLIBC_2.16 exp2f F
+GLIBC_2.16 exp2l F
+GLIBC_2.16 expf F
+GLIBC_2.16 expl F
+GLIBC_2.16 expm1 F
+GLIBC_2.16 expm1f F
+GLIBC_2.16 expm1l F
+GLIBC_2.16 fabs F
+GLIBC_2.16 fabsf F
+GLIBC_2.16 fabsl F
+GLIBC_2.16 fdim F
+GLIBC_2.16 fdimf F
+GLIBC_2.16 fdiml F
+GLIBC_2.16 feclearexcept F
+GLIBC_2.16 fedisableexcept F
+GLIBC_2.16 feenableexcept F
+GLIBC_2.16 fegetenv F
+GLIBC_2.16 fegetexcept F
+GLIBC_2.16 fegetexceptflag F
+GLIBC_2.16 fegetround F
+GLIBC_2.16 feholdexcept F
+GLIBC_2.16 feraiseexcept F
+GLIBC_2.16 fesetenv F
+GLIBC_2.16 fesetexceptflag F
+GLIBC_2.16 fesetround F
+GLIBC_2.16 fetestexcept F
+GLIBC_2.16 feupdateenv F
+GLIBC_2.16 finite F
+GLIBC_2.16 finitef F
+GLIBC_2.16 finitel F
+GLIBC_2.16 floor F
+GLIBC_2.16 floorf F
+GLIBC_2.16 floorl F
+GLIBC_2.16 fma F
+GLIBC_2.16 fmaf F
+GLIBC_2.16 fmal F
+GLIBC_2.16 fmax F
+GLIBC_2.16 fmaxf F
+GLIBC_2.16 fmaxl F
+GLIBC_2.16 fmin F
+GLIBC_2.16 fminf F
+GLIBC_2.16 fminl F
+GLIBC_2.16 fmod F
+GLIBC_2.16 fmodf F
+GLIBC_2.16 fmodl F
+GLIBC_2.16 frexp F
+GLIBC_2.16 frexpf F
+GLIBC_2.16 frexpl F
+GLIBC_2.16 gamma F
+GLIBC_2.16 gammaf F
+GLIBC_2.16 gammal F
+GLIBC_2.16 hypot F
+GLIBC_2.16 hypotf F
+GLIBC_2.16 hypotl F
+GLIBC_2.16 ilogb F
+GLIBC_2.16 ilogbf F
+GLIBC_2.16 ilogbl F
+GLIBC_2.16 j0 F
+GLIBC_2.16 j0f F
+GLIBC_2.16 j0l F
+GLIBC_2.16 j1 F
+GLIBC_2.16 j1f F
+GLIBC_2.16 j1l F
+GLIBC_2.16 jn F
+GLIBC_2.16 jnf F
+GLIBC_2.16 jnl F
+GLIBC_2.16 ldexp F
+GLIBC_2.16 ldexpf F
+GLIBC_2.16 ldexpl F
+GLIBC_2.16 lgamma F
+GLIBC_2.16 lgamma_r F
+GLIBC_2.16 lgammaf F
+GLIBC_2.16 lgammaf_r F
+GLIBC_2.16 lgammal F
+GLIBC_2.16 lgammal_r F
+GLIBC_2.16 llrint F
+GLIBC_2.16 llrintf F
+GLIBC_2.16 llrintl F
+GLIBC_2.16 llround F
+GLIBC_2.16 llroundf F
+GLIBC_2.16 llroundl F
+GLIBC_2.16 log F
+GLIBC_2.16 log10 F
+GLIBC_2.16 log10f F
+GLIBC_2.16 log10l F
+GLIBC_2.16 log1p F
+GLIBC_2.16 log1pf F
+GLIBC_2.16 log1pl F
+GLIBC_2.16 log2 F
+GLIBC_2.16 log2f F
+GLIBC_2.16 log2l F
+GLIBC_2.16 logb F
+GLIBC_2.16 logbf F
+GLIBC_2.16 logbl F
+GLIBC_2.16 logf F
+GLIBC_2.16 logl F
+GLIBC_2.16 lrint F
+GLIBC_2.16 lrintf F
+GLIBC_2.16 lrintl F
+GLIBC_2.16 lround F
+GLIBC_2.16 lroundf F
+GLIBC_2.16 lroundl F
+GLIBC_2.16 matherr F
+GLIBC_2.16 modf F
+GLIBC_2.16 modff F
+GLIBC_2.16 modfl F
+GLIBC_2.16 nan F
+GLIBC_2.16 nanf F
+GLIBC_2.16 nanl F
+GLIBC_2.16 nearbyint F
+GLIBC_2.16 nearbyintf F
+GLIBC_2.16 nearbyintl F
+GLIBC_2.16 nextafter F
+GLIBC_2.16 nextafterf F
+GLIBC_2.16 nextafterl F
+GLIBC_2.16 nexttoward F
+GLIBC_2.16 nexttowardf F
+GLIBC_2.16 nexttowardl F
+GLIBC_2.16 pow F
+GLIBC_2.16 pow10 F
+GLIBC_2.16 pow10f F
+GLIBC_2.16 pow10l F
+GLIBC_2.16 powf F
+GLIBC_2.16 powl F
+GLIBC_2.16 remainder F
+GLIBC_2.16 remainderf F
+GLIBC_2.16 remainderl F
+GLIBC_2.16 remquo F
+GLIBC_2.16 remquof F
+GLIBC_2.16 remquol F
+GLIBC_2.16 rint F
+GLIBC_2.16 rintf F
+GLIBC_2.16 rintl F
+GLIBC_2.16 round F
+GLIBC_2.16 roundf F
+GLIBC_2.16 roundl F
+GLIBC_2.16 scalb F
+GLIBC_2.16 scalbf F
+GLIBC_2.16 scalbl F
+GLIBC_2.16 scalbln F
+GLIBC_2.16 scalblnf F
+GLIBC_2.16 scalblnl F
+GLIBC_2.16 scalbn F
+GLIBC_2.16 scalbnf F
+GLIBC_2.16 scalbnl F
+GLIBC_2.16 signgam D 0x4
+GLIBC_2.16 significand F
+GLIBC_2.16 significandf F
+GLIBC_2.16 significandl F
+GLIBC_2.16 sin F
+GLIBC_2.16 sincos F
+GLIBC_2.16 sincosf F
+GLIBC_2.16 sincosl F
+GLIBC_2.16 sinf F
+GLIBC_2.16 sinh F
+GLIBC_2.16 sinhf F
+GLIBC_2.16 sinhl F
+GLIBC_2.16 sinl F
+GLIBC_2.16 sqrt F
+GLIBC_2.16 sqrtf F
+GLIBC_2.16 sqrtl F
+GLIBC_2.16 tan F
+GLIBC_2.16 tanf F
+GLIBC_2.16 tanh F
+GLIBC_2.16 tanhf F
+GLIBC_2.16 tanhl F
+GLIBC_2.16 tanl F
+GLIBC_2.16 tgamma F
+GLIBC_2.16 tgammaf F
+GLIBC_2.16 tgammal F
+GLIBC_2.16 trunc F
+GLIBC_2.16 truncf F
+GLIBC_2.16 truncl F
+GLIBC_2.16 y0 F
+GLIBC_2.16 y0f F
+GLIBC_2.16 y0l F
+GLIBC_2.16 y1 F
+GLIBC_2.16 y1f F
+GLIBC_2.16 y1l F
+GLIBC_2.16 yn F
+GLIBC_2.16 ynf F
+GLIBC_2.16 ynl F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iscanonicall F
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist
new file mode 100644
index 0000000000..a0499d3c94
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __free_fdresult F
+GLIBC_2.16 __nis_default_access F
+GLIBC_2.16 __nis_default_group F
+GLIBC_2.16 __nis_default_owner F
+GLIBC_2.16 __nis_default_ttl F
+GLIBC_2.16 __nis_finddirectory F
+GLIBC_2.16 __nis_hash F
+GLIBC_2.16 __nisbind_connect F
+GLIBC_2.16 __nisbind_create F
+GLIBC_2.16 __nisbind_destroy F
+GLIBC_2.16 __nisbind_next F
+GLIBC_2.16 __yp_check F
+GLIBC_2.16 nis_add F
+GLIBC_2.16 nis_add_entry F
+GLIBC_2.16 nis_addmember F
+GLIBC_2.16 nis_checkpoint F
+GLIBC_2.16 nis_clone_directory F
+GLIBC_2.16 nis_clone_object F
+GLIBC_2.16 nis_clone_result F
+GLIBC_2.16 nis_creategroup F
+GLIBC_2.16 nis_destroy_object F
+GLIBC_2.16 nis_destroygroup F
+GLIBC_2.16 nis_dir_cmp F
+GLIBC_2.16 nis_domain_of F
+GLIBC_2.16 nis_domain_of_r F
+GLIBC_2.16 nis_first_entry F
+GLIBC_2.16 nis_free_directory F
+GLIBC_2.16 nis_free_object F
+GLIBC_2.16 nis_free_request F
+GLIBC_2.16 nis_freenames F
+GLIBC_2.16 nis_freeresult F
+GLIBC_2.16 nis_freeservlist F
+GLIBC_2.16 nis_freetags F
+GLIBC_2.16 nis_getnames F
+GLIBC_2.16 nis_getservlist F
+GLIBC_2.16 nis_ismember F
+GLIBC_2.16 nis_leaf_of F
+GLIBC_2.16 nis_leaf_of_r F
+GLIBC_2.16 nis_lerror F
+GLIBC_2.16 nis_list F
+GLIBC_2.16 nis_local_directory F
+GLIBC_2.16 nis_local_group F
+GLIBC_2.16 nis_local_host F
+GLIBC_2.16 nis_local_principal F
+GLIBC_2.16 nis_lookup F
+GLIBC_2.16 nis_mkdir F
+GLIBC_2.16 nis_modify F
+GLIBC_2.16 nis_modify_entry F
+GLIBC_2.16 nis_name_of F
+GLIBC_2.16 nis_name_of_r F
+GLIBC_2.16 nis_next_entry F
+GLIBC_2.16 nis_perror F
+GLIBC_2.16 nis_ping F
+GLIBC_2.16 nis_print_directory F
+GLIBC_2.16 nis_print_entry F
+GLIBC_2.16 nis_print_group F
+GLIBC_2.16 nis_print_group_entry F
+GLIBC_2.16 nis_print_link F
+GLIBC_2.16 nis_print_object F
+GLIBC_2.16 nis_print_result F
+GLIBC_2.16 nis_print_rights F
+GLIBC_2.16 nis_print_table F
+GLIBC_2.16 nis_read_obj F
+GLIBC_2.16 nis_remove F
+GLIBC_2.16 nis_remove_entry F
+GLIBC_2.16 nis_removemember F
+GLIBC_2.16 nis_rmdir F
+GLIBC_2.16 nis_servstate F
+GLIBC_2.16 nis_sperrno F
+GLIBC_2.16 nis_sperror F
+GLIBC_2.16 nis_sperror_r F
+GLIBC_2.16 nis_stats F
+GLIBC_2.16 nis_verifygroup F
+GLIBC_2.16 nis_write_obj F
+GLIBC_2.16 readColdStartFile F
+GLIBC_2.16 writeColdStartFile F
+GLIBC_2.16 xdr_cback_data F
+GLIBC_2.16 xdr_domainname F
+GLIBC_2.16 xdr_keydat F
+GLIBC_2.16 xdr_mapname F
+GLIBC_2.16 xdr_obj_p F
+GLIBC_2.16 xdr_peername F
+GLIBC_2.16 xdr_valdat F
+GLIBC_2.16 xdr_yp_buf F
+GLIBC_2.16 xdr_ypall F
+GLIBC_2.16 xdr_ypbind_binding F
+GLIBC_2.16 xdr_ypbind_resp F
+GLIBC_2.16 xdr_ypbind_resptype F
+GLIBC_2.16 xdr_ypbind_setdom F
+GLIBC_2.16 xdr_ypdelete_args F
+GLIBC_2.16 xdr_ypmap_parms F
+GLIBC_2.16 xdr_ypmaplist F
+GLIBC_2.16 xdr_yppush_status F
+GLIBC_2.16 xdr_yppushresp_xfr F
+GLIBC_2.16 xdr_ypreq_key F
+GLIBC_2.16 xdr_ypreq_nokey F
+GLIBC_2.16 xdr_ypreq_xfr F
+GLIBC_2.16 xdr_ypresp_all F
+GLIBC_2.16 xdr_ypresp_key_val F
+GLIBC_2.16 xdr_ypresp_maplist F
+GLIBC_2.16 xdr_ypresp_master F
+GLIBC_2.16 xdr_ypresp_order F
+GLIBC_2.16 xdr_ypresp_val F
+GLIBC_2.16 xdr_ypresp_xfr F
+GLIBC_2.16 xdr_ypstat F
+GLIBC_2.16 xdr_ypupdate_args F
+GLIBC_2.16 xdr_ypxfrstat F
+GLIBC_2.16 yp_all F
+GLIBC_2.16 yp_bind F
+GLIBC_2.16 yp_first F
+GLIBC_2.16 yp_get_default_domain F
+GLIBC_2.16 yp_maplist F
+GLIBC_2.16 yp_master F
+GLIBC_2.16 yp_match F
+GLIBC_2.16 yp_next F
+GLIBC_2.16 yp_order F
+GLIBC_2.16 yp_unbind F
+GLIBC_2.16 yp_update F
+GLIBC_2.16 ypbinderr_string F
+GLIBC_2.16 yperr_string F
+GLIBC_2.16 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
new file mode 100644
index 0000000000..6cd0fc3487
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 _IO_flockfile F
+GLIBC_2.16 _IO_ftrylockfile F
+GLIBC_2.16 _IO_funlockfile F
+GLIBC_2.16 __close F
+GLIBC_2.16 __connect F
+GLIBC_2.16 __errno_location F
+GLIBC_2.16 __fcntl F
+GLIBC_2.16 __fork F
+GLIBC_2.16 __h_errno_location F
+GLIBC_2.16 __libc_allocate_rtsig F
+GLIBC_2.16 __libc_current_sigrtmax F
+GLIBC_2.16 __libc_current_sigrtmin F
+GLIBC_2.16 __lseek F
+GLIBC_2.16 __nanosleep F
+GLIBC_2.16 __open F
+GLIBC_2.16 __open64 F
+GLIBC_2.16 __pread64 F
+GLIBC_2.16 __pthread_cleanup_routine F
+GLIBC_2.16 __pthread_getspecific F
+GLIBC_2.16 __pthread_key_create F
+GLIBC_2.16 __pthread_mutex_destroy F
+GLIBC_2.16 __pthread_mutex_init F
+GLIBC_2.16 __pthread_mutex_lock F
+GLIBC_2.16 __pthread_mutex_trylock F
+GLIBC_2.16 __pthread_mutex_unlock F
+GLIBC_2.16 __pthread_mutexattr_destroy F
+GLIBC_2.16 __pthread_mutexattr_init F
+GLIBC_2.16 __pthread_mutexattr_settype F
+GLIBC_2.16 __pthread_once F
+GLIBC_2.16 __pthread_register_cancel F
+GLIBC_2.16 __pthread_register_cancel_defer F
+GLIBC_2.16 __pthread_rwlock_destroy F
+GLIBC_2.16 __pthread_rwlock_init F
+GLIBC_2.16 __pthread_rwlock_rdlock F
+GLIBC_2.16 __pthread_rwlock_tryrdlock F
+GLIBC_2.16 __pthread_rwlock_trywrlock F
+GLIBC_2.16 __pthread_rwlock_unlock F
+GLIBC_2.16 __pthread_rwlock_wrlock F
+GLIBC_2.16 __pthread_setspecific F
+GLIBC_2.16 __pthread_unregister_cancel F
+GLIBC_2.16 __pthread_unregister_cancel_restore F
+GLIBC_2.16 __pthread_unwind_next F
+GLIBC_2.16 __pwrite64 F
+GLIBC_2.16 __read F
+GLIBC_2.16 __res_state F
+GLIBC_2.16 __send F
+GLIBC_2.16 __sigaction F
+GLIBC_2.16 __vfork F
+GLIBC_2.16 __wait F
+GLIBC_2.16 __write F
+GLIBC_2.16 _pthread_cleanup_pop F
+GLIBC_2.16 _pthread_cleanup_pop_restore F
+GLIBC_2.16 _pthread_cleanup_push F
+GLIBC_2.16 _pthread_cleanup_push_defer F
+GLIBC_2.16 accept F
+GLIBC_2.16 close F
+GLIBC_2.16 connect F
+GLIBC_2.16 fcntl F
+GLIBC_2.16 flockfile F
+GLIBC_2.16 fork F
+GLIBC_2.16 fsync F
+GLIBC_2.16 ftrylockfile F
+GLIBC_2.16 funlockfile F
+GLIBC_2.16 longjmp F
+GLIBC_2.16 lseek F
+GLIBC_2.16 lseek64 F
+GLIBC_2.16 msync F
+GLIBC_2.16 nanosleep F
+GLIBC_2.16 open F
+GLIBC_2.16 open64 F
+GLIBC_2.16 pause F
+GLIBC_2.16 pread F
+GLIBC_2.16 pread64 F
+GLIBC_2.16 pthread_attr_destroy F
+GLIBC_2.16 pthread_attr_getaffinity_np F
+GLIBC_2.16 pthread_attr_getdetachstate F
+GLIBC_2.16 pthread_attr_getguardsize F
+GLIBC_2.16 pthread_attr_getinheritsched F
+GLIBC_2.16 pthread_attr_getschedparam F
+GLIBC_2.16 pthread_attr_getschedpolicy F
+GLIBC_2.16 pthread_attr_getscope F
+GLIBC_2.16 pthread_attr_getstack F
+GLIBC_2.16 pthread_attr_getstackaddr F
+GLIBC_2.16 pthread_attr_getstacksize F
+GLIBC_2.16 pthread_attr_init F
+GLIBC_2.16 pthread_attr_setaffinity_np F
+GLIBC_2.16 pthread_attr_setdetachstate F
+GLIBC_2.16 pthread_attr_setguardsize F
+GLIBC_2.16 pthread_attr_setinheritsched F
+GLIBC_2.16 pthread_attr_setschedparam F
+GLIBC_2.16 pthread_attr_setschedpolicy F
+GLIBC_2.16 pthread_attr_setscope F
+GLIBC_2.16 pthread_attr_setstack F
+GLIBC_2.16 pthread_attr_setstackaddr F
+GLIBC_2.16 pthread_attr_setstacksize F
+GLIBC_2.16 pthread_barrier_destroy F
+GLIBC_2.16 pthread_barrier_init F
+GLIBC_2.16 pthread_barrier_wait F
+GLIBC_2.16 pthread_barrierattr_destroy F
+GLIBC_2.16 pthread_barrierattr_getpshared F
+GLIBC_2.16 pthread_barrierattr_init F
+GLIBC_2.16 pthread_barrierattr_setpshared F
+GLIBC_2.16 pthread_cancel F
+GLIBC_2.16 pthread_cond_broadcast F
+GLIBC_2.16 pthread_cond_destroy F
+GLIBC_2.16 pthread_cond_init F
+GLIBC_2.16 pthread_cond_signal F
+GLIBC_2.16 pthread_cond_timedwait F
+GLIBC_2.16 pthread_cond_wait F
+GLIBC_2.16 pthread_condattr_destroy F
+GLIBC_2.16 pthread_condattr_getclock F
+GLIBC_2.16 pthread_condattr_getpshared F
+GLIBC_2.16 pthread_condattr_init F
+GLIBC_2.16 pthread_condattr_setclock F
+GLIBC_2.16 pthread_condattr_setpshared F
+GLIBC_2.16 pthread_create F
+GLIBC_2.16 pthread_detach F
+GLIBC_2.16 pthread_equal F
+GLIBC_2.16 pthread_exit F
+GLIBC_2.16 pthread_getaffinity_np F
+GLIBC_2.16 pthread_getattr_np F
+GLIBC_2.16 pthread_getconcurrency F
+GLIBC_2.16 pthread_getcpuclockid F
+GLIBC_2.16 pthread_getname_np F
+GLIBC_2.16 pthread_getschedparam F
+GLIBC_2.16 pthread_getspecific F
+GLIBC_2.16 pthread_join F
+GLIBC_2.16 pthread_key_create F
+GLIBC_2.16 pthread_key_delete F
+GLIBC_2.16 pthread_kill F
+GLIBC_2.16 pthread_kill_other_threads_np F
+GLIBC_2.16 pthread_mutex_consistent F
+GLIBC_2.16 pthread_mutex_consistent_np F
+GLIBC_2.16 pthread_mutex_destroy F
+GLIBC_2.16 pthread_mutex_getprioceiling F
+GLIBC_2.16 pthread_mutex_init F
+GLIBC_2.16 pthread_mutex_lock F
+GLIBC_2.16 pthread_mutex_setprioceiling F
+GLIBC_2.16 pthread_mutex_timedlock F
+GLIBC_2.16 pthread_mutex_trylock F
+GLIBC_2.16 pthread_mutex_unlock F
+GLIBC_2.16 pthread_mutexattr_destroy F
+GLIBC_2.16 pthread_mutexattr_getkind_np F
+GLIBC_2.16 pthread_mutexattr_getprioceiling F
+GLIBC_2.16 pthread_mutexattr_getprotocol F
+GLIBC_2.16 pthread_mutexattr_getpshared F
+GLIBC_2.16 pthread_mutexattr_getrobust F
+GLIBC_2.16 pthread_mutexattr_getrobust_np F
+GLIBC_2.16 pthread_mutexattr_gettype F
+GLIBC_2.16 pthread_mutexattr_init F
+GLIBC_2.16 pthread_mutexattr_setkind_np F
+GLIBC_2.16 pthread_mutexattr_setprioceiling F
+GLIBC_2.16 pthread_mutexattr_setprotocol F
+GLIBC_2.16 pthread_mutexattr_setpshared F
+GLIBC_2.16 pthread_mutexattr_setrobust F
+GLIBC_2.16 pthread_mutexattr_setrobust_np F
+GLIBC_2.16 pthread_mutexattr_settype F
+GLIBC_2.16 pthread_once F
+GLIBC_2.16 pthread_rwlock_destroy F
+GLIBC_2.16 pthread_rwlock_init F
+GLIBC_2.16 pthread_rwlock_rdlock F
+GLIBC_2.16 pthread_rwlock_timedrdlock F
+GLIBC_2.16 pthread_rwlock_timedwrlock F
+GLIBC_2.16 pthread_rwlock_tryrdlock F
+GLIBC_2.16 pthread_rwlock_trywrlock F
+GLIBC_2.16 pthread_rwlock_unlock F
+GLIBC_2.16 pthread_rwlock_wrlock F
+GLIBC_2.16 pthread_rwlockattr_destroy F
+GLIBC_2.16 pthread_rwlockattr_getkind_np F
+GLIBC_2.16 pthread_rwlockattr_getpshared F
+GLIBC_2.16 pthread_rwlockattr_init F
+GLIBC_2.16 pthread_rwlockattr_setkind_np F
+GLIBC_2.16 pthread_rwlockattr_setpshared F
+GLIBC_2.16 pthread_self F
+GLIBC_2.16 pthread_setaffinity_np F
+GLIBC_2.16 pthread_setcancelstate F
+GLIBC_2.16 pthread_setcanceltype F
+GLIBC_2.16 pthread_setconcurrency F
+GLIBC_2.16 pthread_setname_np F
+GLIBC_2.16 pthread_setschedparam F
+GLIBC_2.16 pthread_setschedprio F
+GLIBC_2.16 pthread_setspecific F
+GLIBC_2.16 pthread_sigmask F
+GLIBC_2.16 pthread_sigqueue F
+GLIBC_2.16 pthread_spin_destroy F
+GLIBC_2.16 pthread_spin_init F
+GLIBC_2.16 pthread_spin_lock F
+GLIBC_2.16 pthread_spin_trylock F
+GLIBC_2.16 pthread_spin_unlock F
+GLIBC_2.16 pthread_testcancel F
+GLIBC_2.16 pthread_timedjoin_np F
+GLIBC_2.16 pthread_tryjoin_np F
+GLIBC_2.16 pthread_yield F
+GLIBC_2.16 pwrite F
+GLIBC_2.16 pwrite64 F
+GLIBC_2.16 raise F
+GLIBC_2.16 read F
+GLIBC_2.16 recv F
+GLIBC_2.16 recvfrom F
+GLIBC_2.16 recvmsg F
+GLIBC_2.16 sem_close F
+GLIBC_2.16 sem_destroy F
+GLIBC_2.16 sem_getvalue F
+GLIBC_2.16 sem_init F
+GLIBC_2.16 sem_open F
+GLIBC_2.16 sem_post F
+GLIBC_2.16 sem_timedwait F
+GLIBC_2.16 sem_trywait F
+GLIBC_2.16 sem_unlink F
+GLIBC_2.16 sem_wait F
+GLIBC_2.16 send F
+GLIBC_2.16 sendmsg F
+GLIBC_2.16 sendto F
+GLIBC_2.16 sigaction F
+GLIBC_2.16 siglongjmp F
+GLIBC_2.16 sigwait F
+GLIBC_2.16 system F
+GLIBC_2.16 tcdrain F
+GLIBC_2.16 vfork F
+GLIBC_2.16 wait F
+GLIBC_2.16 waitpid F
+GLIBC_2.16 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
new file mode 100644
index 0000000000..28abb0307e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __b64_ntop F
+GLIBC_2.16 __b64_pton F
+GLIBC_2.16 __dn_comp F
+GLIBC_2.16 __dn_count_labels F
+GLIBC_2.16 __dn_expand F
+GLIBC_2.16 __dn_skipname F
+GLIBC_2.16 __fp_nquery F
+GLIBC_2.16 __fp_query F
+GLIBC_2.16 __fp_resstat F
+GLIBC_2.16 __hostalias F
+GLIBC_2.16 __loc_aton F
+GLIBC_2.16 __loc_ntoa F
+GLIBC_2.16 __p_cdname F
+GLIBC_2.16 __p_cdnname F
+GLIBC_2.16 __p_class F
+GLIBC_2.16 __p_class_syms D 0x54
+GLIBC_2.16 __p_fqname F
+GLIBC_2.16 __p_fqnname F
+GLIBC_2.16 __p_option F
+GLIBC_2.16 __p_query F
+GLIBC_2.16 __p_rcode F
+GLIBC_2.16 __p_secstodate F
+GLIBC_2.16 __p_time F
+GLIBC_2.16 __p_type F
+GLIBC_2.16 __p_type_syms D 0x228
+GLIBC_2.16 __putlong F
+GLIBC_2.16 __putshort F
+GLIBC_2.16 __res_close F
+GLIBC_2.16 __res_dnok F
+GLIBC_2.16 __res_hnok F
+GLIBC_2.16 __res_hostalias F
+GLIBC_2.16 __res_isourserver F
+GLIBC_2.16 __res_mailok F
+GLIBC_2.16 __res_mkquery F
+GLIBC_2.16 __res_nameinquery F
+GLIBC_2.16 __res_nmkquery F
+GLIBC_2.16 __res_nquery F
+GLIBC_2.16 __res_nquerydomain F
+GLIBC_2.16 __res_nsearch F
+GLIBC_2.16 __res_nsend F
+GLIBC_2.16 __res_ownok F
+GLIBC_2.16 __res_queriesmatch F
+GLIBC_2.16 __res_query F
+GLIBC_2.16 __res_querydomain F
+GLIBC_2.16 __res_search F
+GLIBC_2.16 __res_send F
+GLIBC_2.16 __sym_ntop F
+GLIBC_2.16 __sym_ntos F
+GLIBC_2.16 __sym_ston F
+GLIBC_2.16 _gethtbyaddr F
+GLIBC_2.16 _gethtbyname F
+GLIBC_2.16 _gethtbyname2 F
+GLIBC_2.16 _gethtent F
+GLIBC_2.16 _getlong F
+GLIBC_2.16 _getshort F
+GLIBC_2.16 _res_opcodes D 0x40
+GLIBC_2.16 _sethtent F
+GLIBC_2.16 inet_net_ntop F
+GLIBC_2.16 inet_net_pton F
+GLIBC_2.16 inet_neta F
+GLIBC_2.16 ns_datetosecs F
+GLIBC_2.16 ns_format_ttl F
+GLIBC_2.16 ns_get16 F
+GLIBC_2.16 ns_get32 F
+GLIBC_2.16 ns_initparse F
+GLIBC_2.16 ns_makecanon F
+GLIBC_2.16 ns_msg_getflag F
+GLIBC_2.16 ns_name_compress F
+GLIBC_2.16 ns_name_ntol F
+GLIBC_2.16 ns_name_ntop F
+GLIBC_2.16 ns_name_pack F
+GLIBC_2.16 ns_name_pton F
+GLIBC_2.16 ns_name_rollback F
+GLIBC_2.16 ns_name_skip F
+GLIBC_2.16 ns_name_uncompress F
+GLIBC_2.16 ns_name_unpack F
+GLIBC_2.16 ns_parse_ttl F
+GLIBC_2.16 ns_parserr F
+GLIBC_2.16 ns_put16 F
+GLIBC_2.16 ns_put32 F
+GLIBC_2.16 ns_samedomain F
+GLIBC_2.16 ns_samename F
+GLIBC_2.16 ns_skiprr F
+GLIBC_2.16 ns_sprintrr F
+GLIBC_2.16 ns_sprintrrf F
+GLIBC_2.16 ns_subdomain F
+GLIBC_2.16 res_gethostbyaddr F
+GLIBC_2.16 res_gethostbyname F
+GLIBC_2.16 res_gethostbyname2 F
+GLIBC_2.16 res_send_setqhook F
+GLIBC_2.16 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
new file mode 100644
index 0000000000..ea7b40ab56
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __mq_open_2 F
+GLIBC_2.16 aio_cancel F
+GLIBC_2.16 aio_cancel64 F
+GLIBC_2.16 aio_error F
+GLIBC_2.16 aio_error64 F
+GLIBC_2.16 aio_fsync F
+GLIBC_2.16 aio_fsync64 F
+GLIBC_2.16 aio_init F
+GLIBC_2.16 aio_read F
+GLIBC_2.16 aio_read64 F
+GLIBC_2.16 aio_return F
+GLIBC_2.16 aio_return64 F
+GLIBC_2.16 aio_suspend F
+GLIBC_2.16 aio_suspend64 F
+GLIBC_2.16 aio_write F
+GLIBC_2.16 aio_write64 F
+GLIBC_2.16 clock_getcpuclockid F
+GLIBC_2.16 clock_getres F
+GLIBC_2.16 clock_gettime F
+GLIBC_2.16 clock_nanosleep F
+GLIBC_2.16 clock_settime F
+GLIBC_2.16 lio_listio F
+GLIBC_2.16 lio_listio64 F
+GLIBC_2.16 mq_close F
+GLIBC_2.16 mq_getattr F
+GLIBC_2.16 mq_notify F
+GLIBC_2.16 mq_open F
+GLIBC_2.16 mq_receive F
+GLIBC_2.16 mq_send F
+GLIBC_2.16 mq_setattr F
+GLIBC_2.16 mq_timedreceive F
+GLIBC_2.16 mq_timedsend F
+GLIBC_2.16 mq_unlink F
+GLIBC_2.16 shm_open F
+GLIBC_2.16 shm_unlink F
+GLIBC_2.16 timer_create F
+GLIBC_2.16 timer_delete F
+GLIBC_2.16 timer_getoverrun F
+GLIBC_2.16 timer_gettime F
+GLIBC_2.16 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist
new file mode 100644
index 0000000000..5d7031cf2f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 td_init F
+GLIBC_2.16 td_log F
+GLIBC_2.16 td_symbol_list F
+GLIBC_2.16 td_ta_clear_event F
+GLIBC_2.16 td_ta_delete F
+GLIBC_2.16 td_ta_enable_stats F
+GLIBC_2.16 td_ta_event_addr F
+GLIBC_2.16 td_ta_event_getmsg F
+GLIBC_2.16 td_ta_get_nthreads F
+GLIBC_2.16 td_ta_get_ph F
+GLIBC_2.16 td_ta_get_stats F
+GLIBC_2.16 td_ta_map_id2thr F
+GLIBC_2.16 td_ta_map_lwp2thr F
+GLIBC_2.16 td_ta_new F
+GLIBC_2.16 td_ta_reset_stats F
+GLIBC_2.16 td_ta_set_event F
+GLIBC_2.16 td_ta_setconcurrency F
+GLIBC_2.16 td_ta_thr_iter F
+GLIBC_2.16 td_ta_tsd_iter F
+GLIBC_2.16 td_thr_clear_event F
+GLIBC_2.16 td_thr_dbresume F
+GLIBC_2.16 td_thr_dbsuspend F
+GLIBC_2.16 td_thr_event_enable F
+GLIBC_2.16 td_thr_event_getmsg F
+GLIBC_2.16 td_thr_get_info F
+GLIBC_2.16 td_thr_getfpregs F
+GLIBC_2.16 td_thr_getgregs F
+GLIBC_2.16 td_thr_getxregs F
+GLIBC_2.16 td_thr_getxregsize F
+GLIBC_2.16 td_thr_set_event F
+GLIBC_2.16 td_thr_setfpregs F
+GLIBC_2.16 td_thr_setgregs F
+GLIBC_2.16 td_thr_setprio F
+GLIBC_2.16 td_thr_setsigpending F
+GLIBC_2.16 td_thr_setxregs F
+GLIBC_2.16 td_thr_sigsetmask F
+GLIBC_2.16 td_thr_tls_get_addr F
+GLIBC_2.16 td_thr_tlsbase F
+GLIBC_2.16 td_thr_tsd F
+GLIBC_2.16 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist
new file mode 100644
index 0000000000..30353d06c2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 forkpty F
+GLIBC_2.16 login F
+GLIBC_2.16 login_tty F
+GLIBC_2.16 logout F
+GLIBC_2.16 logwtmp F
+GLIBC_2.16 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
new file mode 100644
index 0000000000..5084d0ebd2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
@@ -0,0 +1 @@
+/* No llseek for x32.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S
new file mode 100644
index 0000000000..f8b95d5ca2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S
@@ -0,0 +1,43 @@
+/* The lseek system call with 64-bit offset.  Linux/x32 version.
+   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>
+
+/* Return -1LL in a full 64 bits.  */
+#undef SYSCALL_ERROR_HANDLER
+#define SYSCALL_ERROR_HANDLER	\
+0:				\
+	SYSCALL_SET_ERRNO;	\
+	orq $-1, %rax;		\
+	ret;
+
+/* Always use our own error handler.  */
+#undef SYSCALL_ERROR_LABEL
+#define SYSCALL_ERROR_LABEL 0f
+
+PSEUDO (__libc_lseek64, lseek, 3)
+	ret
+PSEUDO_END (__libc_lseek64)
+
+weak_alias (__libc_lseek64, __lseek64)
+libc_hidden_weak (__lseek64)
+weak_alias (__libc_lseek64, lseek64)
+libc_hidden_weak (lseek64)
+weak_alias (__libc_lseek64, __lseek)
+libc_hidden_weak (__lseek)
+weak_alias (__libc_lseek64, lseek)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S
new file mode 100644
index 0000000000..d81e98fb51
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S
@@ -0,0 +1 @@
+/* We don't need a definition since the llseek function is what we need.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions
new file mode 100644
index 0000000000..0ab2e27224
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions
@@ -0,0 +1,4 @@
+# DEFAULT			Earliest symbol set
+# ---------------		------------------------------
+DEFAULT			GLIBC_2.16
+ld=ld-linux-x32.so.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
new file mode 100644
index 0000000000..a41c8ac882
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
@@ -0,0 +1,7 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+fallocate	-	fallocate	Ci:iiii	fallocate	fallocate64
+gettimeofday	-	gettimeofday:__vdso_gettimeofday@LINUX_2.6	i:pP	__gettimeofday	gettimeofday
+personality	EXTRA	personality	Ei:i	__personality	personality
+posix_fadvise64	-	fadvise64	Vi:iiii	posix_fadvise	posix_fadvise64
+time		-	time:__vdso_time@LINUX_2.6			Ei:P	time
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk
new file mode 100644
index 0000000000..da018fe624
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk
@@ -0,0 +1 @@
+# X32 doesn't support sysctl.
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h
new file mode 100644
index 0000000000..04c73a2bc1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h
@@ -0,0 +1,29 @@
+/* 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/>.  */
+
+#ifndef _LINUX_X32_SYSDEP_H
+#define _LINUX_X32_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/x86_64/sysdep.h>
+#include <sysdeps/x86_64/x32/sysdep.h>
+
+/* How to pass the off{64}_t argument on p{readv,writev}{64}.  */
+#undef LO_HI_LONG
+#define LO_HI_LONG(val) (val)
+
+#endif /* linux/x86_64/x32/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c
new file mode 100644
index 0000000000..d56106e86f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c
@@ -0,0 +1,38 @@
+/* Linux times.  X32 version.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* Linux times system call returns 64-bit integer.  */
+#undef INTERNAL_SYSCALL_NCS
+#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+  ({									      \
+    unsigned long long int resultvar;					      \
+    LOAD_ARGS_##nr (args)						      \
+    LOAD_REGS_##nr							      \
+    asm volatile (							      \
+    "syscall\n\t"							      \
+    : "=a" (resultvar)							      \
+    : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL);   \
+    (long long int) resultvar; })
+
+#undef INTERNAL_SYSCALL_ERROR_P
+#define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned long long int) (val) >= -4095LL)
+
+#include <sysdeps/unix/sysv/linux/times.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xmknod.c b/REORG.TODO/sysdeps/unix/sysv/linux/xmknod.c
new file mode 100644
index 0000000000..61d12e5db1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xmknod.c
@@ -0,0 +1,47 @@
+/* xmknod call using old-style Unix mknod system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Create a device file named PATH, with permission and special bits MODE
+   and device number DEV (which can be constructed from major and minor
+   device numbers with the `makedev' macro above).  */
+int
+__xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
+{
+  unsigned long long int k_dev;
+
+  if (vers != _MKNOD_VER)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev =  (*dev) & ((1ULL << 32) - 1);
+  if (k_dev != *dev)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  return INLINE_SYSCALL (mknod, 3, path, mode, (unsigned int) k_dev);
+}
+
+weak_alias (__xmknod, _xmknod)
+libc_hidden_def (__xmknod)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xmknodat.c b/REORG.TODO/sysdeps/unix/sysv/linux/xmknodat.c
new file mode 100644
index 0000000000..ee96be18f3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xmknodat.c
@@ -0,0 +1,47 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+/* Create a device file named PATH relative to FD, with permission and
+   special bits MODE and device number DEV (which can be constructed
+   from major and minor device numbers with the `makedev' macro above).  */
+int
+__xmknodat (int vers, int fd, const char *file, mode_t mode, dev_t *dev)
+{
+  if (vers != _MKNOD_VER)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  unsigned long long int k_dev =  (*dev) & ((1ULL << 32) - 1);
+  if (k_dev != *dev)
+    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+
+  return INLINE_SYSCALL (mknodat, 4, fd, file, mode, (unsigned int) k_dev);
+}
+
+libc_hidden_def (__xmknodat)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/xstat.c
new file mode 100644
index 0000000000..0f83040051
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xstat.c
@@ -0,0 +1,59 @@
+/* xstat using old-style Unix stat system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc
+   will complain since they don't strictly match.  */
+#define __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <xstatconv.h>
+
+/* Get information about the file NAME in BUF.  */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+  if (vers == _STAT_VER_KERNEL)
+    return INLINE_SYSCALL (stat, 2, name, buf);
+
+#ifdef STAT_IS_KERNEL_STAT
+  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+#else
+  struct kernel_stat kbuf;
+  int result;
+
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
+  if (result == 0)
+    result = __xstat_conv (vers, &kbuf, buf);
+
+  return result;
+#endif
+}
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+#if XSTAT_IS_XSTAT64
+#undef __xstat64
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xstat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/xstat64.c
new file mode 100644
index 0000000000..b3fbe6a383
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xstat64.c
@@ -0,0 +1,54 @@
+/* xstat64 using Linux stat64 system call.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#include <kernel-features.h>
+
+/* Get information about the file NAME in BUF.  */
+
+int
+___xstat64 (int vers, const char *name, struct stat64 *buf)
+{
+  int result;
+  result = INLINE_SYSCALL (stat64, 2, name, buf);
+#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT
+  if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
+    buf->st_ino = buf->__st_ino;
+#endif
+  return result;
+}
+
+
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+versioned_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
+strong_alias (___xstat64, __old__xstat64)
+compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
+hidden_ver (___xstat64, __xstat64)
+#else
+strong_alias (___xstat64, __xstat64)
+hidden_def (__xstat64)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.c b/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.c
new file mode 100644
index 0000000000..e307827b97
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.c
@@ -0,0 +1,270 @@
+/* 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 <errno.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <kernel-features.h>
+
+#ifdef STAT_IS_KERNEL_STAT
+
+/* Dummy.  */
+struct kernel_stat;
+
+#else
+
+#include <string.h>
+
+
+#if XSTAT_IS_XSTAT64
+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;
+#ifdef _HAVE_STAT___PAD1
+	buf->__pad1 = 0;
+#endif
+	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;
+#ifdef _HAVE_STAT___PAD2
+	buf->__pad2 = 0;
+#endif
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+#ifdef _HAVE_STAT_NSEC
+	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
+	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
+	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
+	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
+	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
+	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
+#else
+	buf->st_atime = kbuf->st_atime;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_ctime = kbuf->st_ctime;
+#endif
+#ifdef _HAVE_STAT___UNUSED1
+	buf->__glibc_reserved1 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED2
+	buf->__glibc_reserved2 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED3
+	buf->__glibc_reserved3 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED4
+	buf->__glibc_reserved4 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED5
+	buf->__glibc_reserved5 = 0;
+#endif
+      }
+      break;
+
+    default:
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+    }
+
+  return 0;
+}
+#endif
+
+int
+__xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+#if XSTAT_IS_XSTAT64
+  return __xstat_conv (vers, kbuf, ubuf);
+#else
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      {
+	struct stat64 *buf = ubuf;
+
+	/* Convert to current kernel version of `struct stat64'.  */
+	buf->st_dev = kbuf->st_dev;
+#ifdef _HAVE_STAT64___PAD1
+	buf->__pad1 = 0;
+#endif
+	buf->st_ino = kbuf->st_ino;
+#ifdef _HAVE_STAT64___ST_INO
+	buf->__st_ino = kbuf->st_ino;
+#endif
+	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;
+#ifdef _HAVE_STAT64___PAD2
+	buf->__pad2 = 0;
+#endif
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+#ifdef _HAVE_STAT64_NSEC
+	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
+	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
+	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
+	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
+	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
+	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
+#else
+	buf->st_atime = kbuf->st_atime;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_ctime = kbuf->st_ctime;
+#endif
+#ifdef _HAVE_STAT64___UNUSED1
+	buf->__glibc_reserved1 = 0;
+#endif
+#ifdef _HAVE_STAT64___UNUSED2
+	buf->__glibc_reserved2 = 0;
+#endif
+#ifdef _HAVE_STAT64___UNUSED3
+	buf->__glibc_reserved3 = 0;
+#endif
+#ifdef _HAVE_STAT64___UNUSED4
+	buf->__glibc_reserved4 = 0;
+#endif
+#ifdef _HAVE_STAT64___UNUSED5
+	buf->__glibc_reserved5 = 0;
+#endif
+      }
+      break;
+
+      /* If struct stat64 is different from struct stat then
+	 _STAT_VER_KERNEL does not make sense.  */
+    case _STAT_VER_KERNEL:
+    default:
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+    }
+
+  return 0;
+#endif
+}
+
+int
+__xstat32_conv (int vers, struct stat64 *kbuf, struct stat *buf)
+{
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      {
+	/* Convert current kernel version of `struct stat64' to
+           `struct stat'.  */
+	buf->st_dev = kbuf->st_dev;
+#ifdef _HAVE_STAT___PAD1
+	buf->__pad1 = 0;
+#endif
+#ifdef _HAVE_STAT64___ST_INO
+# if !__ASSUME_ST_INO_64_BIT
+	if (kbuf->st_ino == 0)
+	  buf->st_ino = kbuf->__st_ino;
+	else
+# endif
+	  {
+	    buf->st_ino = kbuf->st_ino;
+	    if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
+		&& buf->st_ino != kbuf->st_ino)
+	      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+	  }
+#else
+	buf->st_ino = kbuf->st_ino;
+	if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
+	    && buf->st_ino != kbuf->st_ino)
+	  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+#endif
+	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;
+#ifdef _HAVE_STAT___PAD2
+	buf->__pad2 = 0;
+#endif
+	buf->st_size = kbuf->st_size;
+	/* Check for overflow.  */
+	if (sizeof (buf->st_size) != sizeof (kbuf->st_size)
+	    && buf->st_size != kbuf->st_size)
+	  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	/* Check for overflow.  */
+	if (sizeof (buf->st_blocks) != sizeof (kbuf->st_blocks)
+	    && buf->st_blocks != kbuf->st_blocks)
+	  return INLINE_SYSCALL_ERROR_RETURN_VALUE (EOVERFLOW);
+#ifdef _HAVE_STAT_NSEC
+	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
+	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
+	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
+	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
+	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
+	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
+#else
+	buf->st_atime = kbuf->st_atime;
+	buf->st_mtime = kbuf->st_mtime;
+	buf->st_ctime = kbuf->st_ctime;
+#endif
+
+#ifdef _HAVE_STAT___UNUSED1
+	buf->__glibc_reserved1 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED2
+	buf->__glibc_reserved2 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED3
+	buf->__glibc_reserved3 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED4
+	buf->__glibc_reserved4 = 0;
+#endif
+#ifdef _HAVE_STAT___UNUSED5
+	buf->__glibc_reserved5 = 0;
+#endif
+      }
+      break;
+
+      /* If struct stat64 is different from struct stat then
+	 _STAT_VER_KERNEL does not make sense.  */
+    case _STAT_VER_KERNEL:
+    default:
+      return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
+    }
+
+  return 0;
+}
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.h b/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.h
new file mode 100644
index 0000000000..b9e39ab71f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/xstatconv.h
@@ -0,0 +1,26 @@
+/* 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/>.  */
+
+#ifndef STAT_IS_KERNEL_STAT
+extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+  attribute_hidden;
+extern int __xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+  attribute_hidden;
+#endif
+extern int __xstat32_conv (int vers, struct stat64 *kbuf, struct stat *buf)
+  attribute_hidden;
diff --git a/REORG.TODO/sysdeps/unix/x86_64/sysdep.S b/REORG.TODO/sysdeps/unix/x86_64/sysdep.S
new file mode 100644
index 0000000000..007b2e3761
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/x86_64/sysdep.S
@@ -0,0 +1,50 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+#include <tls.h>
+
+#if IS_IN (rtld)
+# include <dl-sysdep.h>		/* Defines RTLD_PRIVATE_ERRNO.  */
+#endif
+
+.globl C_SYMBOL_NAME(errno)
+.globl syscall_error
+
+__syscall_error:
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+	/* We translate the system's EWOULDBLOCK error into EAGAIN.
+	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
+	   EWOULDBLOCK_sys is the original number.  */
+	cmp $EWOULDBLOCK_sys, %RAX_LP /* Is it the old EWOULDBLOCK?  */
+	jne notb		/* Branch if not.  */
+	movl $EAGAIN, %eax	/* Yes; translate it to EAGAIN.  */
+notb:
+#endif
+#ifdef PIC
+	movq C_SYMBOL_NAME(errno@GOTTPOFF)(%rip), %rcx
+	movl %eax, %fs:0(%rcx)
+#else
+	movl %eax, %fs:C_SYMBOL_NAME(errno@TPOFF)
+#endif
+	or $-1, %RAX_LP
+	ret
+
+#undef	__syscall_error
+END (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/x86_64/sysdep.h b/REORG.TODO/sysdeps/unix/x86_64/sysdep.h
new file mode 100644
index 0000000000..c89f791c95
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/x86_64/sysdep.h
@@ -0,0 +1,34 @@
+/* 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 <sysdeps/unix/sysdep.h>
+#include <sysdeps/x86_64/sysdep.h>
+
+#ifdef	__ASSEMBLER__
+
+/* This is defined as a separate macro so that other sysdep.h files
+   can include this one and then redefine DO_CALL.  */
+
+#define DO_CALL(syscall_name, args)					      \
+  lea SYS_ify (syscall_name), %rax;					      \
+  syscall
+
+#define	r0		%rax	/* Normal return-value register.  */
+#define	r1		%rbx	/* Secondary return-value register.  */
+#define MOVE(x,y)	movq x, y
+
+#endif	/* __ASSEMBLER__ */